博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RDS数据订阅服务使用说明
阅读量:6939 次
发布时间:2019-06-27

本文共 2434 字,大约阅读时间需要 8 分钟。

RDS数据订阅服务使用说明

RDS数据订阅服务主要解决的RDS上的数据同步到HBase,用户可以在HBase上查到RDS的数据,满足大数据查询分析的需求

使用场景

历史数据沉淀

业务使用MySQL承担交易等关键的在线业务,同时有数据分析的需求,需要做一些复杂查询,但不能影响在线业务。利用BDS异构数据源迁移,把RDS数据实时同步到HBase,可以轻松应对大数据查询需求。

image.png

迁移方式

RDS历史数据迁移

RDS实时增量数据迁移

  • DTS服务提供对RDS binlog收集,实时抓取源RDS实例的binlog,并提供数据订阅的功能
  • BDS迁移服务订阅DTS所收集的数据,将实时的数据写入到HBase

迁移步骤(钉钉联系 )

RDS历史数据迁移

客户自行使用开源的工具完成数据的迁移

RDS实时增量数据迁移

  1. 客户 -
  2. 客户 - DTS通道上设置延迟报警
  3. 客户 -
  4. 客户 - 申请一台ECS并且绑定公网,ECS和云HBase属于同一个VPC,能够打通和HBase集群的网络
  5. 云HBase值班同学 - 协助部署BDS迁移服务,并对客户提供迁移服务的交互界面
  6. 客户 - 在HBase里面创建表信息
  7. 客户 - 录入HBase集群信息、DTS通道信息,提交迁移任务

版本支持

HBase版本:1.x、2.x

RDS版本:

BDS迁移服务使用说明

录入HBase集群信息

image.png

HDFS HA 的填写例子

集群名:xxxxx
HDFS URI:hdfs://100.81.140.116:8025,100.81.140.120:8025
HBase在HDFS根目录:/hbase
dfs.nameservices: hbase-cluster
clusterKey:  100.81.140.116,100.81.140.120,100.81.140.122:2185:/hbase

HDFS 非HA 的填写例子

集群名:xxxxx
HDFS URI:hdfs://100.81.140.116:8025
HBase在HDFS根目录:/hbase
dfs.nameservices:
clusterKey: 100.81.140.116,100.81.140.120,100.81.140.122:2185:/hbase


DTS增量数据订阅

image.png

RDS迁移到HBase Mapping例子

[  {    "rds_table_name": "hhh_test.phoenix_test",    "hbase_table_name": "default:phoenix_test",    "config": {      "skip_delete": true    },    "columns_mapping": [      {        "name": "cf1:hhh",        "src_columns": [          "id",          "title"        ],        "expression": "{
{ concat(title, id) }}" }, { "name": "cf1:*", "src_columns": [ "*" ] } ], "rowkey_mapping": { "src_columns": [ "id" ], "expression": "{
{ concat('idg', id) }}" } }]

Mapping说明

参数 描述 必选
rowkey_mapping 定义rowkey的计算方式,src_columns指定用源表哪些列计算rowkey,expression是可选的计算表达式,该计算表达式为语法,当用户需要对源表的列进行简单计算得到rowkey时可以用
hbase_table_name 目的hbase表名
rds_table_name RDS的表名
columns_mapping 定义源到目的表的转换映射信息,name为hbase列名,需要注意带上列组名,src_columns为源表的列,和rowkey的定义一样,也支持expression表达式
skip_delete 是否跳过删除操作,true为跳过,false为不跳过 否,默认为true,即跳过删除语句
  • 支持简单的表达式,如下
{    "name": "cf1:address",     "src_columns": ["address"],    "expression": "{
{ concat('idg', id) }}" }
  • 支持动态列,没有匹配到的列会走默认的匹配
{    "name": "cf1:*",    "src_columns": ["*"]}
  • DML支持情况
操作 支持 备注
INSERT 对应HBase的PUT
UPDATE 对应HBase的PUT
DELETE 用户可以配置是否同步源端的DELETE,默认不同步
  • DDL支持情况
操作 支持 备注
CREATE TABLE 用户在MySQL新建表后,如果需要同步到HBase,需自行在HBase建立对应的表
DROP TABLE
ALTER TABLE ADD COLUMN 同步到默认列组,如果没有默认列组则忽略同步该列
ALTER TABLE DROP COLUMN
ALTER TABLE RENAME COLUMN 新数据同步到默认列组,如果没有默认列组则忽略同步该列,老数据不变
ALTER TABLE MODIFY COLUMN HBase无类型,所以源表列类型变更无影响
所有索引DDL

转载地址:http://tdsnl.baihongyu.com/

你可能感兴趣的文章
Centos7 mariadb-galera-cluster-5.5+HAProxy+keepalived
查看>>
linuxPXE预启动执行环境
查看>>
Python进阶之装饰器
查看>>
如何做好企业级邮件系统的安全防范技术?
查看>>
虚拟化VMware之存储与虚拟主机管理(2)
查看>>
Linux下常用压缩解压缩、打包命令使用演示
查看>>
我的友情链接
查看>>
shell中变量的间接引用
查看>>
/var/目录下文件详解
查看>>
我的友情链接
查看>>
CentOS6.2+Kerio MailServer开源企业级邮件服务器
查看>>
Part07 - (图文)NSX系列之检查ESXi主机上VIBs的完整性
查看>>
ssh远程控制软件的应用
查看>>
二、lwip协议栈之telnet
查看>>
大家好
查看>>
谈谈Ext JS的组件——布局的使用方法
查看>>
python入门书籍
查看>>
雷林鹏分享:CodeIgniter文件上传错误:the filetype you are attempting to upload is not allowed...
查看>>
Alpha冲刺随笔集
查看>>
js call
查看>>