thrift/hbase を使用してそこに配置された HDFS から Hive テーブルにデータを抽出しようとしていますが、次のエラー メッセージの解決策を見つけるのに苦労しています。
ERROR client.HConnectionManager$HConnectionImplementation (HConnectionManager.java:checkIfBaseNodeAvailable(751))
– Check the value configured in ‘zookeeper.znode.parent’. There could be a mismatch with the one configured in the master.
に続く;
FAILED: Error in metadata: MetaException(message:org.apache.hadoop.hbase.MasterNotRunningException
これらのエラーは、Hive ターミナルから次のクエリを実行した後に Hive ログに表示されます。
create external table d_table (id bigint, date string)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler’
with serdeproperties (“hbase.columns.mapping” = “:key,a:date”)
TBLPROPERTIES (“hbase.table.name” = “demo_table”);
テーブルが存在し、データが取り込まれ、hbase シェル内から見つけることができます。HMASTER プロセスが実行されていることを確認しました。「zookeeper.znode.parent」はデフォルト値に設定されており、hbase はこれを受け入れます (変更された場合、hbase は文句を言うので、それが正しいと確信しています)。問題なく ZK クライアントを確立できました。
この問題を調査する段階に達しましたが、解決策は、使用している HBase のバージョンに対して Hive を再コンパイルすることであると言われました。これは、ディストリビューションを使用するという点に反するものです。ZK と HBase マスターは、HiveQL コマンドを実行している同じマシン上にあります。
別のマシンからクエリを実行すると、次のように表示されます。
ERROR client.HConnectionManager$HConnectionImplementation
(HConnectionManager.java:checkIfBaseNodeAvailable(751))
– Check the value configured in ‘zookeeper.znode.parent’. There could be a mismatch with the one configured in the master.
WARN zookeeper.ClientCnxn (ClientCnxn.java:run(1089))
– Session 0×0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
WARN zookeeper.RecoverableZooKeeper (RecoverableZooKeeper.java:retryOrThrow(219))
– Possibly transient ZooKeeper exception:
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode =
ConnectionLoss for /hbase/hbaseid
Zookeeper.quorum の hive-site.xml ファイルにプロパティを追加すると、最初のマシンと同じ動作になります。Ambari から Zookeeper.quorum の値を取得しました。
Hortonworks リリース 1.3 ディストリビューションを使用しています。HCatalog を使用して Hive を正常に実行してテーブルなどを作成し、その他のさまざまなシナリオを実行しました。さらに詳しい情報が必要な場合はお知らせください。この投稿をクリーンに保ちたいと思います。
前もって感謝します