2017-01-06 46 views
0

私はhbase 1.2.3クラスタを持っており、ハイブ2.1.1をインストールしています。私がbeeline/hiveserver2を通して外部hbaseテーブルを作成しようとすると、例外が発生します。しかし、私がハイブライを使うと、それは大丈夫です。作成するステートメントは、次のとおりです。Beelineは外部hbaseテーブルを作成できませんが、ハイブライはできません

create external table hbase_xing(id int, name string) 
    stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
    with serdeproperties ("hbase.columns.mapping" = ":key,f:name") 
    tblproperties("hbase.table.name" = "xing"); 

例外は次のとおりです。

Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions: 
Fri Jan 06 19:38:24 CST 2017, null, java.net.SocketTimeoutException: callTimeout=120000, callDuration=128483: row 'xing,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=c3.estarspace.com,16020,1483694415877, seqNum=0 

at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:271) 
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:223) 
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:61) 
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200) 
at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:320) 
at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:295) 
at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:160) 
at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:155) 
at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:811) 
at org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602) 
at org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366) 
at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:303) 
at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:313) 
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.preCreateTable(HBaseStorageHandler.java:205) 
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:742) 
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:735) 
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.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:154) 
at com.sun.proxy.$Proxy24.createTable(Unknown Source) 
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:830) 
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:845) 
at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:3992) 
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:332) 
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:197) 
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100) 
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2073) 
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1744) 
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1453) 
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1171) 
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1166) 
at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:242) 
at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91) 
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:334) 
at java.security.AccessController.doPrivileged(Native Method) 
at javax.security.auth.Subject.doAs(Subject.java:422) 
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) 
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:347) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: java.net.SocketTimeoutException: callTimeout=120000, callDuration=128483: row 'xing,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=c3.estarspace.com,16020,1483694415877, seqNum=0 
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:159) 
    at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:64) 
    ... 3 more 
Caused by: org.apache.hadoop.hbase.exceptions.ConnectionClosingException: Call to c3.estarspace.com/192.168.0.13:16020 failed on local exception: org.apache.hadoop.hbase.exceptions.ConnectionClosingException: Connection to c3.estarspace.com/192.168.0.13:16020 is closing. Call id=12, waitTime=3 
    at org.apache.hadoop.hbase.ipc.RpcClientImpl.wrapException(RpcClientImpl.java:1239) 
    at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1210) 
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:213) 
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:287) 
    at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:32651) 
    at org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:372) 
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:199) 
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:62) 
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200) 
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:369) 
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:343) 
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126) 
    ... 4 more 
Caused by: org.apache.hadoop.hbase.exceptions.ConnectionClosingException: Connection to c3.estarspace.com/192.168.0.13:16020 is closing. Call id=12, waitTime=3 
    at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.cleanupCalls(RpcClientImpl.java:1037) 
    at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.close(RpcClientImpl.java:844) 
    at org.apache.hadoop.hbase.ipc.RpcClientImpl$Connection.run(RpcClientImpl.java:572) 
) (state=08S01,code=1) 

が、私はハイブ-site.xmlのにhbase.zookeeper.quorumを置きます。

答えて

0

ソースコードを追跡します。HIVEがリージョンサーバーを呼び出すためにHBASE Clientを呼び出すときに間違っているように見えます。

この問題は、HBase 1.2.3にのみ存在するようです。 HBase 1.2.4にアップグレードすると、HIVE機能が正常に動作します。

関連する問題