这是我参与更文挑战的第11天,活动详情查看:更文挑战
上一篇:Hadoop伪分布模式之案例实操,今天小编结合案例操作给大家讲一下Hadoop的完全分布式运行模式。其实,完全分布模式(集群模式)才是开发重点,也是走向CTO的必备技能。在实际工作中采用的就是完全分布模式,小编将在本文中仔细描述搭建过程,觉得写得不错,请点赞转发、转载收藏。
前面小编给大家讲解过Hadoop伪分布模式搭建,伪分布模式是在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。今天小编要讲解的是完全分布式运行模式,完全分布模式通常被用于生产环境,这里我们使用N台主机组成一个Hadoop集群,Hadoop守护进程运行在每台主机之上。这里会存在Namenode运行的主机,Datanode运行的主机,以及task tracker运行的主机。在分布式环境下,主节点和从节点会分开的。完全分布式模式搭建过程的分析见下图所示。
上一篇我们讲解了伪分布式模式搭建过程,本文小编将讲解完全分布式运行模式搭建,这节小编结合实操来详细介绍整个伪分布模式的搭建过程,大致可以分为以下8个步骤:
注意:拷贝过来的/opt/module目录,别忘了在hadoop102、hadoop103、hadoop104上修改所有文件的,所有者和所有者组。sudo chown xuefa:xuefa -R /opt/module
注意:NameNode和SecondaryNameNode尽量保持1:1,这个要求它们放在不同的服务器上,尽量避免在同一台服务器上。
(1)核心配置文件:vim core-site.xml
配置hadoop-env.sh:vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置hdfs-site.xml:vim hdfs-site.xml
配置yarn-env.sh:vim yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置yarn-site.xml:vim yarn-site.xml
配置mapred-env.sh:vim mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
cp mapred-site.xml.templatemapred-site.xml
(1)如果集群是第一次启动,需要格式化****NameNode
(3)在hadoop102、hadoop103以及hadoop104上分别启动DataNode
http://192.168.220.132:50070/explorer.html#/
(4)思考:每次都一个一个节点启动,如果节点数增加到1000个怎么办?
早上来了开始一个一个节点启动,到晚上下班刚好完成,下班?
为了解决上面的(4)思考题,我们就要SSH无密码登录配置
(2)生成公钥和私钥:ssh-keygen -t rsa
5.3 .ssh文件夹下(~/.ssh)的文件功能解释
/opt/module/hadoop-2.7.2/etc/hadoop/slaves
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
(1)如果集群是第一次启动,需要格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
hadoop103和hadoop104用同样的方法停止启动
(2)启动HDFS:sbin/start-dfs.sh
(3)启动YARN:sbin/start-yarn.sh
注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。
(4)Web端查看SecondaryNameNode
(a)浏览器中输入:http://hadoop104:50090/status.html
(b)查看SecondaryNameNode信息,如图所示。
Hadoop完全分布式模式就讲解完毕,下一节将补充讲解:集群时间同步,请持续关注。
小编后续将继续更新大数据等内容,请保持关注。更多精彩内容,请关注公众号:小韩学长带你学