这是第一次出勤部署产品。遇到不可控问题,解决,写个心得。记录一下吧^^

在排查问题的过程中,学到不少知识。

(1)centos系统盘和数据盘分开,装操作系统的人没有将IT的空间分配出来,所以分区,自动挂载

#lvmdiskscan 查看哪些设备成为了物理卷. 检测硬盘和分区中的逻辑巻管理信息

只有/dev/sda*,说明只有一个物理卷,其余的是/dev/ram*

fdisk /dev/sdb

d n p 1 w 即可删除分区,创建一个新的磁盘。

格式化:mkfs.ext4 /dev/sdb1

查看:ls -l /dev/sdb*  显示有/dev/sdb 和 /dev/sdb1 两项,缺一不可

挂载:mkdir /data1

mount /dev/sdb1 /data1

这样就可以在lvmscandisk下看得到了。在配置平台的时候,就可以作为数据盘了。

(2)ntp同步时间:ntp很重要,因为很多通信都基于ntp同步的

修改date:只有在时间相差不超过10秒时,ntp服务才起效。

date -s '2013-06-17 09:32:10' 修改时间

clock -r 查看CMOS时间

clock -w 将时间写入CMOS

另外一种写法:hwclock -set -date="1/23/01 22:16:59"

ntp服务:ntpq -p

# ntpq -p
Name or service not known

检查:yum list ntp 或者 rpm -qa | grep ntp

再检查/etc/ntp.conf

查看一下内网同步ntp的方法

(3)安装http服务

http没启动,就不能访问本地/var/www/html。

先修改/etc/yum.repo.d/Centos.repo(其余外来的repo最好先删掉)

修改baseurl:baseurl=http://hidata1/redhat 改成 baseurl=file:///var/www/html/redhat 连接到离线安装包。

再yum list http*

再yum install httpd

(4) ambari部署后,Hbase Master启动成功后,自动消失,尝试过很多方法,有些也很有道理。但是归根到底,看日志,一行一行的不放过任何信息是最有效的方式。

如我主要报错的信息是这样的

Dhbase.log.dir=/var/log/hbase -Dhbase.log.file=hbase-hbase-master-hidata2.log
2015-04-23 17:39:16,297 INFO [main] util.ServerCommandLine: vmInputArguments=[-Dproc_master, -XX:OnOutOfMemoryError=kill, -9, %p, -Xmx1000m, -XX:+UseConcMarkSweepGC, -XX:ErrorFile=/var/log/hbase/hs_err_pid%p.log, -verbose:gc, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -Xloggc:/var/log/hbase/gc.log-201504231739, -Xmx1024m, -Dhbase.log.dir=/var/log/hbase, -Dhbase.log.file=hbase-hbase-master-hidata2.log, -Dhbase.home.dir=/usr/lib/hbase/bin/.., -Dhbase.id.str=hbase, -Dhbase.root.logger=INFO,RFA, -Djava.library.path=:/usr/lib/hadoop/lib/native/Linux-amd64-64:/usr/lib/hadoop/lib/native, -Dhbase.security.logger=INFO,RFAS]
2015-04-23 17:39:16,420 DEBUG [main] master.HMaster: master/hidata2/21.148.2.41:60000 HConnection server-to-server retries=350 2015-04-23 17:39:17,589 INFO [main] master.HMaster: hbase.rootdir=hdfs://hidata1:8020/apps/hbase/data,
2015-04-23 17:39:17,684 INFO [main-SendThread(hidata6:2181)])] zookeeper.ClientCnxn: Opening socket connection to server hidata6/21.148.2.45:2181. Will not attempt to authenticate using SASL (java.lang.SecurityException: Unable to locate a login configuration) 2015-04-23 17:39:17,907 INFO [master:hidata2:60000] mortbay.log: jetty-6.1.26
2015-04-23 17:39:18,202 INFO [master:hidata2:60000] mortbay.log: Started SelectChannelConnector@0.0.0.0:60010
2015-04-23 17:39:18,323 FATAL [master:hidata2:60000] master.HMaster: Unhandled exception. Starting shutdown.
java.lang.ExceptionInInitializerError
at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.toByteArray(MasterAddressTracker.java:157)
at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.setMasterAddress(MasterAddressTracker.java:133)
at org.apache.hadoop.hbase.master.ActiveMasterManager.blockUntilBecomingActiveMaster(ActiveMasterManager.java:155)
at org.apache.hadoop.hbase.master.HMaster.becomeActiveMaster(HMaster.java:664)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:602)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: Failed to create local dir /boot/efi/hadoop/hbase/local/jars, DynamicClassLoader failed to init
at org.apache.hadoop.hbase.util.DynamicClassLoader.<init>(DynamicClassLoader.java:94)
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:197)
... 6 more
2015-04-23 17:48:43,897 INFO [main] util.ServerCommandLine: vmInputArguments=[-Dproc_master, -XX:OnOutOfMemoryError=kill, -9, %p, -Xmx1000m, -XX:+UseConcMarkSweepGC, -XX:ErrorFile=/var/log/hbase/hs_err_pid%p.log, -verbose:gc, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -Xloggc:/var/log/hbase/gc.log-201504231748, -Xmx1024m, -Dhbase.log.dir=/var/log/hbase, -Dhbase.log.file=hbase-hbase-master-hidata2.log, -Dhbase.home.dir=/usr/lib/hbase/bin/.., -Dhbase.id.str=hbase, -Dhbase.root.logger=INFO,RFA, -
2015-04-23 17:39:18,335 INFO [master:hidata2:60000] mortbay.log: Stopped SelectChannelConnector@0.0.0.0:60010
2015-04-23 17:39:18,439 WARN [master:hidata2:60000] master.ActiveMasterManager: Failed get of master address: java.io.IOException: Can't get master address from ZooKeeper; znode data == null
2015-04-23 17:39:18,442 INFO [master:hidata2:60000] zookeeper.ZooKeeper: Session: 0x34ce5a44b610000 closed
2015-04-23 17:39:18,442 INFO [master:hidata2:60000] master.HMaster: HMaster main thread exiting
2015-04-23 17:39:18,442 INFO [main-EventThread] zookeeper.ClientCnxn: EventThread shut down
2015-04-23 17:39:18,442 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: HMaster Aborted
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:192)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:134)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2778)

  

这是抽取出来可能存在错误或者有用信息的地方。这样可以看出

create local dir /boot/efi/hadoop/hbase/local/jars, DynamicClassLoader failed to init导致的内存溢出和进程崩溃。查看了一下/boot下面空间(df -lh),发现只有200M,原因很显然。比如C盘是我们的系统盘,如果系统盘空间不足,程序会运行会很慢或者直接出现内存不足的提示。当hbase进程起来,需要加载很多的配置和类文件到local dir,到/boot下明显不行。

  

Ambari部署HDP:HBase Master启动后自动消失的更多相关文章

  1. [Elixir002]节点启动后自动连接其它节点

    问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动 ...

  2. hadoop namenode又一次格式化以后hbase的hmaster进程启动后立即消失

    hadoop的 namenode又一次格式化以后.重新启动hbase.发现它的hmaster进程启动后立即消失,查看一大堆日志,最后在zookeeper的日志里发现例如以下问题 Unable to r ...

  3. web容器启动后自动执行程序的几种方式比较

    1.       背景 1.1.       背景介绍 在web项目中我们有时会遇到这种需求,在web项目启动后需要开启线程去完成一些重要的工作,例如:往数据库中初始化一些数据,开启线程,初始化消息队 ...

  4. Hbase master启动报错:Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster Caused by: java.net.UnknownHostException:

    Hbase master启动报错: java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop ...

  5. springboot启动后自动退出

    有时新建的springboot启动后自动退出运行,如图所示: 此种情况大都数是因为pom文件加入了tomcat的依赖,与springboot内嵌的tomcat冲突导致,所以只需将pom文件中的tomc ...

  6. js弹框3秒后自动消失

    开发中有时候会需要最出弹框后,过几秒自动消失的效果,下面给大家分享一下我自己做的一个小案例. 案例中的弹框使用的是bootstrap里面的模态框,实现自动消失则用的是js中的setInterval方法 ...

  7. jq弹框 (1)内容自适应宽度 2(内容框显示,几秒后自动消失)

      <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&q ...

  8. Axure实现提示文本单击显示后自动消失的效果

    Axure实现提示文本单击显示后自动消失的效果 方法/步骤     如图所示,框出的部分为提示文本(已经命名为tooltip),希望达到的效果是默认加载时不显示,点击帮助图标后显示,且2秒后自动消失. ...

  9. HBase Master 启动

    –>首先初始化HMaster –>创建一个rpcServer,其中并启动 –>启动一个Listener线程,功能是监听client的请求,将请求放入nio请求队列,逻辑如下: –&g ...

随机推荐

  1. Go基础--goroutine和channel

    goroutine 在go语言中,每一个并发的执行单元叫做一个goroutine 这里说到并发,所以先解释一下并发和并行的概念: 并发:逻辑上具备同时处理多个任务的能力 并行:物理上在同一时刻执行多个 ...

  2. wget实例

    问题:下载http://web.utah.edu/thorne/computing/网页中所有的文件 命令:wget -c -r -np -k -L -p http://web.utah.edu/th ...

  3. docker之NGINX镜像构建

    Nginx是一个高性能的Web和反向代理服务器,它具有很多非常优越的特性:1.作为Web服务器.2.作为负载均衡服务器.3.作为邮件代理服务器.4.安装及配置简单.接下来我们介绍在docker构建ng ...

  4. C#在winform中读写ini文件

    class WY_INI { static string IniFileName; static char[] TrimChar = { ' ', '\t' }; public string[] Ge ...

  5. Effective Java 之-----谨慎的覆盖clone方法

    1.概述 如果clone方法返回一个由构造器创建的对象,它就得到有错误的类.因此,如果覆盖了非final类中的clone方法,则应该返回一个通过调用super.clone得到的对象.如果类的所有超类都 ...

  6. python3,进程间的通信

    本文来源于python 3.5版本的官方文档 multiprocessing模块为进程间通信提供了两种方法: 1.进程队列queue The Queue class is a near clone o ...

  7. Apache自带的rotatelogs实现日志轮转

    用Apache自带的rotatelogs程序处理apache生成的日志自动截断重新生成,rotatelogs是一个配合Apache管道日志功能使用的简单程序.设置方法如下: 编辑Apache的主配置文 ...

  8. Java 常用List集合使用场景分析

    Java 常用List集合使用场景分析 过年前的最后一篇,本章通过介绍ArrayList,LinkedList,Vector,CopyOnWriteArrayList 底层实现原理和四个集合的区别.让 ...

  9. 《Thinking in Java》学习笔记(二)

    1.Java方法的重载 如果几个方法都有相同的名字,区分它们就需要重载来完成. 构成重载的种类: 1)形参的个数不同  2) 形参的类型不同 3) 形参的顺序不同 注意,返回值.抛出的异常和修饰符的不 ...

  10. Linux修改IP永久生效

    修改IP永久生效按以下方法: 1)修改配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0(eth0,第一块网卡,如果是第二块则为eth1) 按如下修改ip ...