0

私は ColumnInterpreter を拡張するクラスを持っています。これは、hbase がすぐに提供する Long の代わりに BigDecimal を処理するためのものです。

今、これは純粋にクライアント機能であると考えていたので、新しい ColumnInterpreter を次のようにインスタンス化するだけでよいと考えました。

final ColumnInterpreter<Long, Long> ci = new BigDecimalColumnInterpreter();

Aggregateprotocolを変更しなかったので、これでうまくいくのではないかと考えていました。そのため、新しいエンドポイントを作成する必要はありません。

ただし、次のように呼び出すとどうなりますか。

AggregationClient ag = new AggregationClient(config);
avg = ag.avg(Bytes.toBytes(tableName), ci, scan);

次のことが起こります。

12/09/05 13:58:52 WARN client.HConnectionManager$HConnectionImplementation: 行 java.util.concurrent.ExecutionException の実行中にエラーが発生しました: org.apache.hadoop.hbase.client.RetriesExhaustedException: 試行後に失敗しました = 10、例外: 水Sep 05 13:58:12 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields でエラーが発生しました Wed Sep 05 13:58:14 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 9 月 5 日水曜日 13:58:15 CEST 2012、org.apache. hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました。ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました。 io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラー Wed Sep 05 13:58:20 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが使用できません呼び出しパラメーターを読み取る: readFields Wed Sep 05 13:58:24 CEST 2012 のエラー、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: エラーでreadFields Wed Sep 05 13:58:28 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields Wed Sep 05 13:58 でエラーが発生しました:36 CEST 2012、組織。apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 05 水曜日 13:58:52 CEST 2012、org.apache.hadoop.hbase.ipc .ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました

java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) で java.util.concurrent.FutureTask.get(FutureTask.java:111) で org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation でorg.apache.hadoop.hbase.client.HTable.coprocessorExec(HTable.java:1263) の .processExecs(HConnectionManager.java:1434) org.apache.hadoop.hbase.client.HTable.coprocessorExec(HTable.java:1243) の) helpers.HbaseReaderBigDecimal.getWeekAvgSCAN(HbaseReaderBigDecimal.java:309) で helpers.HbaseReaderBigDecimal.main(HbaseReaderBigDecimal.java:75) でWed Sep 05 13:58:12 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません:readFields Wed Sep 05 13:58:14 CEST 2012 のエラー、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields Wed Sep 05 13 のエラー:58:15 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields でエラーが発生しました。 org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 9 月 5 日水曜日 13:58:18 CEST 2012、org.apache.hadoop.hbase .ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 9 月 5 日水曜日 13:58:20 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204 、java.io.IOException:IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields Wed Sep 05 13:58:24 CEST 2012 のエラー、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields Wed Sep 05 13:58:28 CEST 2012 のエラー、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields Wed Sep 05 のエラー13:58:36 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 9 月 5 日水曜日 13:58:52 CEST 2012 、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラーhadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 05 年 9 月水曜日 13:58:28 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker $1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 9 月 5 日水曜日 13:58:36 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io .IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラー Wed Sep 05 13:58:52 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが読み取れません呼び出しパラメーターの読み取り: readFields のエラーhadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 05 年 9 月水曜日 13:58:28 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker $1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 9 月 5 日水曜日 13:58:36 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io .IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラー Wed Sep 05 13:58:52 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが読み取れません呼び出しパラメーターの読み取り: readFields のエラーExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました。 io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラー Wed Sep 05 13:58:52 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが使用できません呼び出しパラメーターを読み取る: readFields のエラーExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました。 io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラー Wed Sep 05 13:58:52 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが使用できません呼び出しパラメーターを読み取る: readFields のエラーIPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラーIPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラー

$Proxy7.getAvg(Unknown Source) で org.apache.hadoop.hbase.ipc.ExecRPCInvoker.invoke(ExecRPCInvoker.java:79) で) helpers.HbaseReaderBigDecimal$1.call(HbaseReaderBigDecimal.java:313) で helpers.HbaseReaderBigDecimal$1.call(HbaseReaderBigDecimal.java:1) で org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$4.call(HConnectionManager.java :1422) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) で java.util.concurrent.FutureTask.run(FutureTask.java:166) で java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1110) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) で java.lang.Thread.run(Thread.java:679) org.apache.hadoop.hbase.client.RetriesExhaustedException: 試行後に失敗しました = 10、例外: Wed Sep 05 13:58:12 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバー呼び出しパラメーターを読み取ることができません: readFields Wed Sep 05 13:58:14 CEST 2012 のエラー、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: エラーreadFields Wed Sep 05 13:58:15 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields Wed Sep 05 13 でエラーが発生しました: 58:16 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました 9 月 5 日水曜日 13:58:18 CEST 2012、org .apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields でエラーが発生しました。 io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: readFields のエラー Wed Sep 05 13:58:24 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが使用できません呼び出しパラメーターを読み取る: readFields Wed Sep 05 13:58:28 CEST 2012 のエラー、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取ることができません: エラーでreadFields Wed Sep 05 13:58:36 CEST 2012、org.apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields Wed Sep 05 13:58 でエラーが発生しました:52 CEST 2012、組織。apache.hadoop.hbase.ipc.ExecRPCInvoker$1@14004204、java.io.IOException: IPC サーバーが呼び出しパラメーターを読み取れません: readFields でエラーが発生しました

私の設定は次のとおりです。

config = HBaseConfiguration.create();
config.set(zookeeper, ip);
config.setLong("hbase.client.scanner.caching", 1000);
config.set("hbase.coprocessor.region.classes", "org.apache.hadoop.hbase.coprocessor.AggregateImplementation");

誰かがこれについて考えを持っていますか?

4

1 に答える 1

4

独自の ColumnInterpreter を含む jar ファイルをサーバー側にデプロイする必要があります。サーバー上の HBase の組み込み EndPoint が、ColumnInterpreter を見つけることができません。

于 2012-11-15T03:45:44.607 に答える