技术标签: 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
文章浏览阅读8.3k次,点赞6次,收藏41次。网络故障概述在信息化社会里,各企事业单位对网络的依赖程度越来越高,网络随时都可能发生故障,影响正常工作。所以,必须掌握相应的技术及时排除故障。有些单位如电信、电子商务公司、游戏运营商等使用的网络一旦发生故障,若不能及时排除,会产生很大的损失。这些单位一般会安装网络故障管理软件,通过软件来管理和排除网络的故障。从网络故障本身来说,经常会遇到的故障有:物理层故障数据链路层故障网络层故障以太网络故障广域..._网络诊断工具支持从公网向私网的网络诊断工具发起诊断测试
文章浏览阅读2.5k次。19701.1 00:00:00年到2000.1.1 00:00:00有多少秒?软件中哪里给的默认时间2000年的?_px4日志日期未知
文章浏览阅读736次。bool PickEntity(Ogre::RaySceneQuery* mRaySceneQuery, Ogre::Ray &ray, Ogre::Entity **result, Ogre::uint32 mask ,Ogre::Vector3 &hitpoint, bool excludeInVisible,const Ogre::String& excludeobject, Ogre::R_ogre射线准确求交
文章浏览阅读489次。LIBRARIES+=boost_threadstdc++boost_regexhttps://github.com/rbgirshick/fast-rcnn/issues/52转载于:https://www.cnblogs.com/huhuai/p/10624740.html_/usr/lib/x86_64-linux-gnu/libopencv_highgui.so: undefined reference to `tiff
文章浏览阅读842次,点赞22次,收藏19次。在目前的KingbaseES的使用过程中,我们会遇到数据库需要存储XML格式的数据,或者需要对查询的数据进行转换的问题,XML格式的数据类似于HTML格式数据,XML是一种扩展标记语言,最早于1998年被引入软件工业界,它不仅可以在WEB前端使用还可以应用于后端数据处理以及数据库存储等。_数据库中的xml数据怎么改
文章浏览阅读581次。SFU 的全称是:Selective Forwarding Unit,是一种通过服务器来路由和转发 WebRTC 客户端音视频数据流的方法。如图所示,SFU 服务器最核心的特点是把自己 “伪装” 成了一个 WebRTC 的 Peer 客户端,WebRTC 的其他客户端其实并不知道自己通过 P2P 连接过去的是一台真实的客户端还是一台服务器,我们通常把这种连接称之为 P2S,即:Peer to Server。_rtc sfu
文章浏览阅读5k次,点赞2次,收藏9次。从最佳并发用户数和最大并发用户数看性能测试原文地址:http://www.cnblogs.com/jackei/archive/2006/11/20/565527.html文章中介绍一个理发店理论,然后引出最佳并发用户数和最大并发用户数的概念 背景:理发店共有3名理发师,每名理发师完成一次理发都耗时1小时,店里有还有一些位子供客人等位,每个客人在_激活用户数,最大并发
文章浏览阅读6.4k次。阅读目录1. cron服务【Ubuntu环境】 2. crontab用法 3. 编辑crontab文件 4. 流程举例 5. 几个例子Linux中,周期执行的任务一般由cron这个守护进程来处理。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。回到顶部1. cron服务【Ubu..._cron 每周日凌晨6点执行
文章浏览阅读77次。学习过程中涉及很多统计学公式,然而过去快10年,忘得一干二净,借此文复习一下叭~
文章浏览阅读6.6k次,点赞2次,收藏2次。之前在实际工程中查一个软件崩溃的问题,具体调试到的位置是AcDbDatabase::saveAs函数,应该是将数据库保存回CAD图纸时触发了CAD的"eNotOpenForWrite"报错随后软件崩溃。根据以往的使用情况来看,saveAs函数一般不会导致CAD的报错,且在具体测试后,确定只有该工程中一张特定图纸打开时,调用功能会导致异常发生。其他图纸操作一切正常,包括在打开其他图纸的情况下,对该特_enotopenforwrite
文章浏览阅读1.6k次。问题现象: 伪代码 使用流程 AcrtivityA– > DialogFragment– > ActivityB– > back to ActivityA { if ( getDialog().isShowing() ){ DialogFragment.dismiss()} } 发现Android9系统环境下 BaseJDDialogFragment调用getDialog().isShowing,返回为true,而Android10系..._android10系统中dialog.isshowing返回false问题
文章浏览阅读1.5k次。下载地址 f1 截图 c 复制_snipaste截图快捷键