我正在尝试配置一个 3 节点的 Apache Hadoop 集群。我已经在 docker 环境中完成了它,并且在那里一切正常。现在,我正在尝试迁移到 Open Nebula 环境。我有 3 个带有 Ubuntu 和 Hadoop 的虚拟机。当我使用 ./sbin/start-dfs.sh 启动 hadoop 时,Hadoop 在所有从属服务器上打开了数据节点,到目前为止一切看起来都很好。但如果我使用“./bin/hdfs dfsadmin -report”,它只会显示 1 个实时数据节点。查看以下内容
这是我的主人上 JPS 命令的结果:
从站上的 JPS 命令:
我还可以通过 SSH 连接所有机器。我的猜测是我的主机文件有问题,因为我的奴隶无法到达主人。这是我的主人 /etc/hosts。
<my_ip_1> master
<my_ip_2> slave-1
<my_ip_3> slave-2
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
我没有修改我的 /etc/hostname 文件,但它看起来像这样。其中“my_ip_1”表示 VM 的当前 IP。
<my_ip_1>.cloud.<domain>.de
此外,如果我使用命令运行 hadoop PI 示例
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar pi 100 10000000
我在 slave-1 和 slave-2 日志文件中收到以下错误。但是主节点自己解决了PI问题。
2015-08-25 15:27:03,249 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/<my_ip_1>:54310. Already tried 10 time(s); maxRetries=45
2015-08-25 15:27:23,270 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/<my_ip_1>:54310. Already tried 11 time(s); maxRetries=45
2015-08-25 15:27:43,290 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: master/<my_ip_1>:54310. Already tried 12 time(s); maxRetries=45