在 CentOS 上配置 HDFS(Hadoop 分布式文件系统),通常需要满足以下几方面的条件。下面按 必备环境 → Hadoop 安装 → HDFS 配置 → 启动验证 来说明。
systemctl stop firewalld
systemctl disable firewalld
Hadoop 依赖 JDK(推荐 JDK 8)
java -version
如果没有:
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
配置 JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
写入 /etc/profile 或 ~/.bashrc
useradd hadoop
passwd hadoop
后续操作可用 hadoop 用户执行。
hostnamectl set-hostname master
vim /etc/hosts
示例:
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2
Hadoop 需要通过 SSH 启停服务。
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
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
vim /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 /etc/profile
配置目录:
cd $HADOOP_HOME/etc/hadoop
hadoop-env.shexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
core-site.xml<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
hdfs-site.xml<configuration>
<property>
<name>dfs.replication</name>
<value>2</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
chown -R hadoop:hadoop /data/hadoop
workers(Hadoop 3.x)vim workers
内容:
slave1
slave2
⚠ 只在 第一次 执行格式化
hdfs namenode -format
启动 HDFS:
start-dfs.sh
jps
应看到:
http://master:9870
hdfs dfs -mkdir /test
hdfs dfs -ls /
chown -R hadoop:hadoop /usr/local/hadoop
yum install -y ntp
systemctl enable ntpd
✅ JDK
✅ SSH 免密
✅ Hadoop 安装包
✅ 核心配置文件(core / hdfs / workers)
✅ 正确的目录权限
✅ 关闭防火墙 / 时间同步
如果你愿意,我可以给你:
你现在是要 学习 / 测试 / 生产 用?