加入MapReduce后完全分布式集群搭建
节点规划表
1. hadoop03和hadoop04相互免秘钥(即两个resourcemanager主备免秘钥)
自我检测一下(不需要输密码证明自我免秘钥成功)
将hadoop03的公钥远程传递给hadoop04
到hadoop04查看
将hadoop03的公钥追加到日志文件
到hadoop03检测是否成功对hadoop04免秘钥
接下来让hadoop04对hadoop03免秘钥
自我检验:
将hadoop04的公钥远程传递给hadoop03
到hadoop03查看
将hadoop04公钥追加到日志文件
到hadoop04检测是否成功对hadoop03免秘钥
2.配置信息(本来hadoop01不需要配,但是为了快,就都配了,反正不影响)
mapred-site.xml
<configuration>
<!-- 指定mr框架为yarn方式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
先拷贝一份mapred-site.xml
配置mapred-site.xml
配置yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!-- 开启RM高可用 -->
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<!-- 指定RM的名字 -->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 分别指定RM的地址 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>hadoop03</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop04</value>
</property>
<!-- 指定zk集群地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>hadoop02:2181,hadoop03:2181,hadoop04:2181</value>
</property>
远程定向这两个文件到hadoop02-4
3.配置完后就可以启动整个集群了(下面是最快的启动方式)
(1)zkServer.sh start(一次性全部执行)
(2)hadoop01:start-all.sh
(3)hadoop03、hadoop04
yarn-daemon.sh start resourcemanager
4. 检测启动的进程
hadoop01(NameNode、ZKFC、JournalNode、Java都启动)
hadoop02(NameNode、ZKFC、JournalNode、DataNode、NodeManager、ZooKeeper、Java都启动)
hadoop03(ResourceManager、JournalNode、DataNode、NodeManager、ZooKeeper、Java都启动)
hadoop04(ResourceManager、DataNode、NodeManager、ZooKeeper、Java都启动)
5.在web浏览
hadoop03:8088
再启动hadoop04:
发现又跳到了hadoop03
至此我们整个hadoop集群搭建完成。