Hadoop初体验之分布式安装

本文详细介绍如何在三节点集群上安装配置Hadoop,包括IP地址设置、SSH无密码登录配置、JDK与Hadoop环境变量设置及核心配置文件修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

〇、集群结构及IP地址

安装前准备

此次安装是分布式安装,使用三节点(一个主节点,两个从节点)。

操作系统为:Ubuntu 16.04LTS。

0)修改每台机器的IP地址

#修改配置文件interfaces
sudo vim /etc/network/interfaces
#为enp2s0网卡添加以下内容,具体名称看实际使用的网卡名
auto enp2s0
iface enp2s0 inet static #IP获取为静态设置
address    192.168.2.10    #根据配置的机器填写IP
netmask    255.255.255.0    #子网掩码
broadcast    192.168.2.255
gateway    192.168.2.1    #集群路由器地址
dns-nameservers    114.114.114.114    #DNS服务器地址


1)为每台机器安装vim编辑器,默认自带为vi编辑器

sudo apt install vim

2)修改主机名

#1.分别在三台机器上修改hostname,将主节点修改为master,两个从节点分别为slave1,slave2

sudo vim /etc/hostname

#2.分别在三台机器上修改hosts文件

#将hosts文件中已有的 127.0.0.1    localhost 行删掉(切记),下面IPV6的东西不用动
#增加内容
192.168.2.10    master
192.168.2.11    slave1
192.168.2.12    slave2

修改hostname

修改hosts

3)更改系统时区

在三台机器上分别操作

#更改系统时区,根据提示选择AsiaChinaBeijing Timeyes
sudo tzseletct
#将Asia/Shanghai/shell scripts复制到/etc/localtime中
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

以上所有的配置完成之后重启三台机器!!!

4)集群之间ssh无秘钥登录

1、在三台机器上分别安装ssh server

#在三台机器上分别安装ssh
sudo apt install ssh
sudo apt install openssh-server
sudo apt install rsync
#在master机器上执行,生成公钥
ssh-keygen -t rsa
#将公钥发送到slave1,slave2主机
ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2
#验证,无需使用密码即可ssh登录,否则说明配置不成功
ssh slave1

一、相关文件下载

1.JDK下载以及环境变量设置

1)JDK下载:此次安装使用的JDK是1.8.0_144版本的(根据操作系统选择合适的安装包),下载地址。

2)环境变量设置:将下载好的JDK解压到/opt文件夹下,接下来修改环境变量。

#修改profile配置文件
sudo vim /etc/profile
#增加以下内容

export JAVA_HOME=/opt/jdk1.8.0_144
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#JAVA_HOME以JDK使用版本号以及存放具体位置为准

3)验证JDK是否配置成功

java -version

2.Hadoop包下载

1)Hadoop安装包下载:点击此处,本次安装的版本为2.7.2

2)将下载好的压缩包解压到/opt目录下

3)配置Hadoop环境变量:

#修改profile文件
sudo vim /etc/profile
#增加以下内容
export HADOOP_HOME="/opt/hadoop-2.7.2"    #以实际存放目录及版本号为准
export PATH="$HADOOP_HOME/bin:$PATH"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

3.两台slave机器JDK的配置

1.将JDK与Hadoop发送至另外两台机器

#将jdk文件夹下的文件复制到slave1的/opt目录下
sudo scp -r /opt/jdk1.8.0_144/ hadoop@slave1:/opt
sudo scp -r /opt/jdk1.8.0_144/ hadoop@slave2:/opt

2.修改slave机器的profile文件,步骤同上。

二、Hadoop配置文件修改

1.Hadoop中的配置文件

Hadoop要修改的配置文件
文件名称格式描述
hadoop-env.shBash脚本记录Hadoop运行所需的环境变量
core-site.xmlXMLHDFS与MapReduce常用的I/O设置等
hdfs-site.xmlXMLHadoop守护进程配置项,包括NameNode、SecondaryNameNode、DataNode等
mapred-site.xmlXMLMapReduce的守护进程,包括JobTracker与TaskTracker
slaves文本DataNode的主机名(每行填一个)
yarn-site.xmlXML配置项释义

2.具体修改方法

需要修改的配置文件在/opt/hadoop-2.7.2/etc/hadoop/路径下

1)hadoop-env.sh

vim ./hadoop-env.sh
#增加以下内容
export JAVA_HOME=/opt/jdk1.8.0_144

2)配置slave文件

vim ./slaves
#增加以下内容
slave1
slave2

3)配置core-site.xml文件

vim ./core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
        <!-- Size of read/write buffer used in SequenceFiles. -->
        <property>
         <name>io.file.buffer.size</name>
         <value>131072</value>
       </property>
        <!-- 指定hadoop临时目录,自行创建 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/hadoop/tmp</value>
        </property>
</configuration>

4)配置hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>master:50090</value>
    </property>
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/home/hadoop/hadoop/hdfs/name</value>
    </property>
    <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/home/hadoop/hadoop/hdfs/data</value>
    </property>
</configuration>

5)yarn-site.xml

<?xml version="1.0"?>

<configuration>

<!-- Site specific YARN configuration properties -->
     <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
     </property>
     <property>
           <name>yarn.resourcemanager.address</name>
           <value>master:8032</value>
     </property>
     <property>
          <name>yarn.resourcemanager.scheduler.address</name>
          <value>master:8030</value>
      </property>
     <property>
         <name>yarn.resourcemanager.resource-tracker.address</name>
         <value>master:8031</value>
     </property>
     <property>
         <name>yarn.resourcemanager.admin.address</name>
         <value>master:8033</value>
     </property>
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>master:8088</value>
     </property>
</configuration>

6)配置mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>master:10020</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>master:19888</value>
  </property>
</configuration>

3.将/opt/hadoop-2.7.2/etc/hadoop/路径下的配置文件发送至slave机器

sudo scp -r /opt/hadoop-2.7.2/etc/hadoop/ hadoop@slave1:/opt/hadoop-2.7.2/etc/hadoop/
sudo scp -r /opt/hadoop-2.7.2/etc/hadoop/ hadoop@slave2:/opt/hadoop-2.7.2/etc/hadoop/

4.验证安装

1)格式化节点

hdfs namenode -format

2)启动集群

#切换工作目录为/opt/hadoop-2.7.2/sbin
./start-all.sh

3)查看运行进程

#在master与slave机器上分别执行查看
jps

使用浏览器打开http://master:50070/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值