暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【Hbase2.x:排障】HBase2.0.2配置HA 出现Master is initializing异常问题处理

知否Tech 2020-03-19
1829


“ Hbase配置HA,后期执行创建表或查看namespace等操作时报错Master is initializing。”



Hbase2.0.2配置HA,Ambari配置较简单,不赘述。





01



问题现场




    HDP3.1.4安装完毕,配置NameNode HA,再进行HMaster HA配置,Hbase启动正常,但执行创建表或查看namespace等操作时报错Master is initializing。


    hbase(main):006:0> list_namespace
    NAMESPACE


    ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2977)
    at org.apache.hadoop.hbase.master.HMaster.getNamespaces(HMaster.java:3273)
    at org.apache.hadoop.hbase.master.MasterRpcServices.listNamespaceDescriptors(MasterRpcServices.java:1203)
    at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:131)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)


    List all namespaces in hbase. Optional regular expression parameter could
    be used to filter the output. Examples:


    hbase> list_namespace
    hbase> list_namespace 'abc.*'


    Took 9.4228 seconds
    hbase(main):007:0>




    02


    问题排查


    a.网上查资料该问题多为时间同步问题,但本案例时间同步正确,无问题。

    b.因集群为初始化集群,试图通过ambari将hbase协助重装,但问题依旧存在。

    c.故采取清理Hbase数据的方式解决。


    03


    解决方案


    清理步骤有二:zookeeper+hdfs同时清理掉hbase的数据;

    1.清理zookeeper内的hbase数据,登录zkClient,


      [root@dn75 bin]# usr/hdp/3.1.4.0-315/zookeeper/bin/zkCli.sh
      Connecting to localhost:2181
      2020-03-19 20:21:51,039 - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.6-315--1, built on 08/23/2019 05:02 GMT
      2020-03-19 20:21:51,041 - INFO [main:Environment@100] - Client environment:host.name=dn75.hdp71.unicom
      2020-03-19 20:21:51,042 - INFO [main:Environment@100] - Client environment:java.version=1.8.0_141
      2020-03-19 20:21:51,044 - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
      2020-03-19 20:21:51,044 - INFO [main:Environment@100] - Client environment:java.home=/usr/local/java/jdk1.8.0_141/jre
      2020-03-19 20:21:51,044 - INFO [main:Environment@100] - Client environment:java.class.path=/usr/hdp/3.1.4.0-315/zookeeper/bin/../build/classes:/usr/hdp/3.1.4.0-315/zookeeper/bin/../build/lib/*.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../lib/netty-3.10.5.Final.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../zookeeper-3.4.6.3.1.4.0-315.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../src/java/lib/*.jar:/usr/hdp/3.1.4.0-315/zookeeper/bin/../conf:.:/usr/local/java/jdk1.8.0_141/lib:/usr/local/java/jdk1.8.0_141/jre/lib:/usr/share/zookeeper/*
      2020-03-19 20:21:51,045 - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
      2020-03-19 20:21:51,045 - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
      2020-03-19 20:21:51,045 - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
      2020-03-19 20:21:51,045 - INFO [main:Environment@100] - Client environment:os.name=Linux
      2020-03-19 20:21:51,045 - INFO [main:Environment@100] - Client environment:os.arch=amd64
      2020-03-19 20:21:51,045 - INFO [main:Environment@100] - Client environment:os.version=3.10.0-693.el7.x86_64
      2020-03-19 20:21:51,046 - INFO [main:Environment@100] - Client environment:user.name=root
      2020-03-19 20:21:51,046 - INFO [main:Environment@100] - Client environment:user.home=/root
      2020-03-19 20:21:51,046 - INFO [main:Environment@100] - Client environment:user.dir=/usr/hdp/3.1.4.0-315/zookeeper/bin
      2020-03-19 20:21:51,047 - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5c29bfd
      Welcome to ZooKeeper!
      2020-03-19 20:21:51,079 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1013] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
      JLine support is enabled
      2020-03-19 20:21:51,154 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@856] - Socket connection established, initiating session, client: 127.0.0.1:51664, server: localhost/127.0.0.1:2181
      2020-03-19 20:21:51,168 - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1273] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x170f2bc38650000, negotiated timeout = 30000


      WATCHER::


      WatchedEvent state:SyncConnected type:None path:null
      [zk: localhost:2181(CONNECTED) 0]
      #查询zookeeper中hbase数据目录
      [zk: localhost:2181(CONNECTED) 2] ls
      [cluster, registry, controller, brokers, zookeeper, infra-solr, yarn-leader-election, hbase-unsecure, hadoop-ha, admin, isr_change_notification, log_dir_event_notification, hiveserver2, controller_epoch, hiveserver2-leader, rmstore, consumers, ambari-metrics-cluster, latest_producer_id_block, config]
      #删除
      [zk: localhost:2181(CONNECTED) 3] rmr hbase-unsecure


      2.清理HDFS中HBase的数据


        [hdfs@dn77 root]$ hadoop fs -ls apps
        Found 2 items
        drwxr-xr-x - hdfs hdfs 0 2020-03-19 14:56 /apps/hbase
        drwxr-xr-x - spark hdfs 0 2020-03-17 18:26 /apps/spark
        [hdfs@dn77 root]$
        [hdfs@dn77 root]$ hadoop fs -rm -r /apps/hbase


        3.重启zookeeper

        4.重启hadoop(包括HDFS+yarn)

        5.重启HBase,验证功能正常!


          [hbase@dn75 bin]$ hbase shell
          SLF4J: Class path contains multiple SLF4J bindings.
          SLF4J: Found binding in [jar:file:/usr/hdp/3.1.4.0-315/phoenix/phoenix-5.0.0.3.1.4.0-315-server.jar!/org/slf4j/impl/StaticLoggerBinder.class]
          SLF4J: Found binding in [jar:file:/usr/hdp/3.1.4.0-315/hadoop/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
          SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
          SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
          HBase Shell
          Use "help" to get list of supported commands.
          Use "exit" to quit this interactive shell.
          For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
          Version 2.0.2.3.1.4.0-315, r, Fri Aug 23 05:15:48 UTC 2019
          Took 0.0014 seconds
          hbase(main):001:0> create 'guotest1','info'
          Created table guotest1
          Took 1.8447 seconds
          => Hbase::Table - guotest1
          hbase(main):002:0>



          04


          问题小结


              HBase配置HA较为简单,且不易出错,本次案例排查了NTP时间同步等问题,因为初始化集群,故采取清理hbase数据方式。



          文章转载自知否Tech,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论