“Linux 上 Hadoop 连不上”是一个比较常见但原因很多的问题。下面我按最常见原因 → 排查思路 → 解决办法给你梳理一下,你可以对照看是哪一种。
Hadoop 涉及很多连接,先分清:
不同情况排查方式不同。
现象
start-dfs.sh
卡住或直接失败
原因
排查
ssh localhost
ssh slave1
解决
ssh-keygen -t rsa
ssh-copy-id localhost
ssh-copy-id slave1
现象
Linux 防火墙
systemctl stop firewalld
systemctl disable firewalld
云服务器
现象
检查
cat /etc/hosts
正确示例
127.0.0.1 localhost
192.168.1.10 master
192.168.1.11 slave1
⚠️ 不要只写 127.0.0.1 主机名
重点检查:
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>dfs.namenode.rpc-address</name>
<value>master:9000</value>
</property>
✅ 用主机名,不用 IP(除非你非常确定)
现象
clusterID 不一致解决
hdfs namenode -format
⚠️ 会清空数据,慎用
或同步 clusterID
jps
正常应有:
少了就看日志:
tail -200 $HADOOP_HOME/logs/hadoop-*.log
现象
检查
netstat -tnlp | grep java
如果是:
127.0.0.1:9000
说明绑定错了
解决
你可以一条条核对:
jps 进程正常ssh 主机名 能通/etc/hosts 正确telnet master 9000你可以直接贴:
我可以一步一步帮你查到根因。