首页 > 其他分享 >hadoop初学篇之三——公网全分布式部署主机IP导致的问题

hadoop初学篇之三——公网全分布式部署主机IP导致的问题

时间:2024-10-05 12:49:35浏览次数:11  
标签:ecs02 IP ecs01 hadoop 公网 内网 节点

不管是内网集群,还是公网集群(当然一般情况不会这么做),建议这个步骤都不要忽略。内网不一定会出现这个问题,但是公网不做肯定有问题!

前提:

  1. 在阿里云公网部署三台ecs,都有公网IP,内网有通有不通(测试公网所以忽略);
  2. 按照全分布模式部署,按照JDK(8)、Hadoop(2.10),各种配置完毕,namenode格式化成功后,start-all.sh启动hadoop,JPS三台服务器各个节点都是按照预设启动。
  3. hadoop配置文件core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves都是正常配置,且需要填host的地方都是写的公网IP。

问题:

  1. 起初的问题是主节点配置文件里面的Host我填的公网IP,但是这样JPS后namenode和resourcemanager就起不来,但是写内网IP又觉得怪怪的;
  2. 找了一些资料,发现hdfs dfsadmin -report 也没有数据(全是0)而且没有挂载datanode节点,问题严重了;
  3. 那再试试hdfs dfs -put上传文件,肯定是失败;

为啥几个从节点nodemanager和datanode都启动了,主节点却连不上或者找不到live节点?

解决:其实从主节点配置文件host写公网IP节点起不来,内网IP能起来但是觉得怪已经反应了问题。就是主从节点的访问路径问题,也就是IP的配置问题。

正确的方法:nano /etc/hosts 设置主从节点的域名解析,每个节点的这个文件都要把每个设备的域名解析写上,本机用内网IP、其它节点写公网IP(这是重点),然后在hadoop的配置文件xml里面就可以写主机名代替IP地址(当然首先要配置每个节点的hostname)。

举例:我的三个节点的hosts文件

这是ecs01节点的,所以01节点写的是内网IP(172.23.185.135),其它节点写的是公网IP,以下类推

hadoop初学篇之三——公网全分布式部署主机IP导致的问题_hosts文件

呃,抱歉,服务器释放了。

ecs02节点的hosts文件里面三个域名解析应该是:

121.43.131.2         ecs01    ecs01    (这是ecs01的公网地址了)

116.62.152.47       ecs03    ecs03

192.168.0.23        ecs02    ecs02    (这里ecs02写的是内网IP咯)


ecs03节点的hosts文件里面三个域名解析应该是:

121.43.131.2         ecs01    ecs01    (这是ecs01的公网地址了)

192.168.1.89        ecs03    ecs03    (这里ecs03写的是内网IP咯)

47.96.102.123      ecs02    ecs02    


说白了,这个问题的出现还是自己对于网络和linux系统的知识欠缺

好了,打完收工。

主要是为了自己做记录,同时分享给有需要的人


标签:ecs02,IP,ecs01,hadoop,公网,内网,节点
From: https://blog.51cto.com/u_12570039/12174651

相关文章