IDEA|IDEA 运行 WordCount 程序
1. 写在前面 目标
使用 IDEA 向虚拟机中的 Hadoop 伪分布式集群提交任务,运行 MapReduce 官方示例 WordCount V1.0。
环境说明
- Windows 10
- IDEA 2020.2.2
- CentOS 7.6
- Hadoop 2.9.2
- Maven 3.6.3
- JDK 1.8
进入 File -> Setting -> Plugins 中查找 Big Data Tools,Install 安装即可。
文章图片
连接 HDFS
文章图片
【IDEA|IDEA 运行 WordCount 程序】可以选择 Hadoop 的安装路径,不过这是在本机上(win10)安装的 Hadoop。
文章图片
第二种方法就是连接远程的 Hadoop,在测试连接之前需要保证 Hadoop 集群已经启动,这里选择的是第二种。
文章图片
添加依赖 注意选择对应的版本
org.apache.logging.log4j
log4j-core
2.8.2
org.apache.hadoop
hadoop-common
2.9.2
org.apache.hadoop
hadoop-client
2.9.2
org.apache.hadoop
hadoop-hdfs
2.9.2
3. IDEA 运行 WordCount 程序 准备输入文件夹和输出文件夹
$ hadoop fs -cat /demo/wordcount/input/file01
Hello World Bye World
$ hadoop fs -cat /demo/wordcount/input/file02
Hello Hadoop Goodbye Hadoop
运行程序
源代码 WordCountV1.0,如果不想每次都手动删除
output
文件夹,添加下面的代码段:ps:如果 HDFS 存在 output 文件夹,可以先手动删除(文件夹权限问题),这里只是为了能够在 IDEA 上能够重复运行
// 判断 output 文件夹是否存在,如果存在则删除
Path path = new Path(args[1]);
FileSystem fileSystem = path.getFileSystem(conf);
if (fileSystem.exists(path)) {
fileSystem.delete(path, true);
}FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
设置程序的输入参数,即
args[0]
和 agrs[1]
hdfs://ip:9000/demo/wordcount/input hdfs://ip:9000/demo/wordcount/output
文章图片
运行结果
文章图片
文章图片
推荐阅读
- IDEA|IDEA 创建工程
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)
- The|The ideal servant
- 运行报错Cannot|运行报错Cannot find module '@babel/compat-data/corejs3-shipped-proposals’
- IDEA使用Maven管理项目包,缺少pom文件中引入的依赖包
- Python程序运行方式
- IntelliJ IDEA 永久破解激活教程(亲测有效)
- 90天30个TED演讲|90天30个TED演讲 - Day 25: How to get your ideas to spread
- Flink总结-运行命令参数分析
- Android免Root|Android免Root 修改程序运行时内存指令逻辑(Hook系统函数)