Hadoop、HBase集群问题记录
2015-06-16 17:06
281 查看
搭建
ssh无密码设置
配置后,仍需要输入密码访问
异常按照ssh无密码配置后,仍然需要通过密码才能访问。
分析
可能是ssh相关目录和文件权限未设置。
解决方法
1、将.ssh目录权限修改为700(不可以更高,否则会不安全);
2、将authorized文件权限修改为600。
启动、关闭异常
Warning: $HADOOP_HOME is deprecated.
异常Hadoop启动和关闭出现这句警告信息。
分析
Hadoop 在bin/hadoop-config.sh 中对HADOOP_HOME 进行了判断,这个警告是提醒你自己也定义了变量HADOOP_HOME。
判断发生的地方:
# the root of theHadoop installation
exportHADOOP_PREFIX=`dirname "$this"`/..
exportHADOOP_HOME=${HADOOP_PREFIX}
报出错误的地方:
if ["$HADOOP_HOME_WARN_SUPPRESS" == "" ] && ["$HADOOP_HOME" != "" ]; then
echo "Warning:\$HADOOP_HOME is deprecated." 1>&2
留着异常不会对程序的正常运行产生影响。
解决方法
添加export HADOOP_HOME_WARN_SUPPRESS=1 到 hadoop-env.sh 或者/etc/profile中,注意要添加到集群中每一个节点中。
HMaster无法启动
异常使用hbase的start-hbase脚本运行后,输入jps命令,发现master节点没有运行HMaster。或者HMaster当时启动,过一段时间后执行操作时没响应,发现又退出了。
分析
1、hadoop集群的hdfs仍处在安全模式,输入命令:
显示
这说明hdfs在安全模式下,不让写入,HMaster就无法启动。
解决方法
1、第一种情况,可以强制离开安全模式:
显示
,说明已离开。
然后重新启动HBase集群。
格式化后,datanode服务无法启动
异常将namenode格式化以后,重新启动hadoop集群,发现datanode服务没起来。
分析
datanode中的数据版本与namenode不一致。
解决方法
1、datanode节点中hdfs目录下的dfs/data/current/VERSION中的namespaceID值修改为和namenode中的该值一样;
2、方法1如果不可行,则将datanode与namenode在hdfs中的数据全部删除。
HBase集群无法停止
异常使用stop-hbase.sh命令,无法停止,一直显示:
分析
1、在hadoop安全模式下启动了hbase,则无法停止(见“HMaster无法启动”异常描述)。
2、zookeeper响应节点数量<=zookeeper节点半数时,则禁止外部读写访问,因此无法接收停止集群的命令。
3、数据块丢失,带有数据的datanode或regionserver节点失去响应。
解决方法
1、离开安全模式。
2、手动启动失去相应的节点zookeeper服务,直至达到半数以上,命令如下:
hbase-daemon.sh start zookeeper
3、手动启动datanode服务,启动命令如下:
手动启动失去相应的regionserver服务,命令如下:
hbase-daemon.sh start regionserver
运行时异常
从节点失去响应
异常集群从节点因为某些原因停止,而主节点一直运行,需要手动启动从节点的服务。
解决方法
如果该节点是datanode,则启动命令如下:
Tasktracker节点,则启动命令如下:
Zookeeper节点:
hbase-daemon.sh start zookeeper
Regionserver节点:
hbase-daemon.sh start regionserver
HBase客户端无法访问
异常集群的zookeeper监控端口显示如下错误:
分析
1、zookeeper节点活跃数<=集群节点半数
解决方法
1、手动启动zookeeper,直至数量达到集群节点个数的半数以上。再次访问master节点的60010端口,不报错误,则客户端就可以访问集群。
HBase客户端访问,报NotServingRegionException异常
异常客户端访问Hbase集群时,抛出该异常信息。
分析
1、抛出这个异常是因为regionserver意外停掉,而regionserver关闭的原因有以下几种: HBase集群在读写过程中,可能由于Region Split或Region Balance等导致Region的短暂下线,此时客户端与HBase集群进行RPC操作时会抛出NotServingRegionException异常,从而导致读写操作失败。
2、在没有停止hbase集群时重启机器,导致执行list时表名存在,而执行其他命令时提示该表不存在。通过status命令查看,regionserver运行正常,而region部分或者全部下线。
HBase集群运行时,regionserver异常退出
异常集群的其它进程都在,regionserver退出,单独启动,报以下异常:
分析
集群的各台机器时间对应不上。
解决方法
将时间同步。
相关文章推荐
- 使用 OpenLDAP 集中管理用户帐号
- 浅析CentOS和RedHat Linux的区别
- Linux makefile 课程 非常具体的,和理解
- linux文件名通配
- tomcat manager 配置
- 通过JS语句判断WEB网站的访问端是电脑还是手机
- Shell 编程
- LINUX系统中的循环定时任务
- linux 卸载php mysql apache
- 那些年我们一起用过的获取手机号码的系统
- openstack对接vcenter虚拟机管理器命名来源
- opencv cvZero
- 如何在CentOS上配置基于主机的入侵检测系统?
- LINUX常用命令总结笔记
- 一些linux小笔记
- 【转】 bash简介及通配符、扩展通配符 shopt -s extglob
- ssh 无密码登录
- [hadoop hive] hive总结
- hadoop性能测试
- 第一章:Android之Linux(Ubuntu)环境配置