疑似分散モードで Hadoop と hbase を使用して単一ノードをセットアップしました。もちろん、zookeeper と regionserver もインストールされています。
すべてがスムーズに実行されますが、Java クライアント API 経由で hbase に接続すると、例外が発生します。
この問題を解決するために何時間も試みましたが、できません。remotemachine:60000 に telnet で接続できるので、ポート ファイアウォールの問題ではありません。ログには、特別なことは何も報告されていません。
(ログから、debianhdfs はホストファイルの IP に正しく設定されていることに注意してください)
12/05/06 19:47:27 情報 Zookeeper.ClientCnxn: サーバー debianhdfs/192.168.137.135:2181 へのソケット接続を開いています。 137.135:2181、開始セッション 12/05/06 19:47:27 INFO Zookeeper.ClientCnxn: サーバー debianhdfs/192.168.137.135:2181 でセッションの確立が完了、セッション ID = 0x13721c707ff002f、ネゴシエートされたタイムアウト = 40000 12/05/06 19:47 :28 INFO client.HConnectionManager$HConnectionImplementation: getMaster 試行 0/1 が失敗しました。もう再試行する必要はありません。java.net.ConnectException: 接続が拒否されました: org.apache.hadoop.net.SocketIOWithTimeout の sun.nio.ch.SocketChannelImpl.finishConnect(不明なソース) の sun.nio.ch.SocketChannelImpl.checkConnect(ネイティブ メソッド) に詳細情報はありません.connect(SocketIOWithTimeout.java:
スタンドアロン モードでは、非擬似分散で、同じコードで次の例外が発生します。
12/05/06 20:32:49 情報 Zookeeper.ClientCnxn: サーバー debianhdfs/192.168.137.135:2181 へのソケット接続を開いています。 137.135:2181、開始セッション 12/05/06 20:32:49 INFO zookeeper.ClientCnxn: サーバー debianhdfs/192.168.137.135:2181 でセッションの確立が完了、セッション ID = 0x1372210f8fe0004、ネゴシエートされたタイムアウト = 40000 12/05/06 20:32 :49 INFO client.HConnectionManager$HConnectionImplementation: ZooKeeper は利用可能ですが、アクティブなマスターの場所が見つかりません 12/05/06 20:32:49 INFO client.HConnectionManager$HConnectionImplementation: getMaster 試行 0/1 が失敗しました。もう再試行する必要はありません。org.apache.hadoop.hbase.MasterNotRunningException は org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation で発生します。
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "debianhdfs");
config.set("hbase.zookeeper.property.clientPort","2181");
HBaseAdmin.checkHBaseAvailable(config);