温馨提示×

怎么启动linux hdfs

小樊
44
2026-07-15 00:43:20
栏目: 智能运维

启动 Linux 上的 HDFS(Hadoop 分布式文件系统),通常按下面步骤来。假设你已经安装好了 Hadoop(常见版本如 3.x)。


一、前提条件

  1. 已安装 Java
java -version

建议 JDK 8 或 11。

  1. 已配置 Hadoop
  • 环境变量
export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 核心配置文件(最少):
    • core-site.xml
    • hdfs-site.xml
    • 可选:workers(或 slaves

二、首次启动(格式化 NameNode)

⚠️ 只在第一次启动前执行,不要重复执行!

hdfs namenode -format

或(老版本):

hadoop namenode -format

三、启动 HDFS

方式 1:一键启动(推荐)

start-dfs.sh

启动后一般包含:

  • NameNode
  • DataNode
  • Secondary NameNode(或 Standby NameNode)

方式 2:逐个启动(了解原理用)

hdfs --daemon start namenode
hdfs --daemon start datanode
hdfs --daemon start secondarynamenode

四、检查是否启动成功

1️⃣ 查看进程

jps

应看到:

NameNode
DataNode
SecondaryNameNode

2️⃣ 访问 Web UI

  • NameNode UI(默认):
http://<namenode-ip>:9870

(Hadoop 2.x 是 50070)


3️⃣ 测试 HDFS 命令

hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put test.txt /test

五、停止 HDFS

stop-dfs.sh

或:

hdfs --daemon stop namenode
hdfs --daemon stop datanode

六、常见问题

❌ 1. JAVA_HOME 未设置

$HADOOP_HOME/etc/hadoop/hadoop-env.sh 中:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk

❌ 2. 端口被占用

netstat -tunlp | grep 9870

❌ 3. 权限问题

chmod -R 755 $HADOOP_HOME

七、伪分布式示例(常见)

core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

如果你愿意,可以告诉我:

  • ✅ Hadoop 版本
  • ✅ 单机 / 集群
  • ✅ 报错信息

我可以按你的环境一步步帮你调 ✅

0