温馨提示×

centos如何连接hdfs集群

小樊
39
2026-10-06 09:16:37
栏目: 智能运维

在 CentOS 上连接 HDFS 集群,通常有两种常见方式:

  1. 通过 Hadoop 客户端命令行连接
  2. 通过 Java / 程序代码连接

下面以 最常用的 Hadoop 客户端方式 为主说明。


一、前提条件

在 CentOS 上连接 HDFS 集群,需要满足:

  • CentOS 已安装 Java(JDK 8 或 11)
  • 有 HDFS 集群的访问权限
  • 知道以下信息:
    • NameNode 地址(如 hdfs://namenode:8020 或 hdfs://192.168.1.10:9000)
    • 用户名(如 hadoop)
    • 是否开启 Kerberos(安全集群)

二、安装 Hadoop 客户端(推荐方式)

1. 下载 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
mv hadoop-3.3.6 /opt/hadoop

2. 配置环境变量

vi ~/.bashrc

添加:

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使配置生效:

source ~/.bashrc

三、配置 HDFS 连接

1. 修改 core-site.xml

vi $HADOOP_HOME/etc/hadoop/core-site.xml

示例(非安全集群):

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:8020</value>
    </property>
</configuration>

如果是高可用(HA):

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://mycluster</value>
</property>

并配置 hdfs-site.xml 中的 nameservice。


四、测试 HDFS 连接

1. 查看 HDFS 根目录

hdfs dfs -ls /

2. 上传文件

hdfs dfs -put test.txt /user/hadoop/

3. 下载文件

hdfs dfs -get /user/hadoop/test.txt ./

五、使用指定用户连接 HDFS

hdfs dfs -ls / -D dfs.client.use.datanode.hostname=true

或:

sudo -u hdfs hdfs dfs -ls /

六、Kerberos 安全集群(重要)

如果是安全 HDFS:

kinit user@REALM

然后执行:

hdfs dfs -ls /

七、常见问题

1. Connection refused

  • NameNode 地址错误
  • 端口不对(常见 8020 / 9000 / 9820)

2. Permission denied

  • 用户无权限
  • 目录属主不对

3. 无法解析 DataNode 主机名

<property>
    <name>dfs.client.use.datanode.hostname</name>
    <value>true</value>
</property>

八、总结

✅ CentOS 连接 HDFS 最简流程:

  1. 装 JDK
  2. 装 Hadoop 客户端
  3. 配 core-site.xml
  4. 用 hdfs dfs 命令访问

如果你愿意,可以告诉我:

  • HDFS 是否开启 Kerberos
  • 是否 HA
  • Hadoop 版本

我可以给你 精确的配置示例。

0 踩