HBase クラスター (1 つのマスター サーバーと 3 つのリージョン サーバー) で CRUD 操作を実行するための単純な HBase クライアント プログラムを作成しました。Zookeeper インスタンスはマスター サーバーでのみ実行され、クォーラムには 4 つのサーバーすべてが含まれます。クラスターは正常に動作しており、YCSB クライアントを使用して読み取り/書き込みを実行できます (つまり、サーバー/飼育係側に問題はありません)。
Eclipse クラスパスに、すべての HBase ライブラリと hbase-0.94.7.jar (hbase-default.xml ファイルを含む) を追加しました。プロジェクトのクラスターから元の hbase-site.xml ファイルも追加しました。
最初に、変更されていない hbase-default.xml を使用してクライアント コードを実行し、クライアントが Zookeeper インスタンスのローカルホストと通信しようとしていることがわかりました。したがって、hbase-site.xml は無視されます。
次に、マスター/Zookpeer サーバーのパブリック IP アドレスを保持する 3 つのパラメーターを変更し、再試行しました。今回は、クライアントが継続的に Zookeeper とそのクォーラム メンバーに接続しようとしているという以下のエラーが表示されます。
Zookeeper クォーラムには 4 台のサーバーがすべてあり、それらの IP アドレスは次のとおりです。
WWWW // HBase マスターと Zookeeper サーバー
XXXX // HBase RS および Zookeeper クォーラム メンバー
YYYY // HBase RS および Zookeeper クォーラム メンバー
ZZZZ // HBase RS と Zookeeper クォーラム メンバー
13/06/19 13:06:23 INFO Zookeeper.ZooKeeper: クライアント接続の開始、connectString=WWWW:2181、XXXX:2181、YYYY:2181、ZZZZ:2181 sessionTimeout=180000 ウォッチャー=hconnection 13/06/19 13:06:23 INFO Zookeeper.RecoverableZooKeeper: このプロセスの識別子は 5828@Kamal-VAIO です 13/06/19 13:06:24 INFO Zookeeper.ClientCnxn: サーバー WWWW:2181 へのソケット接続を開いています。SASL を使用した認証を試行しません (不明なエラー) 13/06/19 13:06:25 警告 Zookeeper.ClientCnxn: サーバー null のセッション 0x0、予期しないエラー、ソケット接続の終了、および再接続の試行 java.net.ConnectException: 接続が拒否されました: 詳細情報はありません
13/06/19 13:06:25 警告 Zookeeper.RecoverableZooKeeper: おそらく一時的な ZooKeeper 例外: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid 13/06/19 13:06:25 INFO util.RetryCounter: #1 を再試行する前に 2000 ミリ秒スリープ中... 13/06/19 13:06:25 INFO Zookeeper.ClientCnxn: サーバー XXXX:2181 へのソケット接続を開いています。SASL を使用した認証を試行しません (不明なエラー) 13/06/19 13:06:26 警告 Zookeeper.ClientCnxn: サーバー null のセッション 0x0、予期しないエラー、ソケット接続の終了、および再接続の試行 java.net.ConnectException: 接続が拒否されました: 詳細情報はありません
... 等々