温馨提示×

linux hdfs配置如何操作

小樊
43
2026-07-01 11:56:05
栏目: 智能运维

下面按由浅入深的方式,给你一份在 Linux 上配置 HDFS(Hadoop 分布式文件系统) 的常用操作流程,适合 单机伪分布式完全分布式 两种场景。


一、环境准备(必须)

1. 系统要求

  • Linux(CentOS / Rocky / Ubuntu 均可)
  • Java(Hadoop 3.x 推荐 JDK 8 / 11)
  • SSH(用于启动/停止服务)

2. 安装 Java

java -version

如未安装:

# CentOS
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

# Ubuntu
apt install -y openjdk-8-jdk

二、安装 Hadoop

1. 下载 Hadoop

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 /usr/local/hadoop

2. 配置环境变量

编辑 ~/.bashrc/etc/profile

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

生效:

source ~/.bashrc

三、HDFS 核心配置文件(重点)

所有配置文件位于:

$HADOOP_HOME/etc/hadoop/

1. hadoop-env.sh

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

2. core-site.xml

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

如果是完全分布式,localhost 改为 NameNode 主机名或 IP


3. hdfs-site.xml

✅ 单机伪分布式(常用)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/datanode</value>
    </property>
</configuration>

创建目录:

mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode

四、SSH 免密登录(必须)

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

测试:

ssh localhost

五、格式化 HDFS(只做一次)

⚠️ 格式化会清空 HDFS 元数据

hdfs namenode -format

成功标志:

Storage directory /data/hadoop/namenode has been successfully formatted

六、启动 HDFS

启动 HDFS

start-dfs.sh

查看进程

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

七、验证 HDFS

查看 Web UI

http://服务器IP:9870

创建目录 & 上传文件

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

八、完全分布式简要补充(多节点)

1. 配置 slaves / workers

$HADOOP_HOME/etc/hadoop/workers
node1
node2
node3

2. hdfs-site.xml

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

3. 所有节点:

  • 相同 Hadoop 目录
  • 相同 JAVA_HOME
  • 配置 SSH 互信

九、常见问题

1. NameNode 起不来

  • hosts 配置错误
  • JAVA_HOME 未设置
  • 多次格式化导致 clusterID 不一致

解决:

# 清空 namenode 和 datanode 目录后重新格式化

2. 端口被占用

检查:

netstat -tunlp | grep 9000

十、快速总结(命令流)

# 安装
tar -zxvf hadoop-*.tar.gz

# 配置
core-site.xml
hdfs-site.xml

# 格式化
hdfs namenode -format

# 启动
start-dfs.sh

如果你愿意,我可以帮你:

  • ✅ 写一个 一键安装脚本
  • ✅ 帮你排查 启动失败日志
  • ✅ 配置 高可用 HDFS(HA)
  • ✅ 结合 Spark / Hive / Flink

你现在用的是 单机还是集群?哪套 Linux?

0