私はHaseop MapReduceジョブをローカルマシン上で実行しています(疑似分散)。これはHBaseとの間で読み書きを行います。私は断続的にコンピュータが単独で他の重要なプロセスが実行されていないままであっても、ジョブを中断するエラーを取得しています。以下のログを参照してください。 ZooKeeperの出力ジョブが失敗した実行後に成長しているクライアントの数と、このようなルックスを死亡した後にダンプします。/hbase + ConnectionのConnectionLossがピアによってリセットされましたか?
HBase is rooted at /hbase
Master address: SS-WS-M102:60000
Region server holding ROOT: SS-WS-M102:60020
Region servers:
SS-WS-M102:60020
Quorum Server Statistics:
ss-ws-m102:2181
Zookeeper version: 3.3.3-cdh3u0--1, built on 03/26/2011 00:20 GMT
Clients:
/192.168.40.120:58484[1]\(queued=0,recved=39199,sent=39203)
/192.168.40.120:37129[1]\(queued=0,recved=162,sent=162)
/192.168.40.120:58485[1]\(queued=0,recved=39282,sent=39316)
/192.168.40.120:58488[1]\(queued=0,recved=39224,sent=39226)
/192.168.40.120:58030[0]\(queued=0,recved=1,sent=0)
/192.168.40.120:58486[1]\(queued=0,recved=39248,sent=39267)
私の開発チームは、現在のHBase 0.90.1ので、CDH3U0分布を使用しています - これは最近のリリースで解決された問題ですか?現在の設定でできることがあるかどうか?私はちょうどZKを再起動し、定期的にクライアントを殺すことを期待するべきですか?私は自分の仕事が一貫して完了できるような合理的な選択肢を開いています。
2012-06-27 13:01:07,289 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server SS-WS-M102/192.168.40.120:2181
2012-06-27 13:01:07,289 INFO org.apache.zookeeper.ClientCnxn: Socket connection established to SS-WS-M102/192.168.40.120:2181, initiating session
2012-06-27 13:01:07,290 WARN org.apache.zookeeper.ClientCnxn: Session 0x0 for server SS-WS-M102/192.168.40.120:2181, unexpected error, closing socket connection and attempting reconnect
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
at sun.nio.ch.IOUtil.read(IOUtil.java:169)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:243)
at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:858)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1130)
[lines above repeat 6 more times]
2012-06-27 13:01:17,890 ERROR org.apache.hadoop.hbase.mapreduce.TableInputFormat: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:991)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:302)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:293)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:156)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:167)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:145)
at org.apache.hadoop.hbase.mapreduce.TableInputFormat.setConf(TableInputFormat.java:91)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:605)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1115)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
Caused by: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:147)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:989)
... 15 more
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
at org.apache.zookeeper.KeeperException.create(KeeperException.java:90)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:42)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:637)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.createAndFailSilent(ZKUtil.java:902)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:133)
... 16 more
を消えてしまいますベリファイを作ります指定されたマシンではIOが多すぎます。あなたはhbase/zookeeper/hadoop M/Rやその他のものをあなたのマシン上で噛むことができる以上に噛んでいるかもしれません。あなたはgangliaをインストールしていますか?あなたが使用している処理の量と、IOの壁やスラッシングに当たっているかどうかを示すことができます。 – Mike
初期の記述に対する1つの修正案:ジョブの失敗後にクライアント接続の数が永久に増加しませんでした。 HBase Jiraに記載されているバグによると、ジョブが正常に完了すると、これが起こることがあります。 – Cyranix
@Mike同時に重要な結果をもたらす他のプロセスは実際に実行していませんでしたが、システムリソースを監視することは賢明です。幸運なことに、私のマシンは手元にあるタスクのために十分に重いようです。 – Cyranix