Hadoop完全分布式环境搭建

软件:

           VMware Workstation 12 Pro

           SecureCRT 8.0

           CentOS-7-x86_64-DVD-1511.iso

            jdk1.8.0_131

            hadoop-2.8.0.tar.gz

实验环境:

             master  192.168.0.200

             slave1  192.168.0.201

      slave2  192.168.0.202

              slave3  192.168.0.203

(一)      操作系统准备

1、    添加Hadoop用户,设置密码

 

2、    为hadoop用户添加权限: vim /etc/sudoers

 

3、          配置静态 IP,DNS

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

 

4、          连接方式:仅主机模式,VPN共享网络

 

5、          关闭防火墙:systemctl stop firewalld.service

 

6、    修改主机名 : vim /etc/ hostname

 

7、    修改hosts文件:vim /etc/hosts

 

8、    关闭防火墙:systemctl stop firewalld.service

 

9、    测试外网是否连通

 

10、  测试master是否连通

 

 

(二)   安装Java jdk

1、使用rz上传下载好的jdk安装包:jdk-8u131-linux-x64.tar.gz

 

2、创建文件夹,移动到此目录

mkdir /usr/myfile

mv jdk-8u131-linux-x64.tar.gz /usr/myfile

 

3、重命名: mv jdk1.8.0_131 jdk

 

4、配置环境变量:vim /etc/profile

 

5、重启/etc/profile 生效

[root@localhost myfile]# source /etc/profile

6、测试jdk是否安装成功

[root@localhost myfile]# java –version

[root@localhost myfile]# javac

 

   7、克隆三份系统,修改相应IP,主机名等

 

(三)   安装SSH

1、    先检查系统是否安装了ssh

[root@#localhost ~]# rpm -qa | grep ssh

 

2、检查ssh服务是否开启

[root@#localhost ~]# systemctl status  sshd.service

  

3、切换到Hadoop用户在各个节点执行执行ssh-keygen –t rsa

(以master节点为例,其他同理)                 

4、每个节点修改设置"/etc/ssh/sshd_config"的内容。使无密码登录有效

[root@master ~]# vim /etc/ssh/sshd_config

  

5、生成的密钥对id_rsa、id_rsa.pub保存在/home/hadoop/.ssh目录下

    

6、在slave1、slave2、slave3分别复制各自公钥,并使用scp命令远程传给master节点

 

 

7、Master节点上已经有传输过来的三个公钥文件

 

8、复制master节点的公钥文件为authorized_keys,并将传输的三个节点的公钥文件内容追加到authorized_keys中

 

9、将包含四个节点的公钥信息的authorized_keys传给其余三个slave节点,Salve1:(其他两个同理)

    

10、查看authorized_keys文件

 

11、Master节点验证免密码登录,ssh slave1、2、3登录slave1、2、3

 

 

(四)   安装hadoop

1、下载hadoop-2.8.0.tar.gz到/usr/myfile下,解压,并重命名为hadoop

 

 

 

2、配置hadoop-env.sh,yarn-env.sh

vim hadoop-env.sh,vim yarn-env.sh

      

3、配置core-site.xml

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

     

4、配置hdfs-site.xml

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

 

5、修改mapred-site.xml.template名为mapred-site.xml,并配置

   

 

6、配置yarn-site.xml

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

  

7、配置slaves文件

[root@master hadoop]# vim slaves

 

8、在/etc/profile中加入hadoop的环境变量,重启/etc/profile

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

[root@master ~]# source /etc/profile

 

9、修改slave1、2、3/usr/myfile权限为777

将配置好的hadoop文件传到其他三个slave节点,并将传过去的hadoop文件属主属组设置为hadoop:hadoop

三个slave同时添加环境变量,并重启/etc/profile

(source /etc/profile)

[root@slave1 ~]# chmod 777 /usr/myfile

[root@slave2 ~]# chmod 777 /usr/myfile

[root@slave3 ~]# chmod 777 /usr/myfile

[root@master myfile]# scp -r hadoop slave1:/usr/myfile

[root@master myfile]# scp -r hadoop slave2:/usr/myfile

[root@master myfile]# scp -r hadoop slave3:/usr/myfile

 

(五)  启动hadoop

1、在master节点上创建文件夹

[hadoop@master ~]# mkdir /home/hadoop/dfs

[hadoop @master ~]# mkdir /home/hadoop/dfs/data

[hadoop @master ~]# mkdir /home/hadoop/dfs/name

[hadoop @master ~]# mkdir /usr/myfile/hadoop/logs

  

2、在master节点格式化HDFS

[root@master ~]# hadoop namenode -format

 

 

3、启动hadoop

[hadoop@master sbin]$ ./start-all.sh

 

4、查看master主节点的进程

[hadoop@master hadoop]$ jps

  

5、查看各个slave节点的进程

[hadoop@slave1 hadoop]$ jps

[hadoop@slave2 hadoop]$ jps

[hadoop@slave3 hadoop]$ jps

 

 

 

6、关闭hadoop

[hadoop@master sbin]$ ./stop-all.sh

 

7、通过命令:hadoop dfsadmin -report可以查看节点情况,3个datanode

 

          

 

(六)  WordCount实例运行

1、在HDFS上创建文件夹:

[hadoop@master hadoop]$ bin/hadoop fs -mkdir -p /user/hadoop/input

 

2、     创建input/input_test.txt文件添加统计单词内容

 

 

把本地文件夹的内容传到HDFS中

[hadoop@master hadoop]$ bin/hadoop fs -put /usr/myfile/hadoop/input/input_test.txt input

 

3、     运行WordCount实例

[hadoop@master hadoop]$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.0-sources.jar org.apache.hadoop.examples.WordCount input output

 

 

4、     查看输入文件

[hadoop@master hadoop]$ sudo bin/hadoop fs -cat /user/hadoop/input/input_test.txt

 

5、     map-reduce后的输出

[hadoop@master hadoop]$ sudo bin/hadoop fs -cat /user/hadoop/output/part-r-00000

 

6、     在http:// 192.168.0.200:50070/dfshealth.html

查看hadoop监控状态

Namenode information:

 

Datanode Information:

 

 

Startup Progress:

 

 

 

8、在http:// 192.168.0.200:8088/8查看hadoop集群状态

 

posted @ 2017-08-01 22:32  西瓜撞地球  Views(128)  Comments(0)    收藏  举报