0

我想在特定的datanode\regionserver中插入数据,

为此需要进行哪些配置更改?

假设有 4 个数据节点 A、B、C、D 主机名。和 4 个线程正在运行。一个线程仅在数据节点 A 和 B 上插入记录。另一个线程在数据节点 C 中插入\访问记录。第四个线程在 C 和 D 中插入记录。

我可以为这种类型的插入做任何配置吗?哪个 hbase\hadoop API 将用于编程插入\访问?

还有一件事,我们可以指定在客户端 java 应用程序和 hbase db 和 hadoop 集群中使用的相同字符格式(UTF8)吗?

问候, 拉什米

4

1 回答 1

1

使用 hbase,您不能真正针对特定的数据节点或区域服务器。我想您可以针对特定区域,如果您确保每个区域服务器只有一个区域,那么它非常接近您正在寻找的区域。我可以说这不是 hbase 的典型使用模式,所以我会确保这确实是你想要的。

要管理区域,您需要通过将 hbase.hregion.max.filesize 设置为 100GB 并手动预拆分表来禁用拆分。您可以使用 HBaseAdmin 类预先拆分表。

就字符格式而言,hbase 没有数据类型或字符集——所有内容都存储为字节——所以使用 utf8 应该没有问题。

如果您使用 java,则可以使用标准 java API。对于其他语言,您可以选择 Thrift、Avro 和 REST 接口,尽管它们都不会像使用 java API 一样快。

于 2012-07-25T01:35:53.543 回答