2016-07-21 76 views
1

我是凤凰城的全新用户,并可能错过了一些简单的巴掌额头。阿帕奇菲尼克斯无法连接到HBase

  • HBase的

    21:44:23 /浇口$ PS -ef | grep的HMASTER

    501 55936 55922 0 9:50 PM ttys014 0:18.12 /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin/java -Dproc_master -XX:OnOutOfMemoryError =杀死-9%P -Djava.net.preferIPv4Stack =真 - .. -Dhbase.security.logger = INFO,RFAS org.apache.hadoop.hbase.master.HMaster开始

  • ,我们可以通过hbase shell和查询的东西连接到它:

    HBase的(主):010:0>扫描 'T1'

    ROW COLUMN + CELL R1ç olumn = F1:C1,时间戳= 1469077174795,在0.0370秒

现在我已复制的凤4.4.6罐子到$ HBASE_HOME/lib目录值= VAL1 1行(多个),重新启动HBase的,并试图通过sqlline.py连接:

$sqlline.py mellyrn.local:2181 

Setting property: [incremental, false] 
Setting property: [isolation, TRANSACTION_READ_COMMITTED] 
issuing: !connect jdbc:phoenix:mellyrn.local:2181 none none org.apache.phoenix.jdbc.PhoenixDriver 
Connecting to jdbc:phoenix:mellyrn.local:2181 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/shared/phoenix-4.7.0-HBase-1.1-bin/phoenix-4.7.0-HBase-1.1-client.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/local/Cellar/hadoop/2.6.0/libexec/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
16/07/20 22:03:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
Error: org.apache.hadoop.hbase.DoNotRetryIOException: Class org.apache.phoenix.coprocessor.MetaDataEndpointImpl cannot be loaded Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks 
    at org.apache.hadoop.hbase.master.HMaster.warnOrThrowExceptionForFailure(HMaster.java:1603) 
    at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1535) 
    at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1452) 
    at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:429) 
    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:52195) 
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2127) 
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) 
    at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133) 
    at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108) 
    at java.lang.Thread.run(Thread.java:745) (state=08000,code=101) 
org.apache.phoenix.except 

.. 

Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: 
org.apache.hadoop.hbase.DoNotRetryIOException: Class 
org.apache.phoenix.coprocessor.MetaDataEndpointImpl cannot be loaded Set 
hbase.table.sanity.checks to false at conf or table descriptor if you want to 
bypass sanity checks 

因此,对什么是需要弹出phoenix任何提示将是有益的。

回答

1

检查$HBASE_HOME/lib$HBASE_HOME/conf/hbase-site.xmlHMaster

当您启动凤凰,它会创建4个系统表:

SYSTEM.CATALOG 
SYSTEM.FUNCTION 
SYSTEM.SEQUENCE 
SYSTEM.STATS 

SYSTEM.CATALOGSYSTEM.FUNCTION申报使用协处理器org.apache.phoenix.coprocessor.MetaDataEndpointImpl,但似乎你HMASTER无法加载它。

2

上面的异常抛出时HBase的主人无法加载凤的server.jar,即使凤安装说明说只需重新启动该地区的服务器,它的不够,复制凤凰的server.jar到HBase的主用和备用大师与区域服务器相同并重新启动它们。