这个问题看起来很明显,但我已经面对过很多次了,因为hadoop集群上的hosts文件配置不好。
有人能描述一下如何为hadoop和类似的环境(比如cloudera)设置hosts文件和其他相关的网络配置吗。
特别是当我必须同时添加主机名和fqdn时
更新
这里是主机名cdh4hdm中主机文件之一,具有hadoop主机的角色
127.0.0.1 cdh4hdm localhost
#127.0.1.1 cdh4hdm
# The following lines are desirable for IPv6 capable hosts
172.26.43.40 cdh4hdm.imp.co.in kdc1
172.26.43.41 cdh4hbm.imp.co.in
172.26.43.42 cdh4s1.imp.co.in
172.26.43.43 cdh4s2.imp.co.in
172.26.43.44 cdh4s3.imp.co.in
172.26.43.45 cdh4s4.imp.co.in
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
请参阅所附图片
在集群上,有些节点正在获取fqdn,有些节点正在获取主机名。
主机名的ip也不正确,显示127.0.0.1而不是主机ip
请建议
3条答案
按热度按时间g52tjvyc1#
如果你是说
/etc/hosts
文件,下面是我如何在hadoop集群中设置它的:,在哪里
nameOfCurrentMachine
是设置此文件的计算机,用作slave5
. 有人说第一条线应该删除,但我没有遇到任何问题,也没有尝试删除它。然后
$HADOOP_CONF_DIR/masters
主节点中的文件应为:以及
$HADOOP_CONF_DIR/slaves
主节点中的文件应为:在其他节点中,我只需将这两个文件设置为只包含:
您还应该确保可以在没有密码的情况下从主节点ssh到其他每个节点(使用其名称,而不是其ip)。这篇文章描述了如何做到这一点。
8ulbf1ek2#
对于ubuntu
hadoop集群的主机文件和其他配置
向所有群集计算机提供主机名,为此在/etc/hostname文件中添加主机名作为
在所有主机上,hosts文件应如下所示:
主机
注意:请确保注解第127.0.1.1行localhost它可能会在zookeeper和集群中产生问题。
在/etc/resolv.conf中添加dns服务器ip
解析.conf
要验证配置,请检查hostfile和hostfile,您应该能够通过主机名ping所有计算机
要检查所有计算机上的主机名和fqdn,请运行以下命令:
除主机名外,rhel的所有命令都相同。
源1和源2
yizd12fk3#
将从属主机文件保留为
将主主机文件保留为