温馨提示×

centos怎么集成hdfs

小樊
35
2026-09-30 13:41:37
栏目: 智能运维

在 CentOS 上“集成 HDFS”一般有几种常见场景,下面按最常见、最实用的方式给你讲清楚,你可以根据用途对号入座。


一、CentOS 作为 HDFS 客户端(最常见)

目标:在 CentOS 上执行 hdfs dfs 命令、跑 MapReduce / Spark / Flink 等

1. 安装 JDK

yum install -y java-1.8.0-openjdk-devel
java -version

2. 下载 Hadoop

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt

3. 配置环境变量

vi /etc/profile
export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

4. 修改配置(只做客户端)

cd $HADOOP_HOME/etc/hadoop
vi core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <name>hdfs://namenode-host:9000</name>
  </property>
</configuration>

5. 测试

hdfs dfs -ls /

✅ 这样就完成了 CentOS 集成 HDFS 客户端


二、CentOS 作为 HDFS 服务节点(搭建集群)

NameNode / DataNode

架构示例

  • NameNode:centos1
  • DataNode:centos2, centos3

关键配置

hdfs-site.xml

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/data/hdfs/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data/hdfs/data</value>
</property>

启动

hdfs namenode -format
start-dfs.sh

三、CentOS 挂载 HDFS 为本地目录(FUSE)

像本地磁盘一样用 HDFS

1. 安装

yum install -y fuse hadoop-hdfs-fuse

2. 挂载

hadoop-fuse-dfs dfs://namenode:9000 /mnt/hdfs

3. 使用

cd /mnt/hdfs
ls

⚠️ 性能一般,适合读多写少


四、应用层集成(Java / Python)

  • Java:使用 hadoop-client
  • Python:pip install hdfs
from hdfs import InsecureClient
client = InsecureClient('http://namenode:9870')
client.list('/')

五、常见问题

问题 原因
Permission denied 用户不一致
Cannot connect 防火墙 / 端口
UnknownHost /etc/hosts 未配
systemctl stop firewalld

六、你可以告诉我

  • ✅ 是 客户端 还是 集群
  • ✅ Hadoop 版本
  • ✅ 是否用 Kerberos
  • ✅ CentOS 版本(7 / 8 / Stream)

我可以直接给你一套可执行的配置清单。

0 踩