HDFS(Hadoop Distributed File System)本身并不依赖特定 Linux 发行版,只要系统满足 Java、网络、权限等基本要求,就可以在 CentOS 上运行。下面从安装、配置、适配与常见问题几个方面说明 HDFS 如何适配 CentOS。
# 查看系统
cat /etc/centos-release
# 关闭防火墙(测试环境)
systemctl stop firewalld
systemctl disable firewalld
# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
HDFS 强依赖 JDK
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
java -version
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
写入:
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
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 -C /opt/
export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
hadoop-env.shvi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
core-site.xml<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
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
hostnamectl set-hostname hadoop1
vi /etc/hosts
127.0.0.1 localhost
192.168.1.10 hadoop1
useradd hadoop
passwd hadoop
chown -R hadoop:hadoop /opt/hadoop-3.3.6
chown -R hadoop:hadoop /data/hadoop
su - hadoop
ssh-keygen -t rsa
ssh-copy-id hadoop1
hdfs namenode -format
start-dfs.sh
jps
应看到:
NameNode
DataNode
SecondaryNameNode
Web UI:
http://<IP>:9870
chmod -R 755 /data/hadoop
echo $JAVA_HOME
确认 hadoop-env.sh 中设置正确
HDFS 适配 CentOS 的核心在于:Java 环境、权限、主机名、防火墙和 Hadoop 配置的正确匹配,而不是 Hadoop 本身需要特殊适配。
如果你需要:
可以直接告诉我你的使用场景。