温馨提示×

Linux HDFS配置步骤有哪些

小樊
41
2026-08-13 14:38:04
栏目: 智能运维

在 Linux 上配置 HDFS(Hadoop Distributed File System),通常是指安装并配置 Hadoop 的 HDFS 组件。下面按常见且实用的顺序,给你一个从零到可用的 HDFS 配置步骤(以 Hadoop 3.x 为例,适用于单机伪分布式或集群)。


一、环境准备

1. 操作系统

  • Linux(CentOS / Rocky / Ubuntu 等)
  • 建议关闭防火墙或放行端口
systemctl stop firewalld
systemctl disable firewalld

2. 安装 JDK

Hadoop 依赖 Java(推荐 JDK 8 或 11)

java -version

如未安装:

yum install -y java-1.8.0-openjdk-devel

配置 JAVA_HOME

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

二、创建 Hadoop 用户(可选但推荐)

useradd hadoop
passwd hadoop
su - hadoop

三、下载并安装 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 HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

生效:

source ~/.bashrc

四、配置 HDFS(核心步骤)

进入配置目录:

cd $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

4. 配置 workers(Hadoop 3.x)

vim workers

内容:

localhost

集群时填写 DataNode 的主机名


五、SSH 免密登录(必须)

Hadoop 通过 SSH 启动服务

ssh-keygen -t rsa
ssh-copy-id localhost

测试:

ssh localhost

六、格式化 HDFS(仅第一次)

⚠️ 只能执行一次(除非清空数据)

hdfs namenode -format

成功标志:

Storage directory ... has been successfully formatted

七、启动 HDFS

start-dfs.sh

检查进程:

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

八、验证 HDFS

1. 访问 Web UI

http://<IP>:9870

2. 执行 HDFS 命令

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

九、关闭 HDFS

stop-dfs.sh

十、常见错误排查

问题 原因
NameNode 起不来 未格式化或目录权限错误
DataNode 不启动 多次格式化导致 clusterID 不一致
无法访问 9870 防火墙未关闭
SSH 失败 未配置免密

十一、生产环境建议

  • 多个 DataNode
  • dfs.replication ≥ 3
  • NameNode 高可用(HA)
  • 使用独立磁盘
  • 时间同步(NTP)

如果你需要:

  • 完全分布式 HDFS 配置
  • Hadoop HA 配置
  • 结合 YARN / Hive / Spark
  • Docker / Kubernetes 部署

可以直接告诉我你的使用场景。

0