Hadoop执行单词计数和查重

  1. 链接:https://pan.baidu.com/s/1cF7_cbMmYjLYCu5egIEFXw
    提取码:ddb2

  2. File --settings–Bulid–Bulid Tools–Maven 勾选倒数第二行的 Override

  3. 右键 pom.xml – Reimport (或 View – Tools Windows – Maven –在这里插入图片描述 )
    点击 Lifecycle中的install,联网会自动安装所需包

  4. 节点(虚拟机)断开,或者DataNode或者NodeManager进程自动终止,查看防火墙状态systemctl status firewalld
    Active :active (running)则防火墙开启
    若需要关闭linux虚拟机防火墙(确保为root用户),
    命令:systemctl stop firewalld
    关闭防火墙开机自启
    命令:systemctl disable firewalld.service
    这时Active : inactive (dead)

  5. 开启关闭Hadoop集群:stop/start-dfs.sh stop/start-dfs.shstart-all.sh----包括前边的两个命令)

  6. 在project的src–main–java–new–package(name: edu.qfnu.hadoop )在此包中新建new class,在Maven–lifcycle-install安装所需包,在C:\Users\username.m2\repository\edu\qfnu\hadoop\hdfs\1.0-SNAPSHOTC:中应该有hdfs-1.0-SNAPSHOT.jar,将此文件用WinRAR打开hdfs-1.0-SNAPSHOT.jar\edu\qfnu\hadoop - ZIP 应该有WordCounter.class和Del说明此文件已经编译(注:WordCounter没有运行成功)
    pom.xml的systemPath字体为红色

  • 原因:jdk路径不对
  • 方法:点开前面的红色小灯泡,找jdk路径,Java-lib-tools.jar,点击ok即可
    把建立的Maven项目hdfs上传到Hadoop集群,和要统计单词数的文本new.txt
  1. 让三个虚拟机时间同步
    命令:date查看时间
    命令:yum install -y ntp:安装ntp服务,自动从网上获取时间
    设置系统时间与网络时间同步ntpdate cn.pool.ntp.org
  2. 启动Hadoop集群(start-all.sh等价于start-dfs.sh + start-yarn.sh
  • cd /root hadoop fs
  • ls/文件名:查看HDFS系统中的目录和文件
  • hdoop fs -mkdir /input1创建input1目录,放置要处理的news.txt文件
  1. 把hdfs-1.0-SNAPSHOT.jar和news.txt上传到集群中(hadoop fs -put hdfs-1.0-SNAPSHOT.jar / 和(hadoop fs -put new.txt /input1/)

  2. 打开SFTP Session拖拽文件夹,上传完成后,在虚拟机中 cd /home/username ls查看文件是否存在

  3. 在[root@master username]下执行hadoop fs -ls -R / 才可以看到input文件夹(input1文件夹是在集群中)

  4. 再把文件上传到HDFS系统: hadoop fs -put news.txt /input/ ,执行hadoop fs -ls /input查看文件是否已上传【注意:不能将hdfs-1.0-SNAPSHOT.jar上传到input文件夹中,该文件为二进制文件,input文件夹中放的是要处理的news.txt,如果将hdfs-1.0-SNAPSHOT.jar上传会出现乱码】

  5. 执行hadoop jar hdfs-1.0-SNAPSHOT.jar edu.qfnu.hadoop.WordCounter(必须关闭防火墙)map和reduce都显示100%后即为成功

  6. 执行hadoop fs -get hdfs:/output1( hadoop fs -get /output1)将生成的文件下载到本地查看

  7. 在root权限下的用户目录下执行ls即可看到output文件,cd output1 然后ls 可见part-r-00000 _SUCCESS两个目录,但此时cat part-r-00000 是一堆乱码(原因把hdfs-1.0-SNAPSHOT.jar文件也对单词进行了统计)!

  8. 将原来的hdfs-1.0-SNAPSHOT.jar和生成的output文件删除

    • 要从HDFS中删除文件,可以使用以下命令:hadoop fs -rm -r -skipTrash /path_to_file/file_name
    • 要从HDFS中删除文件夹,可以使用以下命令:hadoop fs -rm -r -skipTrash /folder_name
    • 删除文件夹hadoop fs -rm -r /output1
    • hadoop fs -rm -r /input1/hdfs-1.0-SNAPSHOT.jar
    • hadoop fs -rm /hdfs-1.0-SNAPSHOT.jar (未在某个文件夹中的jar包)
    • 在[root@master username]中的hdfs-1.0-SNAPSHOT.jar 使用rm -rf hdfs-1.0-SNAPSHOT.jar(不是在Hadoop集群中)
  9. 修改后把output1文件夹使用hadoop fs -get /output1下载到本地后,cat part-r-00000即可查看

  10. 另一个DelDuplicate只需在与WordCounter相同的package中新建一个DelDuplicate类即可,执行上面相同的操作

    ① 拷贝D:\Program Files\JetBrains\IntelliJ IDEA 2018.3.5\plugins\maven\lib\maven3\conf\settings.xml 到 C:/用户/用户名/.m2 (如果.m2文件不存在,可以新建一个.m2文件夹);
    ② 修改.m2文件夹下的settings.xml,在 和之间添加:

    <mirror>
    	<id>aliyun</id>
    	<mirrorOf>central</mirrorOf>
    	<name>Human Readable Name for this Mirror.</name>
    	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    
</mirror>
```

使Maven下载jar包时从以上网址下载
若Maven的包还是有红线可以删除 .m2文件夹下存放jar包的repository,重新再install
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019041520443550.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5ODU5MA==,size_8,color_FFFFFF,t_70)

https://blog.csdn.net/leanaoo/article/details/83153052一个关于Hadoop指令的博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值