温馨提示×

centos hdfs如何连客户端

小樊
45
2026-09-24 16:51:27
栏目: 智能运维

在 CentOS 上连接 HDFS 客户端,通常是指:在 CentOS 机器上安装并配置 Hadoop 客户端,然后访问 HDFS(可以是本地集群,也可以是远程集群)。下面按常见场景给你说明。


一、前提条件

  1. CentOS 已安装 JDK(推荐 JDK 8 或 11)
    java -version
    
  2. 已知 HDFS 集群信息:
    • NameNode 地址(如 hdfs://namenode:9000)
    • 或 HTTP 地址(http://namenode:9870)
  3. 客户端机器能访问 NameNode / DataNode 网络端口

二、安装 HDFS 客户端(不启动服务,只做客户端)

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 -C /opt/
ln -s /opt/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

示例(连远程 HDFS):

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

如果是 HA 集群,需要配置 hdfs-site.xml + core-site.xml(可后续补充)


四、使用 HDFS 客户端命令

1. 查看 HDFS 根目录

hdfs dfs -ls /

2. 上传文件

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

3. 下载文件

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

4. 创建目录

hdfs dfs -mkdir -p /user/test

五、通过浏览器访问 HDFS(Web 客户端)

如果 NameNode 开启 Web UI:

http://namenode:9870

(Hadoop 3.x 默认端口 9870)


六、用 Java 客户端连接(示例)

Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://namenode:9000");
FileSystem fs = FileSystem.get(conf);

七、常见问题

1. Permission denied

hdfs dfs -mkdir: Permission denied

解决:

  • 用正确用户
  • 或关闭权限检查(测试环境)
<property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
</property>

2. 无法连接 NameNode

  • 检查防火墙
systemctl stop firewalld
  • 检查 /etc/hosts
192.168.1.10 namenode

如果你能提供:

  • Hadoop 版本
  • 是否 HA
  • 是否远程连接

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

0 踩