我有以下问题:这些图片描述了我在Hadoop集群上的资源管理器,在节点"节点HTTP地址"中有两个节点这些地址
- 本地主机:8042
- 本地主机:8042
取而代之的是,我想要托管节点的计算机的真实 IP 地址。我的集群配置是
- 第一台配备HadoopMaster和HadoopSlave的机器1
- 第二台配备HadoopSlave 2的机器
我在第一台机器上的/etc/host 配置:
127.0.0.1 localhost vlchaosfile001 vlchaosfil001
192.168.143.91 HadoopMaster HadoopSlave2
192.168.143.92 HadoopSlave1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
我在第二台机器上的/etc/host 配置:
127.0.0.1 localhost vlchaosfil002
192.168.143.91 HadoopMaster HadoopSlave2
192.168.143.92 HadoopSlave1
#following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
这是我的纱线网站.xml:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>HadoopMaster:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>HadoopMaster:8035</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>HadoopMaster:8050</value>
</property>
首先:在使用Hadoop时禁用ipv6。
您没有发布您的 Yarn 配置,所以我此时最好的猜测是您已将 yarn.resourcemanager.xxx 设置设置为"localhost"
好吧,更改Hadoop集群中的主机名是一项非常艰巨且冒险的工作。考虑从头开始进行新安装,您知道它;)
还强烈建议使用 FQDN 而不是短主机名。这是执行此类更改的好时机。
总的来说,你必须检查/更改所有配置文件,但是如果你想拥有一个功能性的Ambari控制台,你还必须更新ambari db元数据。
这是一个一般过程:
- 停止群集。
- 导出 Ambari 的 MySQL 数据库。
- 更新MySQL导出表中的主机名(host_name)ambari.hosts,ambari.hoststate,ambari。ClusterHostMapping, ambari.host_role_command and ambari.hostcomponentdesiredstate
- 更新配置单元。DBS 用于适当的DB_LOCATION_URI和蜂巢。新主机名的 SDS。
- 重新导入数据库。
- 向 MySQL 支持的 Hive/元存储中的新主机名授予数据库访问权限
- 编辑 Ambari 代理 ini 文件和更新主机名的 hue 配置文件。
- 检查/更改所有配置文件,如hdfs-site,yarn-site,mapred-site等,以及不太明显的配置文件,如ambari代理,zookeeper等...
- 启动然后停止群集以写入所有配置并查看元数据。
- 交叉手指,做最后的开始。