在 Linux 上启动 HDFS(Hadoop Distributed File System),通常是指在 Hadoop 集群环境中启动 NameNode、DataNode 等服务。下面按最常见场景给你一个完整、可操作的说明。
确认 Hadoop 已安装并配置好环境变量:
echo $HADOOP_HOME
hadoop version
如未配置:
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
ssh localhost
如果不能免密:
ssh-keygen -t rsa
ssh-copy-id localhost
关键配置文件在:
$HADOOP_HOME/etc/hadoop/
至少确认:
core-site.xmlhdfs-site.xml示例(单机伪分布式):
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
⚠️ 只在第一次执行,不要重复执行
hdfs namenode -format
成功标志:
Storage directory ... has been successfully formatted
start-dfs.sh
启动的服务包括:
# 启动 NameNode
hadoop-daemon.sh start namenode
# 启动 DataNode
hadoop-daemon.sh start datanode
jps
应看到:
NameNode
DataNode
SecondaryNameNode
http://localhost:9870
(Hadoop 3.x,2.x 是 50070)
hdfs dfs -ls /
创建目录测试:
hdfs dfs -mkdir /test
hdfs dfs -ls /
stop-dfs.sh
或:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh stop datanode
查看日志:
$HADOOP_HOME/logs/hadoop-*-namenode-*.log
常见原因:
cat $HADOOP_HOME/logs/hadoop-*-datanode-*.log
常见原因:
sudo chown -R hadoop:hadoop $HADOOP_HOME
# 格式化(仅一次)
hdfs namenode -format
# 启动 HDFS
start-dfs.sh
# 验证
jps
hdfs dfs -ls /
如果你愿意,可以告诉我:
我可以按你的环境给你精确步骤或排错方案。