1

私は Hbase の専門家ではなく、Hbase リモート接続のスレッドをめくっていましたが、うまくいきませんでした。

EC2 インスタンス (Ubuntu 10.4) で Hbase/Hadoop 単一クラスターを実行しています。別のec 2instanceのtomcat6サーバーでもサーブレットを実行しています。計画は、サーブレットがリモート Hbase インスタンスに読み書きすることです。サーブレットは、いくつかの Java ルーチン (ServletContextListener) で contextlistener を実行しています。

Javaルーチンをサーブレットではなく実行可能なjarとして実行すると、すべて問題ありません。Hbase に接続し、テーブルから書き込み/読み取りを行います。しかし、tomcat6 では、Hbase インスタンスに接続しようとするとフリーズします。

2012-10-01 11:11:40,751 [Timer-4] INFO  com.myApp.foundation.access.HBaseHandler  initialise(..) - Initialisation HbaseHandler configuration ...
2012-10-01 11:11:40,763 [Timer-4] DEBUG org.apache.hadoop.conf.Configuration  <init>(..) - java.io.IOException: config()
    at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:211)
    at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:198)
    at org.apache.hadoop.hbase.HBaseConfiguration.<init>(HBaseConfiguration.java:33)
    at com.myApp.foundation.access.HBaseHandler.initialise(HBaseHandler.java:507)
    at com.myApp.foundation.access.HBaseHandler.<init>(HBaseHandler.java:53)
    at com.myApp.foundation.access.HBaseHandler.getInstance(HBaseHandler.java:500)
    at com.myApp.foundation.hbase.StorableRow.<clinit>(StorableRow.java:40)
    at com.myApp.foundation.entities.Article.storeToHbase(Article.java:257)
    at com.myApp.task.impl.HBaseArticlePersisterTask.process(HBaseArticlePersisterTask.java:101)
    at com.myApp.foundation.task.QueueTask.performTask(QueueTask.java:101)
    at com.myApp.runner.impl.HBasePersisterRunner$1.run(HBasePersisterRunner.java:46)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)

2012-10-01 11:11:40,803 [Timer-4] INFO  com.myApp.foundation.access.HBaseHandler  initialise(..) - Config resource zookeeper.quorum: ip-10-10-10-10.eu-west-1.compute.internal

2012-10-01 11:11:40,803 [Timer-4] INFO  com.myApp.foundation.access.HBaseHandler  initialise(..) - Config resource zookeeper.clientPort: 2181

2012-10-01 11:11:40,804 [Timer-4] INFO  com.myApp.foundation.access.HBaseHandler  initialise(..) - Config resource hbase.master.info.port: 60010

2012-10-01 11:11:40,804 [Timer-4] INFO  com.myApp.foundation.access.HBaseHandler  initialise(..) - Config resource hbase.master.info.bindAddress: ip-10-10-10-10.eu-west-1.compute.internal

HBase インスタンスに telnet できます。サーブレットには、hbase-site.xml を含めました。しかし、ログからわかるように、zookkeeper.quorum とポート番号が取得されています。Hbase インスタンスで必要なすべてのポートが開いている。

tomcat6 ポリシーの構成に問題があると何かが言っています。しかし、カタリナのログには何も表示されません。不足している、または適切なログに導く可能性のある他のログはありますか?

誰かが同じ問題を経験しましたか?

よろしくお願いします。

4

0 に答える 0