完全分布式的hadoop集群搭建-hadoop2.7.3

搭建hadoop完全分布式集群:要求安装JDK。


环境:

VM搭建的三个虚拟机,均采用centos-6.8-64.iso

机器IP与名称对应关系如下:

192.168.152.192       master

192.168.152.193       slave1

192.168.152.194       slave2


JDK请自行安装,SSH无密码互相访问可以参考我的文章SSH免密码互相访问,谢谢。

版本:hadoop-2.7.3


1.    配置三台机器的hosts

在master机器上编辑/etc/hosts:

[root@master]# vim /etc/hosts

删掉localhost所在行,追加以下内容:

192.168.152.192       master

192.168.152.193       slave1

192.168.152.194       slave2

退出保存  !wq

[root@master]# scp /etc/hosts slave1:/etc        #替换slave1的hosts文件

[root@master]# scp /etc/hosts slave2:/etc        #替换slave2的hosts文件


2.    解压hadoop-2.7.3.tar.gz

[root@master]# mkdir /home/hadoop

[root@master]# tar zxvf hadoop-2.7.3.tar.gz -C /home/hadoop

会出现一个hadoop-2.7.3文件夹,进入该文件夹

[root@master]# cd hadoop-2.7.3

创建必要目录

[root@master]# mkdir tmp

[root@master]# mkdir logs

[root@master]# mkdir hdfs

[root@master]# mkdir hdfs/data

[root@master]# mkdir hdfs/name


3.    修改配置文件里的JAVA_HOME

3.1  hadoop-env.sh

[root@master]# vim etc/hadoop/hadoop-env.sh

找到 export JAVA_HOME=${} 行,修改如下:

export JAVA_HOME=/usr/lib/java/jdk1.7.0_79

3.2  yarn-env.sh

[root@master]# vim etc/hadoop/yarn-env.sh

找到 export JAVA_HOME=${} 行,修改如下:

export JAVA_HOME=/usr/lib/java/jdk1.7.0_79


4.    修改slaves

[root@master]# vim etc/hadoop/slaves

删除localhost

添加以下几行

slave1

slave2


5.    修改core-site.xml

[root@master]# vim ect/hadoop/core-site.xml

找到<configuration></configuration>标签对,添加以下内容:

        <property>
                 <name>fs.default.name</name>
                 <value>hdfs://master:9000</value>
        </property>
        <property>
                 <name>hadoop.tmp.dir</name>
                 <value>file:/home/hadoop/hadoop-2.7.3/tmp</value>
        </property>


6.    修改hdfs-site.xml

[root@master]# vim etc/hadoop/hdfs-site.xml

找到<configuration></configuration>标签对,添加以下内容:

        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop/hadoop-2.7.3/hdfs/data</value>
                <final>true</final>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop/hadoop-2.7.3/hdfs/name</value>
                <final>true</final>
        </property>


7.    修改mapred-site.xml

注意./etc/hadoop目录下没有mapred-site.xml,只有mapred-site.xml.template,所以需要复制一份:

[root@master]# cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

[root@master]# vim etc/hadoop/mapred-site.xml

找到<configuration></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.webapp.address</name>
                <value>master:19888</value>
        </property>


8.    修改yarn-site.xml

[root@master]# vim etc/hadoop/yarn-site.xml

找到<configuration></configuration>标签对,添加以下内容:

        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.mapred.ShuffleHandler</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>


9.    在slave1和slave2上分别创建hadoop目录

[root@slave1]# mkdir /home/hadoop

[root@slave2]#mkdir /home/hadoop


10.    回到master,远程复制修改好的hadoop-2.7.3文件夹到slave1和slave2上:

[root@master]# scp -r /home/hadoop/hadoop-2.7.3 slave1:/home/hadoop

[root@master]# scp -r /home/hadoop/hadoop-2.7.3 slave2:/home/hadoop


11.    配置hadoop环境变量

[root@master]# vim /etc/profile

追加如下内容:

# set hadoop environment

HADOOP_HOME=/home/hadoop/hadoop-2.7.3

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

HADOOP_LOG_DIR=/home/hadoop/hadoop-2.7.3/logs

YARN_LOG_DIR=$HADOOP_LOG_DIR

export HADOOP_HOME PATH HADOOP_LOG_DIR YARN_LOG_DIR

退出保存   :wq

[root@master]# source /etc/profile

把/etc/profile文件的末尾6行关于hadoop环境变量内容复制到slave1和slave2上:

[root@master]# tail -6 /etc/profile >> /home/tmp

[root@master]# scp /home/tmp slave1:/home

[root@master]# scp /home/tmp slave2:/home

[root@master]# rm -rf /home/tmp

登陆到slave1,把/home/tmp内容追加到/etc/profile里

[root@slave1]# cat /home/tmp >> /etc/profile

[root@slave1]# source /etc/profile

[root@slave1]# rm -rf /home/tmp

登陆到slave2,把/home/tmp内容追加到/etc/profile里

[root@slave2]# cat /home/tmp >> /etc/profile

[root@slave2]# source /etc/profile

[root@slave2]# rm -rf /home/tmp


12.    在master上执行格式化

格式化之前最好关闭所有机器的防火墙:service iptables stop

[root@master]# cd bin

[root@master]# ./hdfs namenode -format


13.    启动hadoop

[root@master]#cd ../sbin

[root@master]# ./start-all.sh


14.    验证hadoop启动情况

14.1  在浏览器里输入http://192.168.145.133:50070

14.2  在master机器里输入jps命令有如下进程则表示成功

[root@master]#jps

2309 NameNode

2444 SecondaryNameNode

1892 ResourceManager

2235 jps

14.3  在slave机器里输入jps命令有如下进程则表示成功

[root@slave1]#jps

13324 DataNode

13892 NodeManager

13235 jps


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值