温馨提示×

怎样快速配置Linux HDFS

小樊
40
2026-07-28 19:22:50
栏目: 智能运维

快速在 Linux 上配置 HDFS(Hadoop 分布式文件系统),下面给你一个从零到可用的精简流程,适合单机伪分布式(最常用、最快上手)。如果你需要完全分布式,我也可以再补充。


一、环境准备(5 分钟)

1️⃣ 系统要求

  • Linux(CentOS / Rocky / Ubuntu / Debian)
  • JDK 8 或 11(推荐 8)
  • SSH(必须)

2️⃣ 安装 JDK

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

# Ubuntu
apt install -y openjdk-8-jdk

验证:

java -version

3️⃣ 配置 SSH(免密登录)

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

测试:

ssh localhost

二、下载并安装 Hadoop(10 分钟)

1️⃣ 下载 Hadoop

cd /opt
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

2️⃣ 配置环境变量

编辑 ~/.bashrc

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

生效:

source ~/.bashrc

验证:

hadoop version

三、快速配置 HDFS(伪分布式)

1️⃣ 配置 core-site.xml

vim $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

2️⃣ 配置 hdfs-site.xml

vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/data/datanode</value>
    </property>
</configuration>

创建目录:

mkdir -p /opt/hadoop/data/{namenode,datanode}

四、启动 HDFS(5 分钟)

1️⃣ 格式化 NameNode

⚠️ 只在首次执行

hdfs namenode -format

2️⃣ 启动 HDFS

start-dfs.sh

验证:

jps

应看到:

NameNode
DataNode
SecondaryNameNode

五、验证 HDFS 是否可用(2 分钟)

hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test
hdfs dfs -ls /test

访问 Web UI:

http://localhost:9870

六、常见问题速查

❌ JAVA_HOME 找不到

vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

❌ 端口被占用

netstat -tunlp | grep 9000

七、如果你要更快(30 秒)

使用 Docker

docker run -d -p 9870:9870 -p 9000:9000 bde2020/hadoop-namenode

八、下一步建议

✅ MapReduce
✅ YARN
✅ 完全分布式 HDFS
✅ 高可用(HA)

如果你告诉我:

  • ✅ 系统版本
  • ✅ 是否用于生产
  • ✅ 单节点还是多节点

我可以给你定制版配置方案

0