hdaf操作、9870 Web UI 操作、Java 代码操作
·
任务 1:Client1 - HDFS 操作(基于 VM 命令行)
核心目标
通过 Client1(可直接操作 VM 的node1节点)执行 HDFS 基础管理操作,验证文件系统可用性。
操作步骤
-
启动 HDFS 服务
- 登录
node1节点(已免密,执行ssh wanglicheng@node1)。 - 进入 Hadoop
sbin目录(替换/path/to/hadoop为实际安装路径):bash
cd /path/to/hadoop/sbin - 启动 HDFS:
bash
./start-dfs.sh
验证进程(出现NameNode和DataNode即成功):bash
jps
- 登录
-
执行 HDFS 核心操作操作类型 具体命令 验证方式 查看根目录 hdfs dfs -ls /终端显示 HDFS 根目录下的文件 / 目录 创建专属目录 hdfs dfs -mkdir /client1_hdfs_dir再次执行 hdfs dfs -ls /确认目录存在上传本地文件 hdfs dfs -put /home/wanglicheng/test.txt /client1_hdfs_dir执行 hdfs dfs -ls /client1_hdfs_dir查看文件下载 HDFS 文件 hdfs dfs -get /client1_hdfs_dir/test.txt /home/wanglicheng/download/查看本地 download目录是否有文件查看文件内容 hdfs dfs -cat /client1_hdfs_dir/test.txt终端显示文件内容
1. 查看 HDFS 空间使用情况
bash
hdfs dfs -df -h /
- 预期结果:显示 HDFS 总容量、已用空间、可用空间及使用率。
2. 查看 HDFS 块状态
bash
hdfs fsck / -files -blocks
- 用途:检查文件块的完整性(适合数据校验场景)。


任务 2:Client2 - 9870 端口 HDFS Web UI 操作
核心目标
通过 Client2(另一台可访问 VM 网络的设备)的浏览器,可视化管理 HDFS 并完成 “联系” 相关操作(集群监控、日志查看)。
操作步骤
-
获取 VM 的 IP 地址
- 在
node1终端执行,获取node1的局域网 IP(如192.168.1.105):bash

ifconfig # 或ip addr,找到“inet”后的IP
- 在
-
访问 Web UI 界面
- 在 Client2 的浏览器(Chrome/Edge)地址栏输入:
plaintext
http://[node1的IP]:9870 # 示例:http://192.168.1.105:9870
若无法访问,在node1终端关闭防火墙(测试环境适用):bash
sudo systemctl stop firewalld
- 在 Client2 的浏览器(Chrome/Edge)地址栏输入:
-
关键 Web 操作(含 “联系” 相关)
- 文件管理:点击左侧「Utilities」→「Browse the file system」,可查看 / 上传 / 删除文件,与任务 1 创建的
/client1_hdfs_dir联动验证。 - 集群监控:在首页「Cluster Summary」查看 HDFS 总容量、可用空间;点击「DataNodes」查看节点状态(用于集群维护 “联系”)。
- 日志查看:点击左侧「Utilities」→「Logs」,查看
NameNode/DataNode运行日志,若需技术支持,可导出日志用于 “联系” 沟通。
- 文件管理:点击左侧「Utilities」→「Browse the file system」,可查看 / 上传 / 删除文件,与任务 1 创建的
任务 3:Client3 - Java 代码操作 HDFS
一、确认 JDK 有效性(关键第一步)
- 验证 JDK 版本打开终端(Linux)或 CMD(Windows),执行:
bash
java -version- 若输出类似
java version "1.8.0_xxx"或更高版本(如11.0.x),说明 JDK 可用,继续下一步。 - 若版本低于 1.8,需升级 JDK(参考之前的 JDK 安装步骤)。
- 若输出类似
二、安装 IntelliJ IDEA(含 Big Data Tools 插件)
-
下载并安装 IDE访问IntelliJ IDEA 官网,选择社区版(免费)下载,按向导安装(Linux/Windows 步骤类似)。
- 安装时勾选 “添加到 PATH”(Windows)或默认路径(Linux),确保 IDE 可正常启动。
-
安装 Big Data Tools 插件启动 IDE 后:
- 进入
File > Settings > Plugins(Windows/Linux)或IntelliJ IDEA > Settings > Plugins(Mac)。 - 在搜索框输入
Big Data Tools,点击Install,安装完成后重启 IDE。
- 进入
三、配置 Maven(IDE 内置,无需单独安装)
IntelliJ IDEA自带 Maven,无需手动安装,只需确认配置即可:
- 进入
File > Settings > Build, Execution, Deployment > Build Tools > Maven。 - 确认
Maven home path为 IDE 内置路径(如C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.2.5\plugins\maven\lib\maven3),保持默认即可。 - 点击
OK,Maven 环境就绪。
四、后续步骤(已有 JDK 的情况下)
- 创建 Maven 项目:在 IDE 中新建 Maven 项目,添加 Hadoop 客户端依赖(参考之前的
pom.xml配置)。 - 编写 Java 代码:实现 HDFS 操作逻辑(目录创建、文件上传等)。
- 配置 Big Data Tools 连接 HDFS:通过插件可视化验证代码执行结果。
总结
只要 JDK 有效,可直接通过 IntelliJ IDEA 的内置 Maven 和插件市场完成剩余环境搭建,无需额外安装独立的 Maven。核心依赖 JDK 已满足,后续步骤聚焦于 IDE 配置和代码开发即可。
具体操作
以下是在已有 JDK(8 及以上) 的前提下,完成 Client3 - Java 代码操作 HDFS(含 Big Data Tools 插件) 的具体操作步骤,全程基于 IntelliJ IDEA(社区版,免费):
一、安装 IntelliJ IDEA(以 Windows 为例)
1. 下载 IDE
- 访问官网:https://www.jetbrains.com/idea/download/
- 选择 “Community Edition”(社区版,免费),点击 “Download” 下载安装包(如
ideaIC-2023.3.5.exe)。
2. 安装 IDE
- 双击安装包,勾选以下选项(推荐):
Create Desktop Shortcut(创建桌面快捷方式)Add "Open Folder as Project"(支持右键打开项目)Add to PATH(将 IDE 添加到环境变量,可选)
- 点击 “Next”,选择安装路径(如
D:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3.5),完成安装并启动。
二、安装 Big Data Tools 插件
- 首次启动 IDE,选择 “Do not import settings”,点击 “OK”。
- 进入欢迎界面,点击左侧 “Plugins”(插件)。
- 在搜索框输入
Big Data Tools,找到插件后点击 “Install”(安装)。 - 安装完成后,点击 “Restart IDE”(重启 IDE)使插件生效。
三、创建 Maven 项目(内置 Maven,无需单独安装)
- 重启后,在欢迎界面点击 “New Project”。
- 左侧选择 “Maven”,右侧保持默认(
Project SDK自动识别已安装的 JDK,若未识别点击 “Add SDK” 选择 JDK 安装目录)。 - 填写项目信息:
GroupId:com.example(自定义,通常为域名反转)ArtifactId:hdfs-client3(项目名)Version:1.0-SNAPSHOT(默认)
- 选择项目保存路径(如
D:\projects\hdfs-client3),点击 “Create” 创建项目。
四、配置 Hadoop 依赖(pom.xml)
- 在项目左侧目录树中,找到
pom.xml文件,双击打开。 - 在
<dependencies>标签内添加 Hadoop 客户端依赖(版本与 HDFS 集群一致,如 3.3.4):xml
<dependencies> <!-- Hadoop客户端依赖 --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>3.3.4</version> </dependency> </dependencies> - 右键
pom.xml文件,选择 “Maven> Reload Project”(加载依赖),等待依赖下载完成(底部进度条消失)。
五、配置 HDFS 连接信息(core-site.xml)
- 在项目目录树中,展开
src/main,右键main→New > Directory,创建resources目录(用于存放配置文件)。 - 右键
resources→New > File,创建core-site.xml文件,添加内容(替换192.168.1.100为 Node1 的 IP):xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.1.100:9000</value> <!-- HDFS的NameNode地址 --> </property> </configuration>
六、编写 Java 代码操作 HDFS
- 在目录树中,展开
src/main/java/com/example,右键example→New > Java Class,类名输入HDFSClient3,点击 “OK”。 - 复制以下代码到类中(实现目录创建、文件上传、读取 Client1 的文件):
java
运行
package com.example; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import java.io.BufferedReader; import java.io.InputStreamReader; public class HDFSClient3 { public static void main(String[] args) throws Exception { // 1. 加载HDFS配置(自动读取resources/core-site.xml) Configuration conf = new Configuration(); // 2. 获取HDFS文件系统对象 FileSystem fs = FileSystem.get(conf); System.out.println("已连接HDFS:" + conf.get("fs.defaultFS")); // 3. 创建Client3专属目录(基于Client1的/client1_test_dir) Path client3Dir = new Path("/client1_test_dir/client3_dir"); if (fs.mkdirs(client3Dir)) { System.out.println("目录创建成功:" + client3Dir); } else { System.out.println("目录已存在:" + client3Dir); } // 4. 上传本地文件到HDFS(需先创建本地文件) // 本地文件路径:项目根目录下的client3_local.txt Path localFile = new Path("client3_local.txt"); // HDFS目标路径:client3Dir下的client3_upload.txt Path hdfsFile = new Path(client3Dir + "/client3_upload.txt"); fs.copyFromLocalFile(localFile, hdfsFile); System.out.println("文件上传成功:" + hdfsFile); // 5. 读取Client1上传的文件(验证联动) Path client1File = new Path("/client1_test_dir/test_client2.txt"); if (fs.exists(client1File)) { System.out.println("\n===== Client1文件内容 ====="); try (FSDataInputStream in = fs.open(client1File); BufferedReader br = new BufferedReader(new InputStreamReader(in))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); // 预期输出:Client2 验证数据 } } } else { System.out.println("Client1文件不存在:" + client1File); } // 6. 关闭连接 fs.close(); System.out.println("\n操作完成,已断开连接"); } }
七、准备本地测试文件
- 在项目根目录(
D:\projects\hdfs-client3)下,右键空白处 →New > Text Document,命名为client3_local.txt。 - 打开文件,输入内容:
Client3 测试数据(通过Java代码上传),保存关闭。
八、通过 Big Data Tools 插件连接 HDFS
- 在 IDE 右侧找到
Big Data Tools面板(若未显示,点击View > Tool Windows > Big Data Tools调出)。 - 点击面板左上角
+→ 选择Hadoop Distributed File System (HDFS)。 - 在配置窗口:
NameNode URI:输入hdfs://192.168.1.100:9000(与core-site.xml一致)。- 其他保持默认,点击
Test Connection,提示 “Connection successful” 即连接成功。
- 点击
OK,在插件面板中展开 HDFS 目录树,可看到/client1_test_dir(Client1 创建的目录)。
九、运行代码并验证结果
1. 运行 Java 程序
- 右键
HDFSClient3.java文件 →Run 'HDFSClient3.main()'。 - 控制台预期输出:
plaintext
已连接HDFS:hdfs://192.168.1.100:9000 目录创建成功:/client1_test_dir/client3_dir 文件上传成功:/client1_test_dir/client3_dir/client3_upload.txt ===== Client1文件内容 ===== Client2 验证数据 操作完成,已断开连接
2. 用 Big Data Tools 验证
- 在插件面板中,展开
/client1_test_dir/client3_dir,可看到client3_upload.txt(Java 代码上传的文件)。 - 右键该文件 →
Download,保存到本地后打开,内容与client3_local.txt一致。 - 展开
/client1_test_dir,确认test_client2.txt存在,与代码读取结果一致。
十、常见问题解决
| 问题 | 解决方法 |
|---|---|
| 依赖下载慢 | 打开File > Settings > Build, Execution, Deployment > Build Tools > Maven > Repositories,添加阿里云镜像(https://maven.aliyun.com/repository/public)。 |
| HDFS 连接失败 | 1. 检查core-site.xml的 IP 和端口是否正确;2. 在 Node1 执行sudo systemctl stop firewalld关闭防火墙。 |
| 权限不足 | 在 Node1 终端执行:hdfs dfs -chmod -R 777 /client1_test_dir(测试环境开放权限)。 |
更多推荐


所有评论(0)