sock プロキシ経由で HbaseAdmin/Htable を呼び出す方法はありますか? クラスター内のボックスの 1 つにマップされた localhost:1080 ソックス プロキシを使用してから、Hbase (Zookeeper、Master、RegionServer) と通信したいと考えています。それを行う方法はありますか?
ありがとう。
sock プロキシ経由で HbaseAdmin/Htable を呼び出す方法はありますか? クラスター内のボックスの 1 つにマップされた localhost:1080 ソックス プロキシを使用してから、Hbase (Zookeeper、Master、RegionServer) と通信したいと考えています。それを行う方法はありますか?
ありがとう。
私も同じ要件を持っていて、ZooKeeper クライアント接続が NIO (org.apache.zookeeper.ClientCnxnSocketNIO) 経由で実装されていることがわかりました。また、NIO はソックス経由の接続をサポートしていません
ソースがある場合は、ZooKeeper.java のメソッド getClientCnxnSocket() を確認してください。
private static ClientCnxnSocket getClientCnxnSocket() throws IOException {
String clientCnxnSocketName = System
.getProperty(ZOOKEEPER_CLIENT_CNXN_SOCKET);
if (clientCnxnSocketName == null) {
clientCnxnSocketName = ClientCnxnSocketNIO.class.getName();
}
try {
return (ClientCnxnSocket) Class.forName(clientCnxnSocketName)
.newInstance();
} catch (Exception e) {
IOException ioe = new IOException("Couldn't instantiate "
+ clientCnxnSocketName);
ioe.initCause(e);
throw ioe;
}
}
ソックスで動作させたい場合は、ClientCnxnSocket を拡張して独自の実装を提供し、システム変数 Zookeeper.clientCnxnSocket を使用して指定する必要があります)。