2012-05-06 16 views
1

hadoopとhbaseを擬似分散モードで1つのノードに設定しました。もちろん、zookeeperとregionserverもインストールされています。HBase Javaクライアント:getMaster Connectionの接続が拒否されました

すべてが円滑に実行されますが、Java Client APIを介してhbaseに接続する場合は例外が発生します。

私はこの問題を解決するために何時間も努力しましたが、私はできません。 私はremotemachine:60000にtelnetすることができるので、ポートファイアウォールの問題ではありません。 ログには特別なものも報告されません。

(ログからのノートが正しくホストファイルにIPに設定されているdebianhdfs)

12/05/06 19時47分27秒INFO zookeeper.ClientCnxn:サーバーdebianhdfs/192.168へのソケット接続 を開きます.137.135:2181 12/05/06 19:47:27 INFO zookeeper.ClientCnxn:ソケット接続が に設定されているdebianhdfs/192.168.137.135:2181、セッションの開始12/05/06 19:47:27 INFO zookeeper.ClientCnxn :サーバでのセッション確立完了 debianhdfs/192.168.137.135:2181、sessionid = 0x13721c707ff002f、 ネゴシエーションタイムアウト= 40000 12/05/06 19: 47:28情報 client.HConnectionManager $ HConnectionImplementation:getMasterの試行 0の1つに失敗しました。もう一度やり直してください。 java.net.ConnectException:接続 が拒否されました: sun.nio.ch.SocketChannelImpl.checkConnect(ネイティブメソッド) での情報はありません。sun.nio.ch.SocketChannelImpl.finishConnect(不明なソース): org.apache.hadoop .Net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:408)at org.apache.hadoop.hbase.ipc.HBaseClient $ Connection.setupIOstreams (HBaseClient.java:328) at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:883) at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java: 750) at org.apache.hadoop.hbase.ipc.HBaseRPC $ Invoker.invoke(HBaseRPC.java :257) $ Proxy4.getProtocolVersion(不明なソース) org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:419) org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy (HBaseRPC.java:393)at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:444)at org.apache.hadoop.hbase.client.HConnectionManager $ HConnectionImplementation.getMaster(HConnectionManager.java :567) org.apache.hadoop.hbase.client.HBaseAdmin(HBaseAdmin.java:95) で でorg.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) でMain.main(Main.java:57)スレッド "main"の例外 org.apache.hadoop.hbase.MasterNotRunningException:debianhdfs:6 org.apache.hadoop.hbase.client.HBaseAdminで0000 でorg.apache.hadoop.hbase.client.HConnectionManager $ HConnectionImplementation.getMaster(HConnectionManager.java:603) 。(HBaseAdmin.java:95) で org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) at Main.main(Main。Javaの:57)スタンドアロンモードで

、非疑似私は同じコードで、次の例外を取得し、分散:

12/05/06午後8時32分49秒INFO zookeeper.ClientCnxn:オープニングソケット接続 to server debianhdfs/192.168.137.135:2181 12/05/06 20:32:49 INFO zookeeper.ClientCnxn:ソケット接続が に設定されているdebianhdfs/192.168.137.135:2181、セッションの開始12/05/06 20:32 :49 INFO zookeeper.ClientCnxn:サーバー上のセッション確立完了 debianhdfs/192.168.137.135:2181、sessionid = 0x1 372210f8fe0004、 に交渉タイムアウト= 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.client.HBaseAdminで org.apache.hadoop.hbase.client.HConnectionManager $ HConnectionImplementation.getMaster(HConnectionManager.java:564) で org.apache.hadoop.hbase.MasterNotRunningException。( Main.main(Main.java:57)例外スレッドの "メイン" ORGでorg.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) でHBaseAdmin.java:95) 。 org.apache.hadoop.hbase.client.HBaseAdminで org.apache.hadoop.hbase.client.HConnectionManager $ HConnectionImplementation.getMaster(HConnectionManager.java:601) でapache.hadoop.hbase.MasterNotRunningException。(HBaseAdmin.java :95) Main.mainで org.apache.hadoop.hbase.client.HBaseAdmin.checkHBaseAvailable(HBaseAdmin.java:1296) (Main.java:57)であなたが実行されているので

Configuration config = HBaseConfiguration.create(); 
    config.set("hbase.zookeeper.quorum", "debianhdfs"); 
     config.set("hbase.zookeeper.property.clientPort","2181");  

    HBaseAdmin.checkHBaseAvailable(config); 

答えて

1

スタンドアロンで、まずHBaseで動作する飼い猫を使うのはなぜですか?スタンドアロンモードでHBaseがローカルの飼い犬飼育係を管理しているので、それを使用するとバグに遭う機会が減り、管理するプログラムが少なくても簡単にトラブルシューティングを行うことができます。 HBaseのは、独自のZKのインスタンスを実行できるように

${HBASE_HOME}/conf/hbase-env.shに頭、下にすべての方法をスクロールして、そこにラインexport HBASE_MANAGES_ZK=trueがある、または(デフォルトのHBaseで独自のZKを管理しているため)行がコメントアウトされていることを確認し

関連する問題