温馨提示×

Linux HDFS配置怎么设置

小樊
33
2026-07-14 14:51:01
栏目: 智能运维

在 Linux 上配置 HDFS(Hadoop Distributed File System),一般指 Hadoop 伪分布式环境(单机但启用 HDFS)或 完全分布式集群。下面先给你一个最常用、可直接照做的“伪分布式 HDFS”配置流程,适合学习与测试;如果你需要完全分布式,我也可以单独给你一份。


一、环境准备

1. 系统要求

  • Linux(CentOS / Rocky / Ubuntu / Debian)
  • Java 8 或 Java 11(推荐 JDK 8)
  • SSH 免密登录(即使是伪分布式也要)

2. 安装 Java

java -version

如果没有:

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

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

设置 JAVA_HOME

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

二、安装 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

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

三、SSH 免密登录(必须)

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

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

Hadoop 配置文件在:

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

3. hdfs-site.xml(HDFS 核心)

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

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop/data/namenode</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/data/datanode</value>
    </property>
</configuration>

创建目录:

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

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

hdfs namenode -format

看到 successfully formatted 即可。


六、启动 HDFS

start-dfs.sh

检查进程:

jps

应看到:

NameNode
DataNode
SecondaryNameNode

七、验证 HDFS

1. 查看 Web UI

浏览器访问:

http://localhost:9870

2. 测试 HDFS 命令

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

八、常见错误排查

❌ 启动没反应 / 没进程

  • 检查 JAVA_HOME
  • 检查 SSH 是否免密
  • 查看日志:
$HADOOP_HOME/logs/

❌ 端口被占用

netstat -tunlp | grep 9000

九、完全分布式 HDFS(简要)

如果你要 多台机器

  • 每台机器都要:
    • 相同 Hadoop 版本
    • 相同 JAVA_HOME
    • SSH 互相免密
  • 修改:
    • workers(DataNode 列表)
    • core-site.xmlfs.defaultFS 指向 NameNode
  • NameNode 执行 start-dfs.sh

十、我可以继续帮你

你可以直接告诉我:

  • ✅ 是 伪分布式 还是 完全分布式
  • ✅ 系统版本(CentOS / Ubuntu)
  • ✅ 是否用于 生产环境
  • ✅ 是否要 HA(高可用)

我可以给你 一步一步定制版配置

0