datahub mysql_OGG for MySQL

本文档详细介绍了如何配置OGG for MySQL和OGG Application Adapter,实现MySQL到DataHub的数据同步。包括MySQL环境要求、开启binlog、创建DB和user、源端与目标端OGG的安装、配置及启动,以及DataHub插件的安装和配置。最后,还提供了MySQL和DataHub字段类型的对应说明。
摘要由CSDN通过智能技术生成

一、环境要求MySQL 企业版或者社区版

OGG for MySQL 12.2.0.2

OGG Application Adapter 12.2.0.1

java 7(推荐JDK 1.8)

二、安装步骤:

(下面将介绍MySQL/OGG相关安装和配置过程,MySQL的安装将不做介绍,另外需要注意的是:MySQL/OGG相关参数配置以熟悉MySQL/OGG的运维人员配置为准,本示例只是提供一个可运行的样本)

安装包准备

相关安装包可以在文末的提示下进行下载。

OGG for MySQL

OGG Adater

DataHub OGG Plugin

OGG 源端配置

1. 源端MySQL配置

开启binlog

修改文件/etc/my.cnf,添加如下配置

## for ogg

# Extract expects that all of the table columns are in the binary log.

# As a result, only binlog_row_image set as full is supported and this is the default

binlog_row_image=full

# It must be set to the value of ROW, which directs the database to log DML statements in binary format.

binlog_format=row

# prevents DDL logging history table entries in the binlog

binlog-ignore-db=oggddl

# binlog path

log-bin=/usr/local/mysql/logs/log

# binlog index path

log-bin-index=/usr/local/mysql/logs/binlog.index

# enable binlog must set server-id, you can modify if there are multiple services

server-id=1

修改完成后重启MySQL服务。

创建DB和user

mysql连接MySQL服务之后,输入以下命令创建DB

# 创建ogg测试用的数据库ggtt

create database ggtt;

## 创建ogg测试用的用户ogg_test

grant all privileges on ggtt.*to'ogg_test'@'localhost'identifiedby'ogg_test';

flush privileges;

2. 源端OGG安装

解压OGG for MySQL压缩文件

1、创建必须目录

启动ggsci客户端 ./ggsci,输入命令。下面的命令如果未做特殊说明,均在ggsci客户端中运行

create subdirs

运行成功之后便可看到,OGG主目录下增加了几个dirxxx的目录

3. 配置源端mgr

编辑mgr配置edit params mgr,配置内容如下

port7839

dynamicportlist7840-7849

purgeoldextracts/home/goldengate/dirdat/*,usecheckpoints, minkeepdays 2

配置完成后可以查看一下配置以确认,view params mgr

启动mgrstart mgr。

查看mgr状态info mgr

4. 配置源端extract

编辑配置 edit params dhext,这里dhext为进程名,可以任意取,和配置中保持一致即可,下文不再赘述。

extract dhext

sourcedb ggtt@localhost:3306userid ogg_test password ogg_test

exttrail dirdat/ms

TranLogOptionsAltLogDest/usr/local/mysql/logs/binlog.index

table ggtt.*;

编辑完成之后保存,添加并启动extact进程

# 添加进程

add extract dhext,tranlog,beginnow

# 每个队列文件大小为200MB

add exttrail./dirdat/ms,extract dhext,megabytes200

start dhext

5. 配置源端pump

编辑配置 edit params pump

extract pump

passthru

--enable compress

rmthost localhost,mgrport7839,compress

rmttrail dirdat/ms

table ggtt.*;

编辑完成之后保存,添加pump进程

# 添加进程

add extract pump,exttrailsource dirdat/ms

# 添加目标端的trail文件,每个队列文件大小为200MB

add rmttrail dirdat/ms,extract pump,megabytes200

# 这里启动pump进程时会连接目标端,因此需要首先启动目标端mgr,否则会报错

start pump

配置目标端

1. 目标端OGG 安装

目标端的OGG是OGG Adapter,不需要安装,只需要解压即可。解压之后,需要创建必须目录,启动ggsci之后输入命令create subdirs,成功之后便可以看到OGG目录下增加了dirxxx的几个目录。

2. Datahub插件安装和配置

依赖环境:JDK >= 1.7。配置好JAVA_HOME, LD_LIBRARY_PATH,可以将环境变量配置到~/.bash_profile中,例如:

exportJAVA_HOME=/xxx/xxx

exportJRE_HOME=/xxx/xxx/jrexx

exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$JRE_HOME/lib/amd64:$JRE_HOME/lib/amd64/server

修改环境变量后,解压datahub-ogg-plugin.tar.gz,修改conf路径下的javaue.properties文件,将{YOUR_HOME}替换为解压后的路径

解压datahub-ogg-plugin.tar.gz,修改conf路径下的javaue.properties文件,将{YOUR_HOME}替换为解压后的绝对路径

gg.handlerlist=ggdatahub

gg.handler.ggdatahub.type=com.aliyun.odps.ogg.handler.datahub.DatahubHandler

gg.handler.ggdatahub.configureFileName={YOUR_HOME}/aliyun-datahub-ogg-plugin/conf/configure.xml

goldengate.userexit.nochkpt=false

goldengate.userexit.timestamp=utc+8

gg.classpath={YOUR_HOME}/aliyun-datahub-ogg-plugin/lib/*

gg.log.level=debug

jvm.bootoptions=-Xmx512m -Dlog4j.configuration=file:{YOUR_HOME}/datahub-ogg-plugin/conf/log4j.properties -Djava.class.path=ggjava/ggjava.jar

修改conf路径下的log4j.properties文件,将{YOUR_HOME}替换为解压后的路径

log4j.rootLogger=INFO,fileout

log4j.logger.com.goldengate=DEBUG

log4j.logger.com.aliyun=DEBUG

# Console output...

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%-4r[%t]%-5p%c%x-%m%n

# Rolling log file output...

log4j.appender.fileout=org.apache.log4j.RollingFileAppender

log4j.appender.fileout.File={YOUR_HOME}/aliyun-datahub-ogg-plugin/log/datahub-ogg-plugin.log

log4j.appender.fileout.MaxFileSize=10000KB

log4j.appender.fileout.MaxBackupIndex=30

log4j.appender.fileout.layout=org.apache.log4j.PatternLayout

log4j.appender.fileout.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss}[%t]%-5p%c{1}-%m%n

修改conf路径下的configure.xml文件,修改方式见文件中的注释。

需要重点关注的参数

sid任意填写,无实际意义

schema和oracleSchema填写MySQL的dbname,在本测试用例中填写ggtt

oracleTable填写MySQL 的table

rowIdColumn不能填写,因为MySQL无法获取rowid

100

ogg_test

YOUR_DATAHUB_ENDPOINT

YOUR_DATAHUB_PROJECT

YOUR_DATAHUB_ACCESS_ID

YOUR_DATAHUB_ACCESS_KEY

optype

readtime

record_id

1000

yyyy-MM-dd HH:mm:ss

true

datahub_ogg_plugin.dirty

200

0

0,1

4000

datahub_ogg_plugin.chk

t_person

t_person

3. 配置目标端mgr

编辑mgr配置edit params mgr

port7839

dynamicportlist7840-7849

purgeoldextracts dirdat/*,usecheckpoints, minkeepdays 7

启动mgr start mgr

4. 配置目标端writer

编辑配置edit params dhwriter

extract dhwriter

getEnv(JAVA_HOME)

getEnv(LD_LIBRARY_PATH)

getEnv(PATH)

CUSEREXIT libggjava_ue.so CUSEREXIT PASSTHRU INCLUDEUPDATEBEFORES,PARAMS"{YOUR_HOME}/datahub-ogg-plugin/conf/javaue.properties"

GetUpdateBefores

table ggtt.*;

编辑完成之后保存,添加extact进程并启动

# 添加进程

add extract dhwriter,exttrailsource dirdat/ms

# 启动

start dhwriter

三、MySQL和DataHub字段类型对应说明

DataHub的TIMESTAMP类型存储微秒时间戳,字段映射到TIMESTAMP类型时,都会被转为微秒时间戳。

MySQL

DataHub

备注

CHAR、VARCHAR

STRING

INT、TINYINT、BIG INT

BIGINT

DECIMAL、FLOAT、DOUBLE

DOUBLE/DECIMAL

根据精度选择

DATETIME、TIMESTAMP

TIMESTAMP

TEXT、TINYTEXT

STRING

以上是MySQL常见的数据类型和DataHub的对应,更多MySQL支持的数据类型可以参考官方文档

四、历史版本下载

这里只提供了DataHub插件下载,OGG for MySQL和OGG Adatper还请访问OGG官网 或者Oracle Software Delivery Cloud website进行下载。

datahub-ogg-plugin

OGG for MySQL

OGG Adapter

支持MySQL版本

12.2.0.2

12.2.0.1

企业版 / 社区版

12.2.0.2

12.2.0.1

企业版 / 社区版

12.2.0.2

12.2.0.1

企业版 / 社区版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值