zoukankan      html  css  js  c++  java
  • Ambari部署HDP:HBase Master启动后自动消失

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

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

    (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下明显不行。

      

  • 相关阅读:
    ruia笔记
    一个有趣的小例子,带你入门协程模块-asyncio
    python标准库之secrets
    转载:(Mac)在bash和zsh配置环境变量path的几种方法
    mac安装mysql8.0的错误
    Mac下的安装 mongodb
    mac 安装zsh教程资料
    mac 报错Root chmod operation not permitted on file
    喝奶粉的宝宝一天喝多少水 奶粉喂养的宝宝每天要喝多少水
    洗碗机耗材:finish 亮碟 产品的选购
  • 原文地址:https://www.cnblogs.com/kxdblog/p/4454369.html
Copyright © 2011-2022 走看看