温馨提示×

如何配置linux的hdfs

小樊
43
2026-10-19 04:16:30
栏目: 智能运维

下面按从零开始的思路,给你一套在 Linux 上配置 HDFS(Hadoop 分布式文件系统) 的实用指南。内容以 单节点 / 伪分布式 为主,并补充完全分布式要点。


一、环境准备

1. 系统要求

  • Linux(CentOS / Ubuntu / Rocky 等均可)
  • Java 8 或 Java 11(Hadoop 3.x 推荐)
  • 普通用户(不建议用 root 跑 Hadoop)

2. 安装 Java

# Ubuntu
sudo apt install openjdk-11-jdk -y

# CentOS
sudo yum install java-11-openjdk-devel -y

验证:

java -version

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

useradd hadoop
passwd hadoop
su - hadoop

三、下载并安装 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 ~/hadoop

四、配置环境变量

编辑 ~/.bashrc:

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

生效:

source ~/.bashrc

五、HDFS 核心配置文件

进入配置目录:

cd $HADOOP_HOME/etc/hadoop

1. hadoop-env.sh

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

2. core-site.xml

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

3. hdfs-site.xml(伪分布式)

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

  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/hadoop_data/namenode</value>
  </property>

  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/hadoop_data/datanode</value>
  </property>
</configuration>

创建目录:

mkdir -p ~/hadoop_data/namenode
mkdir -p ~/hadoop_data/datanode

六、配置免密 SSH(必须)

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

测试:

ssh localhost

七、格式化 NameNode

⚠️ 只执行一次

hdfs namenode -format

八、启动 HDFS

start-dfs.sh

检查进程:

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

九、访问 HDFS Web 页面

http://localhost:9870

十、基本 HDFS 命令测试

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

十一、完全分布式(简要)

多节点要点

  • 多台机器
  • /etc/hosts 配置主机名
  • core-site.xml 中 fs.defaultFS 指向 NameNode
  • workers 文件配置 DataNode 主机
  • SSH 互通
  • dfs.replication >= 3

十二、常见问题

1. NameNode 启动失败

  • 没格式化
  • 目录权限不对
  • JAVA_HOME 没配

2. DataNode 不启动

  • clusterID 不一致 → 删除 datanode 目录重新格式化

如果你需要:

  • ✅ 生产级配置
  • ✅ HA(高可用)
  • ✅ Kerberos 安全
  • ✅ Docker / K8s 部署

告诉我你的使用场景,我可以给你更针对性的方案。

0 踩