一般初学Hadoop我们都是把全部的守护进程安装在一台集群上,其他几台集群就会很闲,导致资源分配不全!!! 我的hadoop版本为2.7.1,配置为3台集群
我们可以更改一下配置文件来达到分配的目的
首先配置hdfs-site.xml
我设置的是hadoop102为SecondaryNameNode的启动节点,建议先按照我的来,后面你们可以自己改
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop102:50090</value>
</property>
这样hdfs就设置好了,下面我们来设置yarn
配置yarn-site.xml
设置ResourceManager在hadoop101上面启动
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
这样就设置好了
我们后面的话就需要把设置的tmp 和logs 文件夹里面的都删了,三台都需要
之后就是格式化和启动了
由于我们设置的hdfs主节点在hadoop上面启动,所以在hadoop上面启动hdfs
#start-dfs.sh
注意不要使用start-all.sh,会报错
查看节点,我们看到Hadoop100上面启动的SecondaryNameNode在Hadoop02上面启动了
接着我们启动yarn,注意我们需要在Hadoop101上面启动yarn
#start-yarn.sh
查看进程
已经启动成功了
特别注意的是
这样启动的话需要设置ssh免密登录,
每台集群都可以登录其他的集群
每台集群都可以登录其他的集群
每台集群都可以登录其他的集群
要不就会出现启动yarn卡死的情况