在 CentOS 上启动 HDFS,通常取决于你是 单机伪分布式 还是 集群环境,以及是否用 Hadoop 自带的脚本。下面给你最常用、最标准的做法。
java -version
HADOOP_HOMEecho $HADOOP_HOME
# 例如 /opt/hadoop
ssh localhost
如果不通:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
⚠️ 只做一次
hdfs namenode -format
start-dfs.sh
启动后进程应有:
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode
jps
应看到:
NameNode
DataNode
SecondaryNameNode
http://localhost:9870
(Hadoop 3.x) 如果是 2.x:
http://localhost:50070
stop-dfs.sh
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
或修改:
vi /etc/selinux/config
SELINUX=disabled
不要用 root 启动 Hadoop(建议新建用户):
useradd hadoop
su - hadoop
etc/hadoop/core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
如果你愿意,可以告诉我:
我可以直接帮你定位问题。