完全分布式Hadoop集群搭建(Ubuntu16.04+hadoop2.6.5)

准备工作:


三台虚拟机,其中一台主机,两台节点;

需要提前下载好的文件:

ubuntu-16.04.4-desktop-amd64.iso.

jdk-8u92-linux-x64.tar.gz.

hadoop-2.6.5.tar.gz.

完全分布式Hadoop集群安装


Step1 安装3台Linux虚拟机。


1.在Vmware workstation软件里面,新建虚拟机,将一台ubuntu-16.04.4安装好,并克隆两次,得到三台虚拟机。

2.启动三台虚拟机,并进行重命名。进入系统后,打开命令行,输入命令:

进行修改、保存,然后重启系统。最后修改了hostname的结果如下图:

Step2 修改etc/hosts文件,使三台虚拟机之间能够ping通。


1.输入ifconfig命令,依次查看三台虚拟机的IP地址:

2.依次在三台虚拟机的命令行中输入sudo vim /etc/hosts,修改内容如图所示:

3.完成修改后,用下面的命令测试三台虚拟机是否可以相互ping通。

Step3 建立hadoop账号


1.为hadoop集群专门设置一个用户组及用户,命令如下:

2.添加一个属于hadoop用户组的had_user用户,命令如下:

3.设置用户had_user的登录密码,命令如下:

4.切换到had_user用户,之后的操作都是在该用户下进行,命令如下:

上述设置需要在3台虚拟机里面都同样进行。

Step4 SSH无密码验证配置


1.安装SSH,命令如下:

2. 生成公钥、私钥,命令如下:

3.提示输入密钥保存的路径,直接按enter键使用默认值即可,如下图:

4.把id_rsa.pub追加到授权的key里面去,命令如下:

5.测试是否可以用ssh无密码登录本地localhost,命令如下:

6. 在另外两个节点虚拟机重复以上步骤。

7.ssh无密码登录两个子节点,主节点为:master,子节点为:slave1,slave2。分别在两个子节点的命令终端执行下列命令:

执行完上述命令后,回到主节点master,输入如下命令测试能否无密码登录:

可以看到,未提示输入密码,说明已经成功了。对节点2:slave2重复执行以上步骤并测试,成功后,执行下一步。

Step5 jdk、hadoop安装


1.在had_user用户的根目录下创建文件夹local,jdk和hadoop都安装在这个文件夹下,命令如下:

2.将下载好的jdk和hadoop安装包复制到local文件夹下并解压,命令如下:

完成后,查看local目录,如图所示:

3.环境变量配置。打开并编辑配置文件,命令如下:

接下来,执行命令source ~/.bashrc是配置生效。

通过查看java和hadoop的版本,来检查配置是否成功,命令如下:

4.在另外两个节点虚拟机重复以上步骤。

Step6 Hadoop的环境配置


在/home/had_user/local/hadoop-2.6.5/etc/hadoop文件夹中,有5个配置文件:slaves,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml。

1.执行sudo vim slaves,添加三台主机的主机名:

2.修改core-site.xml:

3.修改hdfs-site.xml:

4.修改mapred-site.xml:

如果文件夹下没有这个文件,需要先执行cp mapred-site.xml.template mapred-site.xml复制一份,然后再执行sudo vim mapred-site.xml命令。

5.修改yarn-site.xml:

以上操作只在主节点master上执行,然后格式化namenode,只格式化一次。命令如下:

Step7 子节点配置


打开两个子节点虚拟机,将第5、6步配置的环境复制到子节点中,在主节点master虚拟机上依次执行如下命令:

Step8 启动hadoop集群


进入主节点master目录~/local/hadoop-2.6.5/sbin下,执行start-all.sh,命令如下:

进入三台虚拟机中,输入jps命令,查看是否启动成功,如图所示:

Step9 浏览器可视化管理Hadoop集群


在主节点master的浏览器中分别输入192.168.211.133:8088和192.168.211.133:50070,IP地址为主节点虚拟机master的IP地址。如图所示:

如果两个界面都能正常显示节点信息,说明Hadoop的分布式集群环境已经基本安装好了。

Step10 测试Hadoop集群


为了确保集群能够使用,接下来对其进行测试。

1.向hadoop集群提交第一MapReduce任务(wordcount)

在主节点master上,进入hadoop目录(~/local/hadoop-2.6.5),依次执行下列命令:

结果如图所示:

2.向Hadoop提交单词统计任务,命令如下:

查看结果,如图所示:

如果得到和上面类似的结果,就说明Hadoop分布式集群环境搭建成功。

Step11 关闭Hadoop集群


进入~/local/hadoop-2.6.5/sbin目录,命令如下:

 常见问题:


1. 注意执行命令时,选择正确的用户和路径。

2. 对常见的Ubuntu系统的命令要比较熟悉。

3. 如果有条件的话,可以在实体机上进行搭建集群环境,虚拟机里面反应较慢。

4. 如果当前步骤出错,应该仔细检查之前的步骤有没有配置错误,再继续完成当前步骤。

参考资料:

1. Hadoop完全分布式集群环境搭建及测试. https://blog.csdn.net/lee20093905/article/details/78860400.

2. ubuntu拷贝文件夹到另外一个文件夹下,如何写shell命令. https://blog.csdn.net/u011089523/article/details/78408237.

3. Working With Hadoop: localhost: Error: JAVA_HOME is not set. https://stackoverflow.com/questions/14325594/working-with-hadoop-localhost-error-java-home-is-not-set?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa.
--------------------- 
作者:数据科学爱好者 
来源:CSDN 
原文:https://blog.csdn.net/u014636511/article/details/80171002 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/JHC_binge/article/details/84893688