Bigtable

Google Cloud Platform提供了 Google Bigtable 数据库的托管,HBase 和许多 NoSQL 存储系统的原始灵感。由于 HBase 与 Bigtable 非常相似,因此使用 Google 后端运行 OpenTSDB 2.3 和更高版本非常简单。实际上,架构(请参阅HBase Schema)完全相同,因此您要做的就是创建 Bigtable 实例,使用 Bigtable HBase Shell 创建 TSDB 表,并启动 TSD。

Note

Bigtable 的 Client 处于测试阶段,并且正在进行许多更改。随着我们调整代码并发现新的调整参数,性能应会提高。请通过邮件列表或通过修改 GitHub 中的代码来帮助我们。

Setup

Configuration

下表是使用 Bigtable 运行 OpenTSDB 的必需和可选参数的表。这些是来自Configuration的标准 TSD 配置参数的补充。

Property Type Required Description Default
google.bigtable.project.id String Required 托管 Bigtable 集群的项目 ID。
google.bigtable.instance.id String Required 创建时分配给 Bigtable 集群的集群 ID。请注意,在 AsyncBigtable 0.3.0 之前,该值为google.bigtable.cluster.name
google.bigtable.zone.id String Required 您的 Bigtable 集群运行所在的区域;在创建时选择。请注意,在 AsyncBigtable 0.3.0 之前,该值为google.bigtable.zone.name
hbase.client.connection.impl String Required 将用于实现 HBase API AsyncBigtable 的类将用作 BigtableClient 端和 OpenTSDB 之间的填充程序。将此设置为com.google.cloud.bigtable.hbase1_2.BigtableConnection(或 AsyncBigtable 0.3.0 com.google.cloud.bigtable.hbase1_0.BigtableConnection之前)。
google.bigtable.auth.service.account.enable Boolean Required 是否使用 Google 云服务帐户进行连接。设置为 true false
google.bigtable.auth.json.keyfile String Required 与您要用于 Bigtable 访问的服务帐户相关联的 JSON 格式的密钥文件的完整路径。从您的云控制台下载此文件。
google.bigtable.grpc.channel.count Integer Optional 向 Bigtable API 打开的用于处理 RPC 的套接字数。为了获得更高的吞吐量,请考虑增加通道数。 4

Note

在较旧版本的 Client 端中,Google 的 BigtableClient 端使用 ALPN 通过 TLS 通过 HTTP2 与服务器通信。由于 Java 7 和 8(大约 9)不支持本机 ALPN,因此必须在 JVM 开始时加载library来修改 JVM 的字节码。 OpenTSDB 的构建脚本将尝试检测您的 JDK 版本并下载正确版本的 ALPN,但是如果您具有自定义 JVM 或 Hotspot 或 OpenJDK 之外的其他内容,则可能会遇到问题。尝试使用不同版本的 alpn-boot JAR,以了解适合您的方法。对于 AsyncBigtable 0.3.0,使用了 JDK 不可知库,因此不再需要 ALPN。

首页