Hive 0.13和HBase 0.98.6.1整合出现错误记录下
hive> CREATE TABLE hbase_table_1(key int, value string)
> STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
> WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
> TBLPROPERTIES ("hbase.table.name" = "xyz1");
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.io.IOException: Attempt to start meta tracker failed.
at org.apache.hadoop.hbase.catalog.CatalogTracker.start(CatalogTracker.java:201)
at org.apache.hadoop.hbase.client.HBaseAdmin.getCatalogTracker(HBaseAdmin.java:230)
at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:277)
at org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:293)
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.preCreateTable(HBaseStorageHandler.java:162)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:554)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:547)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:89)
at com.sun.proxy.$Proxy11.createTable(Unknown Source)
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:613)
at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:4189)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:281)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:153)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1503)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1270)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1088)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:911)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:901)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:268)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:220)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:423)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:792)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:686)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/meta-region-server
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:220)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.watchAndCheckExists(ZKUtil.java:425)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.start(ZooKeeperNodeTracker.java:77)
at org.apache.hadoop.hbase.catalog.CatalogTracker.start(CatalogTracker.java:197)
... 33 more
)
这个问题网上没找到解决办法,发现是hbase的错误
查了一下hbase的启动日志,也发现一个错误
2014-10-08 14:57:56,261 INFO [main] zookeeper.ZooKeeper: Client environment:user.name=jifeng
2014-10-08 14:57:56,262 INFO [main] zookeeper.ZooKeeper: Client environment:user.home=/home/jifeng
2014-10-08 14:57:56,262 INFO [main] zookeeper.ZooKeeper: Client environment:user.dir=/home/jifeng/hbase-0.98.6.1-hadoop2
2014-10-08 14:57:56,263 INFO [main] zookeeper.ZooKeeper: Initiating client connection, connectString=feng02:2181,feng01:2181,feng03:2181 sessionTimeout=90000 watcher=master:60000, quorum=feng02:2181,feng01:2181,feng03:2181, baseZNode=/hbase
2014-10-08 14:57:56,293 INFO [main-SendThread(feng02:2181)] zookeeper.ClientCnxn: Opening socket connection to server feng02/10.6.3.201:2181. Will not attempt to authenticate using SASL (unknown error)
2014-10-08 14:57:56,300 WARN [main-SendThread(feng02:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.NoRouteToHostException: 没有到主机的路由
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
2014-10-08 14:57:56,411 INFO [main-SendThread(feng01:2181)] zookeeper.ClientCnxn: Opening socket connection to server feng01/10.6.3.84:2181. Will not attempt to authenticate using SASL (unknown error)
2014-10-08 14:57:56,412 INFO [main-SendThread(feng01:2181)] zookeeper.ClientCnxn: Socket connection established to feng01/10.6.3.84:2181, initiating session
2014-10-08 14:57:56,419 WARN [main] zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper, quorum=feng02:2181,feng01:2181,feng03:2181, exception=org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
2014-10-08 14:57:56,419 INFO [main] util.RetryCounter: Sleeping 1000ms before retry #0...
2014-10-08 14:57:56,438 INFO [main-SendThread(feng01:2181)] zookeeper.ClientCnxn: Session establishment complete on server feng01/10.6.3.84:2181, sessionid = 0x48ee8cbea40000, negotiated timeout = 90000
2014-10-08 14:57:57,489 INFO [RpcServer.responder] ipc.RpcServer: RpcServer.responder: starting
2014-10-08 14:57:57,492 INFO [RpcServer.listener,port=60000] ipc.RpcServer: RpcServer.listener,port=60000: starting
2014-10-08 14:57:57,586 INFO [master:feng01:60000] mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
2014-10-08 14:57:57,715 INFO [master:feng01:60000] http.HttpServer: Added global filter 'safety' (class=org.apache.hadoop.http.HttpServer$QuotingInputFilter)
2014-10-08 14:57:57,720 INFO [master:feng01:60000] http.HttpServer: Added filter static_user_filter (class=org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter) to context master
2014-10-08 14:57:57,721 INFO [master:feng01:60000] http.HttpServer: Added filter static_user_filter (class=org.apache.hadoop.http.lib.StaticUserWebFilter$StaticUserFilter) to context static
2014-10-08 14:57:57,744 INFO [master:feng01:60000] http.HttpServer: Jetty bound to port 60010
2014-10-08 14:57:57,744 INFO [master:feng01:60000] mortbay.log: jetty-6.1.26
2014-10-08 14:57:58,225 INFO [master:feng01:60000] mortbay.log: Started SelectChannelConnector@0.0.0.0:60010
2014-10-08 14:57:58,350 DEBUG [main-EventThread] master.ActiveMasterManager: A master is now available
2014-10-08 14:57:58,353 INFO [master:feng01:60000] master.ActiveMasterManager: Registered Active Master=feng01,60000,1412751474911
2014-10-08 14:57:58,360 INFO [master:feng01:60000] Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS
2014-10-08 14:57:58,692 INFO [master:feng01:60000] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2014-10-08 14:57:58,715 INFO [master:feng01:60000] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2014-10-08 14:57:58,731 INFO [master:feng01:60000] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2014-10-08 14:57:58,753 INFO [master:feng01:60000] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2014-10-08 14:57:58,772 INFO [master:feng01:60000] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
2014-10-08 14:57:58,798 DEBUG [master:feng01:60000] util.FSTableDescriptors: Current tableInfoPath = hdfs://feng01:9000/hbase/data/hbase/meta/.tabledesc/.tableinfo.0000000001
2014-10-08 14:57:58,825 DEBUG [master:feng01:60000] util.FSTableDescriptors: TableInfo already exists.. Skipping creation
2014-10-08 14:57:58,875 INFO [master:feng01:60000] fs.HFileSystem: Added intercepting call to namenode#getBlockLocations so can do block reordering using class class org.apache.hadoop.hbase.fs.HFileSystem$ReorderWALBlocks
2014-10-08 14:57:58,883 DEBUG [master:feng01:60000] master.SplitLogManager: Distributed log replay=false, hfile.format.version=2
2014-10-08 14:57:58,889 INFO [master:feng01:60000] master.SplitLogManager: Timeout=120000, unassigned timeout=180000, distributedLogReplay=false
2014-10-08 14:57:58,892 INFO [master:feng01:60000] master.SplitLogManager: Found 0 orphan tasks and 0 rescan nodes
2014-10-08 14:57:58,921 INFO [master:feng01:60000] zookeeper.RecoverableZooKeeper: Process identifier=hconnection-0x7f963b79 connecting to ZooKeeper ensemble=feng02:2181,feng01:2181,feng03:2181
2014-10-08 14:57:58,921 INFO [master:feng01:60000] zookeeper.ZooKeeper: Initiating client connection, connectString=feng02:2181,feng01:2181,feng03:2181 sessionTimeout=90000 watcher=hconnection-0x7f963b79, quorum=feng02:2181,feng01:2181,feng03:2181, baseZNode=/hbase
2014-10-08 14:57:58,922 INFO [master:feng01:60000-SendThread(feng02:2181)] zookeeper.ClientCnxn: Opening socket connection to server feng02/10.6.3.201:2181. Will not attempt to authenticate using SASL (unknown error)
2014-10-08 14:57:58,923 WARN [master:feng01:60000-SendThread(feng02:2181)] zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.NoRouteToHostException: 没有到主机的路由
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
2014-10-08 14:57:59,025 WARN [master:feng01:60000] zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper, quorum=feng02:2181,feng01:2181,feng03:2181, exception=org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
2014-10-08 14:57:59,026 INFO [master:feng01:60000] util.RetryCounter: Sleeping 1000ms before retry #0...
2014-10-08 14:57:59,026 INFO [master:feng01:60000-SendThread(feng03:2181)] zookeeper.ClientCnxn: Opening socket connection to server feng03/10.6.3.202:2181. Will not attempt to authenticate using SASL (unknown error)
2014-10-08 14:57:59,027 INFO [master:feng01:60000-SendThread(feng03:2181)] zookeeper.ClientCnxn: Socket connection established to feng03/10.6.3.202:2181, initiating session
2014-10-08 14:57:59,030 INFO [master:feng01:60000-SendThread(feng03:2181)] zookeeper.ClientCnxn: Session establishment complete on server feng03/10.6.3.202:2181, sessionid = 0x248ee8c90290001, negotiated timeout = 90000
2014-10-08 14:58:00,055 DEBUG [master:feng01:60000] catalog.CatalogTracker: Starting catalog tracker org.apache.hadoop.hbase.catalog.CatalogTracker@5f872ecf
发现配置的时候,feng02,feng03没有 zookeeper-3.4.6
scp -r ./zookeeper-3.4.6 jifeng@feng02:/home/jifeng
scp -r ./zookeeper-3.4.6 jifeng@feng03:/home/jifeng
停止Hbase:bin/stop-hbase.sh
重新启动: bin/start-hbase.sh
没有问题了,不过还不清楚什么原因