云数据库HBase增强版提供LTS服务能够支持各种HBase版本之间相互迁移和实时同步,并且支持同步RDS、Loghub的实时数据到HBase,DataX是阿里巴巴集团内被广泛使用的离线数据同步工具,实现MySQL、Oracle、SqlServer、PostgreSQL、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS等各种异构数据源之间高效的数据同步功能。
前提条件
注意事项
- 当前方式仅支持通过专有网络访问HBase集群。重要 如果您想要通过公网访问,在执行本文操作前,需要先升级SDK。具体操作,请参见升级HBase Java SDK。
- 如果应用部署在ECS实例,通过专有网络访问HBase集群前,需要确保HBase集群和ECS实例满足以下条件,以保证网络的连通性。
- 所在地域相同,并建议所在可用区相同(以减少网络延时)。
- ECS实例与HBase集群属于同一专有网络。
使用DataX进行数据同步
使用DataX进行数据同步有两种方法:
- 使用阿里云DataWorks的数据集成服务配置DataX任务(推荐使用该方法)。
- 使用开源DataX配置同步任务。
使用阿里云DataWorks配置DataX任务
- 创建工作空间,详情请参见创建工作空间。
- 创建资源组,资源组类型和说明如下表。推荐使用独享资源组和自定义资源组的方式访问HBase。
资源组类型 配置文档 特点 注意事项 独享资源组 独享资源组模式 独享资源组的机器由DataWorks自动买出,运维完全托管于系统,您无需担心机器服务和可用性等问题。 独享资源不支持跨地域使用。例如,华东2(上海)地域的独享资源,只能给华东2(上海)地域的工作空间使用(无法绑定其他区域的VPC),并且独享资源组不能跨vSwitch访问HBase集群。 自定义资源组 新增和使用自定义数据集成资源组 仅DataWorks企业版及以上版本支持自定义资源组。自定义资源组的ECS机器由用户自己买出,用户可以将ECS买在HBase的VPC内,从而用内网访问HBase,否则只能用外网访问。 自定义资源组的机器完全可控、可登录访问,但是需要自行安装/运维/升级DataX版本(配置文档中有安装方法)。 默认资源组 无 默认资源组机器只能通过公网访问HBase。 公网访问HBase会在DataWorks产生额外费用。 - 配置网络。
- 创建同步任务并绑定资源组。
- 创建同步任务,具体方法参见通过向导模式配置离线同步任务。
- 修改插件配置,读写HBase分别使用HBase Writer和HBase Reader插件。相关的配置可以参考具体插件的帮助。但是HBase增强版"hbaseconfig"部分不再使用Zookeeper.quorum这个参数连接,而是使用增强版特有的endpoint形式,配置示例如下:
"hbaseConfig": { "hbase.client.connection.impl" : "com.alibaba.hbase.client.AliHBaseUEConnection", "hbase.client.endpoint" : "host:30020", "hbase.client.username" : "testuser", "hbase.client.password" : "password" }
说明- hbase.client.connection.impl:固定配置不需要修改。
- hbase.client.endpoint:用户控制台上提供的Java API访问地址,用户可以参考连接集群获得。
- hbase.client.username和password:HBase增强版中用户自己创建的用户名和密码(默认均为root),用户必须保证提供的用户有读写HBase增强版中表的权限(默认提供的root用户已经具有读写所有表的权限)。
- HBase版本请选择1.1.x。