0

私はHbaseに非常に慣れていません。Hbase をスタンドアロン モードで使用し、Google n-gram を使用してアプリケーションを開発しています。Amazon Ec2 インスタンスで ubuntu ボックスを使用しています

バッチ API を介してプログラムを使用して 100 万回の書き込みを行っています。

        HTable table = new HTable(conf, tableName);
        conf.set("zookeeper.session.timeout", "180000");
        conf.set("hbase.rpc.timeout", "180000");
        conf.set("hbase.regionserver.logroll.period", "180000");
        conf.set("hbase.hregion.max.filesize","51200");
        table.setAutoFlush(false);
        table.batch(iterateList);
        table.flushCommits();

これを 1M 行で実行すると、以下の順序で次の例外が発生します。

    12/08/28 14:17:13 INFO zookeeper.ClientCnxn: Unable to read additional data from server sessionid 0x1396d9653bd0004, likely server has closed socket, closing socket connection and attempting reconnect
    12/08/28 14:17:13 INFO zookeeper.ClientCnxn: Unable to read additional data from server sessionid 0x1396d9653bd0003, likely server has closed socket, closing socket connection and attempting reconnect
    12/08/28 14:17:13 WARN client.HConnectionManager$HConnectionImplementation: Failed all from region=googlegrams,,1346160551634.abc8baf335dee8485d64a6c8b989d6b0., hostname=ip-10-80-74-132.ec2.internal, port=45549

java.util.concurrent.ExecutionException: java.io.IOException: ip-10-80-74-132.ec2.internal/10.80.74.132:45549 への呼び出しがローカル例外で失敗しました: java.io.EOFException

その後

  12/08/28 14:17:15 WARN zookeeper.ClientCnxn: Session 0x1396d9653bd0004
  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:701)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:286)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1035)

私が試したいくつかのことは、1. ubuntuのulimitおよびnproc設定の変更2. Zookeeperタイムアウト、rpcタイムアウトlogroll期間、hregionファイルサイズなどのHbase構成

助けてください!

乾杯、ドワラック

4

1 に答える 1

1

hbase.client.lease.period を増やしてみてください

于 2012-10-28T10:35:16.653 に答える