温馨提示×

centos怎么连接hdfs

小樊
58
2026-08-20 05:31:29
栏目: 智能运维

在 CentOS 上连接 HDFS(Hadoop 分布式文件系统),常见方式有三种:命令行连接、Java API 连接、Web UI 访问。下面按最常用场景给你一个完整说明。


一、前提条件

1️⃣ 确认 Hadoop 环境

在 CentOS 上,你需要:

  • 已安装 Hadoop(或能访问 Hadoop 集群)
  • 知道 HDFS 地址,例如:
    hdfs://namenode-host:9000
    

2️⃣ 网络与用户

  • CentOS 能访问 NameNode(ping 通)
  • 使用 hdfs 用户 或有权限的用户

二、命令行方式连接 HDFS(最常用 ✅)

1️⃣ 配置 Hadoop 环境变量

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

(建议写入 ~/.bashrc)


2️⃣ 测试 HDFS 是否可用

hdfs dfs -ls /

✅ 正常输出示例:

Found 3 items
drwxr-xr-x   - hdfs supergroup  0 2024-01-01  /tmp
drwxr-xr-x   - hdfs supergroup  0 2024-01-01  /user

3️⃣ 常用 HDFS 命令

查看目录

hdfs dfs -ls /user

上传文件到 HDFS

hdfs dfs -put localfile.txt /user/

下载文件

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

创建目录

hdfs dfs -mkdir /user/test

删除文件

hdfs dfs -rm /user/file.txt

三、通过 core-site.xml 连接指定 HDFS

如果你不是本地 Hadoop,而是连接远程 HDFS:

1️⃣ 修改配置

编辑:

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

2️⃣ 测试

hdfs dfs -ls /

四、Java 程序连接 HDFS(开发场景)

1️⃣ Maven 依赖

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>3.3.6</version>
</dependency>

2️⃣ Java 示例

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

FileSystem fs = FileSystem.get(conf);
Path path = new Path("/user");

FileStatus[] files = fs.listStatus(path);
for (FileStatus f : files) {
    System.out.println(f.getPath());
}

五、Web UI 方式(辅助)

访问:

http://namenode-host:9870
  • HDFS 状态
  • 浏览文件系统
  • 查看 DataNode

六、常见错误与解决

❌ 1. Connection refused

java.net.ConnectException: Connection refused

✅ 解决:

  • NameNode 没启动
  • IP / 端口错误
  • 防火墙未放行
systemctl stop firewalld

❌ 2. 权限不足

Permission denied: user=root, access=WRITE

✅ 解决:

sudo -u hdfs hdfs dfs -mkdir /user/root
sudo -u hdfs hdfs dfs -chown root /user/root

七、总结

方式 适用场景
hdfs dfs 命令 运维、日常操作 ✅
core-site.xml 连接远程 HDFS
Java API 程序开发
Web UI 监控与查看

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

  • ✅ 单机 / 集群
  • ✅ Hadoop 版本
  • ✅ 是否是 Kerberos 安全集群

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

0 踩