hive卡在 kill command不动假死的原因及解决方案_kill command = /data0/hadoop/hadoop-程序员宅基地

技术标签: hive  卡住不动  kill command  job  假死  

hive中执行了select count(1) from table 后,一直无反应。

我部署了一个节点的hadoop(2.6.0)伪分布式系统,然后部署了hive,启动了hadoop和hive之后,通过命令

# hive --service cli   进入hive的客户端,

然后执行一个查询 show tables;

hive_focus

显示有这个表,然后我执行 select * from hive_tables;

可以查出数据

但是,当我执行 select count(1) from hive_tables;之后,查询一直停留在这里

我只有一个节点,一条数据,按理说不可能一直不往下执行啊,求各位大神指点一下,刚研究hadoop,不太明白

 

解决方案:

启动了hadoop后,启动了hive,

进入hive-cli,执行 select count(1) from table,屏幕显示到kill command后不继续执行,

经过问题排查,解决思路如下:

1. select * from table 没有问题,但一旦执行select count(1) from table 后就不继续执行,原因是

    select * from table 是直接在hive数据库中直接执行的,select count(1) from table 确实调用了mapreduce来执行。

2. 那么调用了mapreduce 之后为什么就停留在那里了呢,直接执行了官网的mapreduce的wordcount后发现相同的情况。

3. 经过上述排查,那么肯定是hadoop配置不对了,由于mapreduce的都是在datanode上执行的,所以初步认定为namenode

   和datanode之间没有联通。

4. 于是检查 namenode的hosts文件和slave文件,修改为对应的主机名及ip之后,重新运行wordcount,成功。

5. 重新运行hive select count(1) from table 后,成功。

 

故,由此得出结论,当mapduce运行不下去的情况,则主要检查namenode和datanode之间的通信情况,包括但不限于以下几种:

1. hosts配置问题,没有把datanode的主机名写入namenode主机的hosts文件中。

2. slave配置问题, 没有把datanode的主机名写入namenode主机的slave文件中。

3. ssh无密码访问没有配置。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

下面是其他解决思路:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2016/01/11 15:13

当select * from 全表时候  不会执行mapreduce 也就不会消耗内存与CPU,count(1)的时候就在创建job 如果一直卡在那里不动的话~先看下你jps的几个进程是否正确。在就是你机器配置不够~~亲~~

2016/09/14 13:40

其实看你的描述,应该是你前期的检查不足导致的。

1)hadoop伪分布式搭建好后,使用hadoop dfsadmin -report可以查看,是否所有的节点都已经成功启动。

2)使用jps查看进程,应该会有datanode,nodemanger,namenode,secondrynamenode,resourcemanger这些进程,如果缺少那一个的话,那证明hadoop环境没有成功启动

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如图,hive提交查询的时候,在这步卡主不动假死,也不报错,log也查不出来。
查了各种办法也没解决。
最后反思
1.不借助hive进行分析时候,仅仅是提交job跑mr没有问题
2.到hive上却假死

怀疑是Hive没有连接上mapreduce。一检查hive-env.sh果然是这样。

配置hive-env.sh:

HADOOP_HOME=/apps/hadoop
export HIVE_CONF_DIR=/apps/hive/conf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I was finally able to get this to work by increasing the yarn.nodemanager.resource.memory-mb value from 1 GB (the default) to 6 GB.  Apparently this is a resource issue, but there are no warnings that I could find that state this clearly.

 

---------------------

参考自:

https://www.oschina.net/question/1386516_2148428

https://blog.csdn.net/wmlove_hqy/article/details/78819023

https://community.cloudera.com/t5/Cloudera-Manager-Installation/Hive-hangs-at-kill-job-command/td-p/26248

 

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

智能推荐

设计模式_设计模式 ` 一个类只负责一个功能领域中的相应职责-程序员宅基地

文章浏览阅读4.9k次,点赞8次,收藏9次。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式可以提高代码的**可复用性**、**可维护性**、**可读性**、**稳健性**以及**安全性**。_设计模式 ` 一个类只负责一个功能领域中的相应职责

JAVA实现闯关小游戏(一)_java做开放式闯关游戏-程序员宅基地

文章浏览阅读4.4k次,点赞5次,收藏16次。(一)游戏设计思路:如图为游戏效果演示: JAVA自制小游戏从入门到入土 这个游戏是用java语言实现,采用了swing技术进行了界面化处理,利用了BufferedImage缓冲区减少闪烁,设计思路用了面向对象思想。此游戏为闯关游戏,类似于超级玛丽,但更加自由一些;画面采用后现代主义抽象风格,音乐采用的星露谷物语里的专辑,有竖琴演奏;游戏框架:1.继承JFrame创建窗口:_java做开放式闯关游戏

Windows7/10的robot frameworkan安装AutoItLibrary遇到的问题汇总(二)_pip 安装autoframework报错-程序员宅基地

文章浏览阅读855次。1 安装AutoItLibrary最简单的安装方法是用pip安装,首先在pypi(https://pypi.org)上搜索autoitlibrary,可以找到一个叫robotframework-autoitlibrary的robot库。也可以在命令行用“pip search autoitlibrary”进行查找。在windows命令行运行命令安装:c:> pip install robo..._pip 安装autoframework报错

开发小程序遇到的问题_微信报错客服接口下行条数超过上限-程序员宅基地

文章浏览阅读1.2k次。9001030’ => ‘一次查询页面ID数量不能超过50’,‘9001031’ => ‘时间区间不合法’,‘9001032’ => ‘保存设备与页面的绑定关系参数错误’,即可模拟企业号获取用户手机号。‘50001’ => ‘用户未授权该api’,‘50002’ => ‘用户受限,可能是违规后接口被封禁’,‘9001025’ => ‘设备ID不合法’,‘9001026’ => ‘页面ID不合法’,‘40035’ => ‘不合法的参数’,‘40038’ => ‘不合法的请求格式’,_微信报错客服接口下行条数超过上限

简单密码---python_python简单密码加密1用8表示,2用7表示-程序员宅基地

文章浏览阅读863次。描述现在有一种密码变换算法。九键手机键盘上的数字与字母的对应:1--1,abc--2,def--3,ghi--4,jkl--5,mno--6,pqrs--7,tuv--8wxyz--9,0--0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。数字和其它的符号都不做变换。数据范围: 输入的字符串长度满足 1≤n≤1..._python简单密码加密1用8表示,2用7表示

AtomicMarkableReference源码解析-程序员宅基地

文章浏览阅读158次。之前在说CAS的时候说过ABA问题,ABA问题就是在多线程情况下,其他线程修改了共享变量,但最终共享变量的值并没有发生变化。以至于当前线程无法辨别共享变量是否已经发生了变化。为了使得线程..._atomicmarkablereference 源码分析

随便推点

[实战] 朴素贝叶斯分类器进行垃圾邮件过滤_朴素贝叶斯分类器和svm在垃圾邮件过滤任务中-程序员宅基地

文章浏览阅读1.7k次。我们已经讲解过朴素贝叶斯分类器的基本原理和实现:动手实现朴素贝叶斯分类器进行文档分类在此基础上,我们实现垃圾邮件的过滤,数据为50封txt邮件(1)将text文本文件,分成单词列表使用正则表达式,使用除单词和数字外的任意字符串为分隔符并删除长度小于3的字符串def textParse(bigString): import re listOfTokens = re.spli..._朴素贝叶斯分类器和svm在垃圾邮件过滤任务中

cvs 常用命令记录-程序员宅基地

文章浏览阅读130次。//z 纯粹自己备忘//z 9/19/2011 1:22 [email protected] 命令的形式:cvscvs-options subcommand subcommand-options查看帮助:cvs-H subcommandcvs status -h检出文件:cvscheckout mymodule更新cvs..._cvs 回滚

AudioTrack 播放wav音频文件_audioformat.encoding.pcm_float不生效-程序员宅基地

文章浏览阅读595次。我们要想对wav文件格式操作,我们就要了解wav的文件格式https://blog.csdn.net/qq_15255121/article/details/115168456通过上面我们可以知道第8到11字节 代表当前是wave格式也就是wav格式第20-21字节 代表当前的音频数据是什么格式 如果是1代表是pcm格式第24-28字节,代表当前的采样率第34-35字节,代表当前的采样大小(位深)第44字节开始,是我们真是的数据通过上面的分析我们可以知道,wav只是把p._audioformat.encoding.pcm_float不生效

2018我们必须了解的网络推广方法-程序员宅基地

文章浏览阅读203次。  在互联网时代,企业产品推广不能仅仅依靠下线,这样投入的太高成本高。更上互联网发展,做网络推广是必须的,下面襄阳seo就和大家讲讲2018年熟知的网络推广方法。   2018年网络推广的常用方法...

友盟第三方分享QQ分享不走回调方法或者显示取消分享的问题_android qq空间分享 分享取消‘-程序员宅基地

文章浏览阅读8k次,点赞4次,收藏3次。一、友盟QQ分享不走回调方法集成友盟社会化分享后,除了QQ、QQZone以外,其他分享都能正常显示分享成功、取消分享,而QQ和QQ空间明明分享成功了,但是并没有走回调方法,不显示成功失败或者取消。原因很可能是你的分享代码代码写在了Fragment中,QQ分享成功后并不走Fragment的onActivityResult()方法,需要把分享的方法写在Activity中,并在onActivityR_android qq空间分享 分享取消‘

严重: maxIdle is deprecated,严重: testWhileIdle is true, validationQuery not set,Druid连接池连接MSQL报错处理...-程序员宅基地

文章浏览阅读1k次。JDK9 引发的血案1、因为使用mysql-connector的依赖版本对应的mysql数据库冲突,mysql8需要使用8.0.11以上的高版本 2、jdk9的反射本身存在BUG,会有warning警告,一般不影响使用,在后续版本会更新修复首先检查下自己使用的mysql 是什么版本的,5.5 、5.6版本的使用老依赖就行,新的依赖驱动Driver注册包路径已经改变、老版本依赖已经不适..._error - maxidle is deprecated

推荐文章

热门文章

相关标签