我的configuration:
服务器级的机器集群(4台机器),每台机器都具有RHEL,8GB RAM,四核处理器。 我将机器“B1”设置为主机,其余的作为从机(B2,B3,B4)。 启动dfs-start.sh,名字节点出现在B1上的53410上。 剩下的节点不能连接到53410上的B1!
以下是我迄今所做的:
所有节点都可以互相访问,并且所有的/ etc / hosts都设置了正确的IP地址映射。 所以,在这一点上我是非常无知的。 为什么地名会拒绝连接 – 是否有hadoop conf中的设置,我应该知道允许外部客户端在namenode端口上进行远程连接?
以前的答案我不清楚。 基本上,每个hadoop服务器(节点或名称节点)将创建一个服务器,并侦听与其查找名称关联的IP。
假设你有3个box(box1,box2,box3),/ etc / hosts文件应该是这样的:
127.0.0.1 localhost 192.168.10.1 box1 192.168.10.2 box2 192.168.10.3 box3
代替 :
127.0.0.1 localhost box1 192.168.10.2 box2 192.168.10.3 box3 //(this is incorrect, box one will be listening exclusively on 127.0.0.1)
解决这个..这是我的/ etc / hosts中的一个不正确的条目。 所有节点都在回环连接到主站。
尝试在conf / core-site.xml中更改
<property> <name>fs.default.name</name> <value>hdfs://localhost:54310</value> </property>
从本地主机到您的机器名称?
使用正确的文件权限设置DataNode:
chmod 755 /home/svenkata/hadoop/datanode/