Amazon-Ec2
從設備與 hdfs 的連接超時
我有 3 個節點實例 -
master, slave1 and slave2
這些節點之間的 SSH 工作正常。
這是我說時在每個節點上啟動的程序
./sbin/start-dfs.sh
掌握:
SecondaryNameNode Jps NameNode DataNode
奴隸1:
Jps DataNode
奴隸2:
Jps DataNode
但是當我嘗試從從節點訪問 hdfs 時,我得到一個
connection timed out
.此外,當我檢查時
hdfs dfsadmin -report
,我只看到一個數據節點(在主伺服器的本地主機上)作為 hdfs 的一部分。Datanodes available: 1 (1 total, 0 dead) Live datanodes: Name: 127.0.0.1:50010 (localhost) Hostname: master Decommission Status : Normal Configured Capacity: 8309932032 (7.74 GB) DFS Used: 24576 (24 KB) Non DFS Used: 2309738496 (2.15 GB) DFS Remaining: 6000168960 (5.59 GB) DFS Used%: 0.00% DFS Remaining%: 72.20%
這是我在所有三個節點上的 /etc/hosts 文件映射。
127.0.0.1 localhost <ip of master> master <ip of slave1> slave1 <ip of slave2> slave2
這是我在主伺服器上的 $HADOOP_HOME/etc/hadoop/slaves 文件
localhost slave1 slave2
簡而言之,slave 上的數據節點無法與 hdfs 連接。
我究竟做錯了什麼?
如果您無法從從屬伺服器遠端登錄到主伺服器上的埠 9000(並且錯誤是連接超時),那麼很可能是防火牆問題。
檢查 ec2 實例是否在同一個 ec2 安全組中,並且沒有活動的 iptables 防火牆規則阻止連接(您可以通過執行 iptables -vnxL 進行檢查)。