MapReduce wordcount测试卡死在running job_wordcount运行卡在running job-程序员宅基地

技术标签: wordcount  mapreduce  hadoop  

hadoop环境搭建好后,准备用MapReduce自带的wordcount程序测试一下,跑了几次总是卡在Running job那里

2018-03-28 08:46:41,855 INFO client.RMProxy: Connecting to ResourceManager at master/192.168.85.3:8032
2018-03-28 08:46:42,341 INFO mapreduce.JobResourceUploader: Disabling Erasure Coding for path: /tmp/hadoop-yarn/staging/hukun/.staging/job_1521944931433_0004
2018-03-28 08:46:42,600 INFO input.FileInputFormat: Total input files to process : 1
2018-03-28 08:46:43,103 INFO mapreduce.JobSubmitter: number of splits:1
2018-03-28 08:46:43,142 INFO Configuration.deprecation: yarn.resourcemanager.system-metrics-publisher.enabled is deprecated. Instead, use yarn.system-metrics-publisher.enabled
2018-03-28 08:46:43,238 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1521944931433_0004
2018-03-28 08:46:43,239 INFO mapreduce.JobSubmitter: Executing with tokens: []
2018-03-28 08:46:43,414 INFO conf.Configuration: resource-types.xml not found
2018-03-28 08:46:43,415 INFO resource.ResourceUtils: Unable to find 'resource-types.xml'.
2018-03-28 08:46:43,480 INFO impl.YarnClientImpl: Submitted application application_1521944931433_0004
2018-03-28 08:46:43,521 INFO mapreduce.Job: The url to track the job: http://master:8099/proxy/application_1521944931433_0004/
2018-03-28 08:46:43,522 INFO mapreduce.Job: Running job: job_1521944931433_0004

我的Hadoop环境搭建见hadoop 3.0 集群配置(ubuntu环境)
我的wordcount测试步骤如下
随便找一个英文txt文本,push到hdfs,我这里直接使用了hadoop的license文件

hdfs dfs -mkdir hdfs://master:9000/wordcount
hdfs dfs -put ~/LICENSE.txt hdfs://master:9000/wordcount/LICENSE.txt

cd到hadoop的mapreduce目录,这里有hadoop提供的测试程序

cd ~/soft/hadoop-3.0.0/share/hadoop/mapreduce/

执行wordcount测试程序

hadoop jar hadoop-mapreduce-examples-3.0.0.jar wordcount hdfs://master:9000/wordcount/LICENSE.txt hdfs://master:9000/wordcount/result

结果会放在hdfs://master:9000/wordcount/result目录下
发现执行到INFO mapreduce.Job: Running job: job_1521902469523_0005卡死了
这里写图片描述

hadoop的默认日志级别是INFO,很多信息没有打印出来,这次我把hadoop的日志打印级别调整为DEBUG

export HADOOP_ROOT_LOGGER=DEBUG,console

再次执行wordcount测试程序
发现一直在和master进行ipc通信,也看不出其他什么信息

2018-03-24 08:03:28,044 DEBUG ipc.Client: The ping interval is 60000 ms.
2018-03-24 08:03:28,047 DEBUG ipc.Client: Connecting to master/192.168.85.3:9000
2018-03-24 08:03:28,097 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun: starting, having connections 1
2018-03-24 08:03:28,104 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun sending #0 org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo
2018-03-24 08:03:28,240 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun got value #0
2018-03-24 08:03:28,241 DEBUG ipc.ProtobufRpcEngine: Call: getFileInfo took 237ms
2018-03-24 08:03:28,287 DEBUG mapred.ResourceMgrDelegate: getStagingAreaDir: dir=/tmp/hadoop-yarn/staging/hukun/.staging
2018-03-24 08:03:28,288 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun sending #1 org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo
2018-03-24 08:03:28,301 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun got value #1
2018-03-24 08:03:28,301 DEBUG ipc.ProtobufRpcEngine: Call: getFileInfo took 13ms
2018-03-24 08:03:28,357 DEBUG ipc.Client: The ping interval is 60000 ms.
2018-03-24 08:03:28,364 DEBUG ipc.Client: Connecting to master/192.168.85.3:8032
2018-03-24 08:03:28,367 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:8032 from hukun sending #2 org.apache.hadoop.yarn.api.ApplicationClientProtocolPB.getNewApplication
2018-03-24 08:03:28,378 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:8032 from hukun: starting, having connections 2
2018-03-24 08:03:28,412 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:8032 from hukun got value #2
2018-03-24 08:03:28,413 DEBUG ipc.ProtobufRpcEngine: Call: getNewApplication took 58ms
2018-03-24 08:03:28,452 DEBUG mapreduce.JobSubmitter: Configuring job job_1521903779426_0001 with /tmp/hadoop-yarn/staging/hukun/.staging/job_1521903779426_0001 as the submit dir
2018-03-24 08:03:28,452 DEBUG mapreduce.JobSubmitter: adding the following namenodes' delegation tokens:[hdfs://master:9000]
2018-03-24 08:03:28,830 DEBUG mapreduce.JobResourceUploader: default FileSystem: hdfs://master:9000
2018-03-24 08:03:28,833 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun sending #3 org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo
2018-03-24 08:03:28,835 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun got value #3
2018-03-24 08:03:28,835 DEBUG ipc.ProtobufRpcEngine: Call: getFileInfo took 2ms
2018-03-24 08:03:28,838 DEBUG hdfs.DFSClient: /tmp/hadoop-yarn/staging/hukun/.staging/job_1521903779426_0001: masked={ masked: rwxr-xr-x, unmasked: rwxrwxrwx }
2018-03-24 08:03:28,852 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun sending #4 org.apache.hadoop.hdfs.protocol.ClientProtocol.mkdirs
2018-03-24 08:03:28,884 DEBUG ipc.Client: IPC Client (658532887) connection to master/192.168.85.3:9000 from hukun got value #4

重启hadoop

stop-all.sh
start-all.sh

再次执行wordcount有LOG打印出来了

2018-03-24 08:03:28,910 DEBUG retry.RetryInvocationHandler: Exception while invoking call #4 ClientNamenodeProtocolTranslatorPB.mkdirs over null. Not retrying because try once and fail.
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /tmp/hadoop-yarn/staging/hukun/.staging/job_1521903779426_0001. Name node is in safe mode.
The reported blocks 48 has reached the threshold 0.9990 of total blocks 48. The number of live datanodes 2 has reached the minimum number 0. In safe mode extension. Safe mode will be turned off automatically in 11 seconds. NamenodeHostName:master
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.newSafemodeException(FSNamesystem.java:1436)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkNameNodeSafeMode(FSNamesystem.java:1423)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3029)
    at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:1115)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:695)
    at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
    at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
    at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869)
    at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)
    at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675)

提示Cannot delete /tmp/hadoop-yarn/staging/hukun/.staging/job_1521903779426_0001. Name node is in safe mode.

#关闭safenode
hdfs dfsadmin -safemode leave  
stop-all.sh
start-all.sh

再次执行wordcount程序,发现仍然卡在ipc通信那里
这里写图片描述

后来了解到,出现Cannot delete /tmp/hadoop-yarn/staging/hukun/.staging/job_1521903779426_0001. Name node is in safe mode.的原因是执行MapReduce的时候强制按CTRL+C退出了,tmp里面保存了job的一些信息,而safemode是无法删除tmp里面的这些信息的

看来是其他了问题了,网上试了各种方法,还是不行,最后把虚拟内存调到4G,处理器调成2个,每个处理器两个核,后来再执行一次就OK了,看来还是虚拟机的内存设置太少了的缘故
这里写图片描述

参考

1. Hadoop开启关闭调试信息
2. Hadoop “Name node is in safe mode” 错误解决方法
3. 错误Name node is in safe mode的解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hukun910903/article/details/79736257

智能推荐

Linux:如何安装RPM呢?_ruhe xiezai rpm-程序员宅基地

文章浏览阅读1.1k次。RPM 安装( install )安装就是 install 嘛!所以啰,使用 rpm 来安装就很简单啦!假设我要安装一个档名为 rp-pppoe-3.1-5.i386.rpm 的档案,那么我可以这样( 记得某些套件可能需要以系统管理员的身份来安装 ): [root@test root]# rpm -i rp-pppoe-3.1-5.i386.rpm不过,这样的参数其实无法显示安装的进度,所以,通常我们会这样下达安装指令:  另外,如果我们在安装的过程当中发现问题,或者已经知道会发生的_ruhe xiezai rpm

php gif动态验证码,PHP实现GIF图片验证码_php技巧-程序员宅基地

文章浏览阅读256次。这是一个用PHP生成GIF动画来实现动态图片验证码的程序,非常实用,是php用户注册登录界面经常需要用到的验证码程序,有需要GIF动态图片验证码功能的朋友可以收藏一下。第一步:创建ImageCode.php文件,验证码生成函数代码如下:0) // 屏蔽第一帧{for ($k = 0; $k < strlen($authstr); $k++){$colorRandom = mt_ra..._php动画验证码

Python字符串的相关操作和方法_2.在python中,设有 s = 'abc',则s.zfill(7)、s.center(7, ' -程序员宅基地

文章浏览阅读464次。Python字符串的相关操作和方法1.什么是字符串(str)容器型数据类型:将’‘或者""或者’’‘或者""""""作为容器标志,引号中的每个符号就是字符串的元素。作为容器标志,引号中每个符号就是字符串的元素。(’’’’’'和"""""""在表示字符串内容的时候换行可以不适用转义字符,而是直接按回车)字符串不可变:不支持增删改,字符串有序(支持下标操作)字符串对元素的要求:引号中单独的每个符号都是字符串的元素(又叫字符),字符可以任何符号。字符串分为两类:普通字符(表示符号本身字符),转义字符(_2.在python中,设有 s = 'abc',则s.zfill(7)、s.center(7, ' ')、s.ljust(7)、s.rj

C++报错:error: return type specification for constructor invalid-程序员宅基地

文章浏览阅读6.1k次,点赞8次,收藏6次。类的构造函数不需要返回类型,即将void orbclass();前面的void去掉即可。_return type specification for

librosa的安装_conda安装liborsa指定源-程序员宅基地

文章浏览阅读4.8k次。在很多设计到语音识别合成等方面的项目里经常用到python的一个包librosa但是这个包直接用pip安装容易出现GCC的CXXABI一些各种各样的问题推荐使用conda安装但是conda的源在国外下面这个是conda换源的命令其中 https://example.com 可以随意更换底部的源conda config --add channels https://e_conda安装liborsa指定源

神器!这个Python神器竟能把图片视频无损清晰放大N倍!-程序员宅基地

文章浏览阅读1k次。文 |闲欢来源:Python 技术「ID: pythonall」最近在浏览 GitHub 的时候,偶然发现了一个非常牛逼的开源库,利用机器学习算法竟然把图片无损放大 N 倍,简直逆天!这个库叫做 video2x,目前有 4300+ 颗星星,是基于 waifu2x,Anime4K,SRMD 和 RealSR 开发的工具,不仅支持视频无损放大,还可以支持图片和 GIF 动画..._video2x源码怎么用

随便推点

异步FIFO的设计_异步fifo 时序-程序员宅基地

文章浏览阅读1.1k次。一、FIFO概述 FIFO,本质上来说还是一个RAM,是一种先进先出的数据缓存器,它主要应用于FPGA中不同时钟域之间的切换、不同位宽之间的数据匹配、数据的缓存等方面,极大提高了数据传输的效率。根据FIFO工作的时钟域分为同步/异步FIFO,同步FIFO是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写;异步FIFO读写时钟不一致,读写相互独立。二、设计原理..._异步fifo 时序

layui.msg弹出设置时间_layui msg 时间-程序员宅基地

文章浏览阅读5.5k次。layer.msg(data.msg, {icon: 6,time:2000, shade:0.4});弹出时间两秒 有遮罩层_layui msg 时间

docker实例化Oracle12c EE(五分钟快速部署oracle12c单实例)_docker compose oracle 12 ee-程序员宅基地

文章浏览阅读1.2k次。### Code ReferenceURL:https://blog.csdn.net/hunheidaode/article/details/104039719DESC:docker实例化Oracle12c EELast Update:2020-7-15 18:25确定使用的镜像docker search oracledocker pull absolutapps/oracle-12c-ee本地化容器文件docker inspect absolutapps/oracle_docker compose oracle 12 ee

harmonyos2.0手机上手,上手体验如何?华为鸿蒙OS 2.0测试版推送-程序员宅基地

文章浏览阅读210次。原标题:上手体验如何?华为鸿蒙OS 2.0测试版推送前不久,华为开启了新一轮的鸿蒙手机系统测试招募,花粉俱乐部里有不少网友都获得了测试机会。在公测招募的帖子上方,有提到华为将于2021年04月27日的22:00-24:00,对当前支持OTA升级的手机推送华为HarmonyOS 2.0开发者Beta版。目前,已经有不少用户收到了华为HarmonyOS的推送,开发者版本的公测正式开启。而且根据各个机型..._手机harmonyos怎么玩

HTML表格标签和列表标签20200424_静态网页表格有几个标签-程序员宅基地

文章浏览阅读139次。表格标签基本语法 <table> <tr> <td>单元格1</td> <td>单元格2</td> </tr> <tr> <td>单元格3</td>..._静态网页表格有几个标签

变量向导添加控件变量Control类别和Value类别差别_control和value类型区别-程序员宅基地

文章浏览阅读526次。Control类别:控件的实例 Value类别:与控件绑定的值每个控件最多只能有一个Value型和一个Control型的成员变量,前者代表着控件的值,而后者代表着控件本身如果只想设置或获取控件内部存储的值,选择添加一个Value型的变量;如果想在运行时对控件的各种属性进行控制,那么选择添加一个Control型的变量。常见的Value型变量有int、UINT、long、DWORD、float、double、BYTE、short、BOOL、CString、CTime、COleDateTime和C.._control和value类型区别

推荐文章

热门文章

相关标签