Hadoop自带wordcount实例

本文档详细介绍了如何在Hadoop环境下搭建并运行WordCount实例的过程,包括环境配置、常见错误排查及解决方法等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hadoop wordcount实例

Hadoop环境搭建成功后,运行一下wordcount实例
1、终端切换到root:su-
2、启动HDFS,如果是第一次用的话,先格式化namenode: hdfs namenode -format(格式化一次就行,总格式化会导致集群id不一致,会报错,不要问我咋知道的😂)
在这里插入图片描述
3、在HDFS创建目录:/data/wordcount存放本地上传的文件,/output目录存放MapReduce任务的结果输出文件。
在这里插入图片描述
4、在本地建一个文件,输入点单词,然后查看一下,目录自己安排
在这里插入图片描述
5、上传文件到hdfs中:/usr/inputone是本地目录,/data/wordcount/是hdfs的目录
上传以后再查看一下
在这里插入图片描述
6、可以看到具体内容:
在这里插入图片描述
7、以上已经传完了,现在就运行了。wordcount好像是hadoop自带的函数。outputone是输出的目录(上面我建了一个output,运行以后报错,可能是我之前测试的时候用过了,还没具体搞清楚为啥错,请教大佬)
在这里插入图片描述
8、查看结果,part-r-00000:MapReduce有相应的输出格式。默认情况下只有一个 Reduce,输出只有一个文件,默认文件名为 part-r-00000
在这里插入图片描述
新手上路,还在学习,有错误请指正!

遇到的问题以及解决方法:

1、错误:“jar is not exist or …”
原因:hadoop jar /usr/opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /data/wordcount /output目录不对

解决办法:
用winscp找到位置,直接copy目录就可,在Hadoop安装目录下,别找错啦!

2、错误:HADOOP/HDFS ls: ‘.’: No such file or directory:没有这样的文件或目录
原因:-ls默认目录是在hdfs文件系统的/user/用户名,但是你的hdfs系统内没有这个文件夹,所以会显示No such file or directory

解决办法: 
自己创建:$ hdfs dfsadmin -safemode leave 
$ hdfs fs -mkdir -p    /user    
  查看文件和目录:$ hdfs fs -ls /

3、问题:WARN hdfs.DFSClient: DataStreamer Exceptionorg.apache.hadoop.ipc.RemoteException上传文件失败
解决办法:

 - 1、先查看和关闭防火墙: systemctl status firewalld    systemctl stop
   firewalld.service  systemctl disable firewalld.service

这个不好使的话,看第二步

  • 2、查看磁盘使用情况 如果查出来的结果,磁盘使用空间都是0.,那就是这个问题了

  • hadoop dfsadmin -report
    造成这个问题的原因可能是使用hadoop namenode -format格式化多次造成clusterID不一致

  • 解决:

1.停止集群:stop-all.sh
2.删除在hdfs中配置的tmp目录(即在core-site.xml中配置的hadoop.tmp.dir对应文件)下面的所有数据: rm -rf       /opt/hadoop/hadoop-2.8.5/tmp/*(注意这个目录不是hadoop安装目录下的,这个是指定的,注意区分)

在这里插入图片描述

- 3.重新格式化:hadoop namenode -format
   4.重启:start-all.sh
   5.再查:hadoop dfsadmin -report 

如果还是0的话,那就看第三步。

  • 3、用winscp软件,连接成功以后直接在root下,在hadoop安装目录下,找到tmp、data、name目录,把她们仨中的version打开,把clusterID的值都改成一样的!

在这里插入图片描述
在这里插入图片描述
这个改完再查的时候应该就好使了,结果是这样的:
在这里插入图片描述
这时候再传文件就可以了。

新手上路,还有一些小问题没写出来,欢迎交流,有错误请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值