技术标签: hive 卡住不动 kill command job 假死
我部署了一个节点的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
文章浏览阅读4.9k次,点赞8次,收藏9次。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式可以提高代码的**可复用性**、**可维护性**、**可读性**、**稳健性**以及**安全性**。_设计模式 ` 一个类只负责一个功能领域中的相应职责
文章浏览阅读4.4k次,点赞5次,收藏16次。(一)游戏设计思路:如图为游戏效果演示: JAVA自制小游戏从入门到入土 这个游戏是用java语言实现,采用了swing技术进行了界面化处理,利用了BufferedImage缓冲区减少闪烁,设计思路用了面向对象思想。此游戏为闯关游戏,类似于超级玛丽,但更加自由一些;画面采用后现代主义抽象风格,音乐采用的星露谷物语里的专辑,有竖琴演奏;游戏框架:1.继承JFrame创建窗口:_java做开放式闯关游戏
文章浏览阅读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’ => ‘不合法的请求格式’,_微信报错客服接口下行条数超过上限
文章浏览阅读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表示
文章浏览阅读158次。之前在说CAS的时候说过ABA问题,ABA问题就是在多线程情况下,其他线程修改了共享变量,但最终共享变量的值并没有发生变化。以至于当前线程无法辨别共享变量是否已经发生了变化。为了使得线程..._atomicmarkablereference 源码分析
文章浏览阅读1.7k次。我们已经讲解过朴素贝叶斯分类器的基本原理和实现:动手实现朴素贝叶斯分类器进行文档分类在此基础上,我们实现垃圾邮件的过滤,数据为50封txt邮件(1)将text文本文件,分成单词列表使用正则表达式,使用除单词和数字外的任意字符串为分隔符并删除长度小于3的字符串def textParse(bigString): import re listOfTokens = re.spli..._朴素贝叶斯分类器和svm在垃圾邮件过滤任务中
文章浏览阅读130次。//z 纯粹自己备忘//z 9/19/2011 1:22 [email protected] 命令的形式:cvscvs-options subcommand subcommand-options查看帮助:cvs-H subcommandcvs status -h检出文件:cvscheckout mymodule更新cvs..._cvs 回滚
文章浏览阅读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不生效
文章浏览阅读203次。 在互联网时代,企业产品推广不能仅仅依靠下线,这样投入的太高成本高。更上互联网发展,做网络推广是必须的,下面襄阳seo就和大家讲讲2018年熟知的网络推广方法。 2018年网络推广的常用方法...
文章浏览阅读8k次,点赞4次,收藏3次。一、友盟QQ分享不走回调方法集成友盟社会化分享后,除了QQ、QQZone以外,其他分享都能正常显示分享成功、取消分享,而QQ和QQ空间明明分享成功了,但是并没有走回调方法,不显示成功失败或者取消。原因很可能是你的分享代码代码写在了Fragment中,QQ分享成功后并不走Fragment的onActivityResult()方法,需要把分享的方法写在Activity中,并在onActivityR_android qq空间分享 分享取消‘
文章浏览阅读1k次。JDK9 引发的血案1、因为使用mysql-connector的依赖版本对应的mysql数据库冲突,mysql8需要使用8.0.11以上的高版本 2、jdk9的反射本身存在BUG,会有warning警告,一般不影响使用,在后续版本会更新修复首先检查下自己使用的mysql 是什么版本的,5.5 、5.6版本的使用老依赖就行,新的依赖驱动Driver注册包路径已经改变、老版本依赖已经不适..._error - maxidle is deprecated