栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

HBase3.4.10 踩坑笔记

HBase3.4.10 踩坑笔记

安装

目标:安装 Hbase3.4.10 ,伪分布式,使用自带的 Zookeeper

参考

    确保有 Java 环境确保有 Hadoop 环境,我的是 Hadoop3.3.1
    [root@main ~]# start-all.sh
    Starting namenodes on [0.0.0.0]
    上一次登录:一 3月 21 18:33:26 CST 2022pts/0 上
    Starting datanodes
    上一次登录:一 3月 21 18:34:12 CST 2022pts/0 上
    Starting secondary namenodes [main]
    上一次登录:一 3月 21 18:34:14 CST 2022pts/0 上
    Starting resourcemanager
    上一次登录:一 3月 21 18:34:23 CST 2022pts/0 上
    Starting nodemanagers
    上一次登录:一 3月 21 18:34:38 CST 2022pts/0 上
    
    [root@main ~]# jps
    81285 NameNode
    85095 Jps
    82118 SecondaryNameNode
    81593 DataNode
    83017 NodeManager
    82749 ResourceManager
    
    下载并解压 压缩包添加环境变量
    # hbase config
    export Hbase_HOME=/usr/local/hbase
    export PATH=$PATH:$Hbase_HOME/bin
    
    修改配置文件hbase/conf/hbase-site.xml,hbase/conf/hbase-env.sh,按自己的需求配
    hbase/conf/hbase-site.xml
    
      
          hbase.rootdir
          hdfs://localhost:9000/hbase
      
      
        hbase.cluster.distributed
        true
      
      
      
        hbase.tmp.dir
        ./tmp
      
    
      
        hbase.unsafe.stream.capability.enforce
        false
      
    
      
        hbase.zookeeper.quorum
        localhost:2181
      
    
    
    hbase/conf/hbase-env.sh
    export JAVA_HOME=/usr/lib/jvm/java
    export Hbase_PID_DIR=/var/hbase/pids
    export Hbase_MANAGES_ZK=true
    export Hbase_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
    
    常用命令
    # 启动
    start-hbase.sh
    # 关闭
    stop-hbase.sh
    # 查询
    hbase shell
    
    正常结果
    [root@main ~]# start-hbase.sh
    localhost: running zookeeper, logging to /usr/local/hbase/bin/../logs/hbase-root-zookeeper-main.out
    running master, logging to /usr/local/hbase/logs/hbase-root-master-main.out
    : running regionserver, logging to /usr/local/hbase/logs/hbase-root-regionserver-main.out
    
    [root@main ~]# jps
    14917 Jps
    3478 SecondaryNameNode
    4119 ResourceManager
    4391 NodeManager
    2664 NameNode
    5609 HMaster
    5753 HRegionServer
    5450 HQuorumPeer
    2939 DataNode
    
    
    [root@main ~]# hbase shell
    2022-03-21 19:35:24,229 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    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.4.10, r3e5359c73d1a96dd7d2ac5bc8f987e9a89ef90ea, Mon Feb 28 10:03:15 PST 2022
    Took 0.0069 seconds                                                                                                                                                                    
    hbase:001:0> create 'user','name','age','addr','phone','email'
    Created table user
    Took 2.7152 seconds                                                                                                                                                                    
    => Hbase::Table - user
    hbase:002:0> list
    TABLE                                                                                                                                                                                  
    user                                                                                                                                                                                   
    1 row(s)
    Took 0.0979 seconds                                                                                                                                                                    
    => ["user"]
    
    [root@main ~]# stop-hbase.sh
    stopping hbase...............
    localhost: running zookeeper, logging to /usr/local/hbase/bin/../logs/hbase-root-zookeeper-main.out
    localhost: stopping zookeeper.
    
遇到的问题

    执行stop-hbase.sh命令,一直...;执行hbase shell命令,报错Server is not running yet

    [root@main ~]# stop-hbase.sh
    stopping hbase... # 一直.
    
    hbase shell
    # 省略一些启动日志,只留最后一句
    hbase:001:0> create 'user','name','age','addr','phone','email'
    # 报错
    ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
            at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2821)
            at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(MasterRpcServices.java:1205)
            at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
            at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:392)
            at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
            at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:356)
            at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:336)
    
    For usage try 'help "create"'
    

    查看日志hbase/logs/hbase-root-master-main.out,后搜索

    	2022-03-19 22:57:46,728 WARN  [RS-EventLoopGroup-3-1] concurrent.DefaultPromise: An exception was thrown by org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$4.operationComplete()
    java.lang.IllegalArgumentException: object is not an instance of declaring class
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.apache.hadoop.hbase.io.asyncfs.ProtobufDecoder.(ProtobufDecoder.java:69)
    

    原因:(我的)Hadoop3.3.1 与 Hbase3.4.10 有一点不兼容

    解决办法:hbase/conf/hbase-env.sh取消注释export Hbase_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

    hbase shell执行命令,报错ERROR: KeeperErrorCode = ConnectionLoss for /hbase/master

    [root@main ~]# stop-hbase.sh
    no hbase master found
    
    [root@main ~]# hbase shell
    # 省略一些启动日志,只留最后一句
    hbase:001:0> create 'user','name','age','addr','phone','email'
    # 报错
    ERROR: KeeperErrorCode = ConnectionLoss for /hbase/master
    For usage try 'help "create"'
    

    原因:Hadoop处于安全模式
    解决办法:执行hdfs dfsadmin -safemode leave关闭安全模式,可能继续报错(下一个)

    执行hdfs dfsadmin -safemode leave,报错

    [root@main ~]# hdfs dfsadmin -safemode leave
    safemode: Your endpoint configuration is wrong; For more details see:  http://wiki.apache.org/hadoop/UnsetHostnameOrPort
    

    原因:hadoop/etc/hadoop/core-site.xml的/configuration/property/value==0.0.0.0,见下面的代码

    
    	
    	
    	    fs.defaultFS
    	    hdfs://0.0.0.0:9000
    	
    
    

    解决办法:将0.0.0.0改为localhost

    (这个问题请忽略)start-hbase.sh时 报错,日志包冲突

    [root@main ~]# start-hbase.sh
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.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]
    running master, logging to /usr/local/hbase/logs/hbase-root-master-main.out
    

    原因:日志包冲突
    解决:把Hbase的改名,

    [root@main ~]# cd /usr/local/hbase/lib/client-facing-thirdparty
    [root@main client-facing-thirdparty]# mv slf4j-log4j12-1.7.30.jar slf4j-log4j12-1.7.30.jar.bak
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/775682.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号