2016-07-21 2 views
1

Я совершенно новый пользователь Phoenix и, возможно, пропустил что-то пощечину лба просто.Apache Phoenix не может подключиться к HBase

  • HBase является до

    21: 44: 23/спру $ пс -ef | Grep HMaster

    501 55936 55922 0 9:50 вечера ttys014 0: 18.12 /Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin/java -Dproc_master -XX: OnOutOfMemoryError = убить -9% р -Djava.net.preferIPv4Stack = истина - .. -Dhbase.security.logger = INFO, RFAS org.apache.hadoop.hbase.master.HMaster начать

  • и мы можем подключиться к нему через hbase shell и прочее запросов :

    HBase (основные): 010: 0> сканирования 't1'

    СТРОКИ КОЛОННА + КЛЕТКИ г1 гр olumn = f1: с1, временная метка = 1469077174795, значение = знач1 1 ряд (ы) в 0.0370 секунд

Теперь я скопировал Феникс 4.4.6 банку в $ HBASE_HOME/Lib директорию, перезапущен 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.xml на HMaster.

При запуске феникса, он будет создавать 4 системные таблицы:

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

Таблицу SYSTEM.CATALOG и SYSTEM.FUNCTION объявит использовать сопроцессор org.apache.phoenix.coprocessor.MetaDataEndpointImpl, но мне кажется, что ваш HMaster не мог загрузить его.

2

Над исключения выброшено, когда мастер HBase не может загрузить феникс server.jar, хотя инструкции по установке феникса говорят просто перезапустить сервера региона, его не достаточно, скопируйте феникс server.jar к Hbase мастера и дублирующим мастерам то же, что и серверы регионов, и перезапустить их все.

Смежные вопросы