「这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战」
Hadoop 教程
- 前期准备
- IDEA安装
- JDK安装
- IDEA中JDK配置
- VMware安装
- Hadoop 虚拟机
- 待补充
- HDFS启动
1 | shell复制代码cd app/hadoop-2.6.0-cdh5.7.0/sbin/ |
- Hadoop启动失败解决方法
- 重新编辑本机的hosts文件
1 | bash复制代码sudo vim /etc/hosts |
- 将
hadoop000
与localhost
均改为本机ip
- Hadoop Shell命令
- 浏览器可视化文件系统
- 路径遍历
- hadoop fs -ls [路径]
- 查看文件
- hadoop fs -cat [文件路径]
- eg:hadoop fs -cat /hadoopruochen/test/ruochen.txt
- 新建文件夹
- hadoop fs -mkdir -p [路径]
- -p:递归新建
- eg:hadoop fs -mkdir -p /hadoopruochen/test
- 传文件到 Hadoop
- hadoop fs -put [文件路径] [hadoop路径]
- eg:hadoop fs -put ruochen.txt /hadoopruochen/test
- 下载 Hadoop 文件到本地
- hadoop fs -get [hadoop文件路径] [本地路径]
- eg:hadoop fs -get /hadoopruochen/test/ruochen.txt haha.txt
- 移动文件
- hadoop fs -mv [源路径] [目的路径]
- eg:hadoop fs -mv /hadoopruochen/test/ruochen.txt /user
- 删除文件
- hadoop fs -rm [-r] [文件]
- eg:hadoop fs -rm /hadoopruochen
- eg:hadoop fs -rm -r /hadoopruochen
- Java 操作 HDFS API
5.1. 新建项目
- 新建一个空项目,我这里起名为
BigData
- 新建一个module
- Finish 即可
pom.xml
如下
1 | xml复制代码<?xml version="1.0" encoding="UTF-8"?> |
5.2. 测试
5.2.1 新建文件夹
- 接下来,我们使用 Java 连接 hdfs,并新建一个文件夹
- 在test下新建
HDFSApp.java
,如下 - 通过测试方法连接HDFS,并新建一个
/ruochen/test2
文件夹,代码如下
1 | java复制代码package com.neusoft.hdfs; |
- 然后运行
mkdir()
函数,运行完后我们可以看到已经新建了一个文件夹
5.2.2 新建文件
- 新建文件代码如下
1 | java复制代码 // 创建文件 |
- 运行结束后,我们通过shell脚本查看一下
5.2.3 修改文件名称
- Java代码如下
1 | java复制代码 // rename文件 |
- 运行结果如下
5.2.4 查看文件
- Java代码如下
1 | java复制代码 // 查看文件 |
- 运行结果
5.2.5 上传文件
- Java 代码如下
1 | java复制代码 // 上传文件 |
- 运行完成后,我们可以看到 hdfs 已经成功显示刚才上传的文件
5.2.6 下载文件
- Java 代码
1 | java复制代码 // 下载文件 |
- 运行完后我们可以看到当前目录 down 下已经有了刚刚下载的文件
- Java 实现 WordCount
这里要注意在
main
下操作,test
下是用来测试的
- 新建一个
WordCountApp
类 - Java 代码如下
1 | java复制代码package com.neusoft; |
- 打包程序
- 打包完成后,将 jar 包上传到 hadoop 虚拟机
- 首先通过shell命令将输出文件夹删除,不然重复执行会报错
1 | shell复制代码hadoop fs -rm -r /output/wc |
- 然后执行下列操作
1 | shell复制代码hadoop jar hadoopdemo-1.0-SNAPSHOT.jar com.neusoft.WordCountApp hdfs://hadoop000:8020/ruochenchen.txt hdfs://hadoop000:8020/output/wc |
hadoop jar hadoopdemo-1.0-SNAPSHOT.jar com.neusoft.WordCountApp
输入文件
输出文件
- 然后我们可以看到作业中有显示
- 通过
cat
命令可以查看一下输出的文件
1 | shell复制代码hadoop fs -cat /output/wc/part-r-00000 |
最后,欢迎大家关注我的个人微信公众号 『小小猿若尘』,获取更多IT技术、干货知识、热点资讯
本文转载自: 掘金