我正在尝试使用gcloud beta模拟器中的bigtable模拟器。 我启动模拟器,获取主机名(localhost)和端口(在本例中为8885)
gcloud beta模拟器bigtable start
执行:/ usr / local / Caskroom / google-cloud-sdk / latest / google-cloud-sdk / platform / bigtable-emulator / cbtemulator --host = localhost --port = 8885
我正在尝试从java测试客户端连接到模拟器, 这是我提供的:
16:36:37.369 [bigtable-batch-pool-1] INFO com.google.cloud.bigtable.grpc.async.AbstractRetryingRpcListener - Retrying failed call. Failure #1, got: Status{code=UNAVAILABLE, description=null, cause=java.net.ConnectException: Connection refused: localhost/0:0:0:0:0:0:0:1:8885}
java.net.ConnectException: Connection refused: localhost/0:0:0:0:0:0:0:1:8885
当我执行测试代码时,我得到:
com.google.cloud.bigtable:bigtable-hbase-1.2:0.9.1
我正在使用图书馆:displayName
知道我做错了什么?
谢谢!
答案 0 :(得分:3)
您需要设置一个额外的配置属性:
conf.set(BigtableOptionsFactory.BIGTABLE_USE_PLAINTEXT_NEGOTIATION, true);
此外,从日志消息看起来它似乎正在尝试连接到IPv6地址,我认为这不会起作用。仔细检查host
是否为有效的IPv4地址。
java客户端将在不久的将来使这更容易。
答案 1 :(得分:1)
现在您可以设置
configuration.set(BigtableOptionsFactory.BIGTABLE_EMULATOR_HOST_KEY,<HOST:PORT>);
连接到仿真器。
“ https://github.com/googleapis/java-bigtable/tree/master/google-cloud-bigtable-emulator”还可用于以编程方式启动仿真器以进行测试等。