ogg12.3+mysql写入容器kafka(源端配置)

数据ogg版本

源端  MySQL5.X   ogg版本 123015_ggs_Linux_x64_MySQL_64bit

目标端版本kafka_2.11-1.1.0   ogg版本 OracleGoldenGate for Big Data Version 12.3.1.1.1



检查/etc/my.cnf文件是否存在,不存在则执行如下命令(Mysql5.7+):

# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

1、开启binlog

在/etc/my.cnf的[mysqld]下添加如下参数:

# 行级日志模式

binlog_format=row

# 日志保存目录

log-bin=mysql-bin

# 日志保存30天

expire_logs_days=30

server-id=2

重启:

Centos6:servicemysqld restart

Centos7: systemctlrestart mysqld

MySQL5.7:systemctlrestart mysql

注意:源端是安装了MySql的机器,MySql环境变量之前都配置好了

创建ogg用户:

# useradd -G mysql ogg

2、解压

先建立ogg目录:

mkdir -p /opt/ogg

unzip122022_ggs_Linux_x64_MySQL_64bit.zip

解压后得到一个tar包,再解压这个tar:

tar xfggs_Linux_x64_MySQL_64bit.tar -C /opt/ogg

chown -R ogg:mysql/opt/ogg

3、配置环境变量

配置ogg环境变量文件/home/ogg/.bash_profile里配置:

vim /home/ogg/.bash_profile

export  GGS_HOME=/opt/ogg

export  PATH=$GGS_HOME:$PATH

使之生效:

source/home/ogg/.bash_profile

测试一下ogg命令:

cd /opt/ogg

./ggsci

如果命令成功即可进行下一步,不成功请检查前面的步骤。

4、ogg初始化

在ogg目录下create subdirs,创建目录文件

create subdirs

5、mysql创建测试表

创建一个用户,在该用户下新建测试表,用户名、密码、表名均为 test_ogg:

use test;

create tabletest_ogg(

  a varchar(100) primary key,

  b varchar(100),

  c integer

)type = innodb;

6、建立软连接

如果/tmp/mysql.sock不存在或者没有进行软连接可以输入以下命令:

ln -s /var/lib/mysql/mysql.sock  /tmp/mysql.sock

OGG登录到mysql数据库:

cd /opt/ogg

./ggsci

GGSCI(ambari.master.com) 1> dblogin sourcedb test@127.0.0.1:3306,userid root,password  xxxx

7、配置管理器mgr

GGSCI(ambari.master.com) 3> edit param mgr

PORT 7809

DYNAMICPORTLIST 7810-7909

AUTOSTART ER *

AUTORESTART  EXTRACT *,RETRIES 5,WAITMINUTES 3

PURGEOLD EXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3

说明:PORT即mgr的默认监听端口;DYNAMICPORTLIST动态端口列表,当指定的mgr端口不可用时,会在这个端口列表中选择一个,最大指定范围为256个;AUTORESTART重启参数设置表示重启所有EXTRACT进程,最多5次,每次间隔3分钟;PURGEOLDEXTRACTS即TRAIL文件的定期清理

8、配置extract进程

因安全审计需要,在REPLICAT 中设置USERID and PASSWORD 的时候避免采用明文造成安全隐患,可以采用加密后的密码。

GGSCI(3c809f267d19 DBLOGIN as root) 10> encrypt password 1234,ENCRYPTKEY default

Using Blowfishencryption with DEFAULT key.

Encryptedpassword: AACAAAAAAAAAAAEAFCBERGFHJCMEBDEE

Algorithmused:  BLOWFISH

我这里没有指定具体的加密算法,默认就是AES128算法

GGSCI(3c809f267d19) 2> dblogin sourcedb test@127.0.0.1:3306,userid root,password AACAAAAAAAAAAAEAFCBERGFHJCMEBDEE,ENCRYPTKEY default

编辑extkafka进程文件:

GGSCI(ambari.master.com) 6> edit param extkafka

extract extkafka

setenv(MYSQL_HOME="/var/lib/mysql")

tranlogoptionsaltlogdest /var/lib/mysql/mysql-bin.index

sourcedbtest@127.0.0.1:3306,userid root,passwordAACAAAAAAAAAAAEAFCBERGFHJCMEBDEE,ENCRYPTKEY default

exttrail /opt/ogg/[extkafka]/to

dynamicresolution

gettruncates

GETUPDATEBEFORES

NOCOMPRESSDELETES

NOCOMPRESSUPDATES

table test.*;

说明:第一行指定extract进程名称;dynamicresolution动态解析;SETENV设置环境变量,这里分别设置了mysql数据库以及字符集;userid root,password Hismart@2019即OGG连接mysql数据库的帐号密码,这里使用2.5中特意创建的复制帐号;exttrail定义trail文件的保存位置以及文件名,注意这里文件名只能是2个字母,其余部分OGG会补齐;table即复制表的表名,支持*通配,必须以;结尾。

添加extract进程:

GGSCI(ambari.master.com) 16> add extract extkafka,tranlog,begin now

EXTRACT added.

添加trail文件的定义与extract进程绑定:

GGSCI(ambari.master.com) 17> add exttrail /opt/ogg/[extkafka]/to,extract extkafka

EXTTRAIL added.

9、配置pump进程

pump进程本质上来说也是一个extract,只不过他的作用仅仅是把trail文件传递到目标端,配置过程和extract进程类似,只是逻辑上称之为pump进程:

GGSCI(ambari.master.com) 18> edit param pukafka

extract pukafka

passthru

dynamicresolution

rmthost192.168.124.173 mgrport 7809

rmttrail /opt/ogg/[extkafka]/to

table test.*;

说明:第一行指定extract进程名称;passthru即禁止OGG与Oracle交互,我们这里使用pump逻辑传输,故禁止即可;dynamicresolution动态解析;rmthost和mgrhost即目标端(kafka)OGG的mgr服务的地址以及监听端口;rmttrail即目标端trail文件存储位置以及名称。

分别将本地trail文件和目标端的trail文件绑定到extract进程:

GGSCI(ambari.master.com) 1> add extract pukafka,exttrailsource /opt/ogg/[extkafka]/to

EXTRACT added.

GGSCI(ambari.master.com) 2> add rmttrail  /opt/ogg/[extkafka]/to,extract pukafka

RMTTRAIL added.

10、配置define文件

Oracle与MySQL,Hadoop集群(HDFS,Hive,kafka等)等之间数据传输可以定义为异构数据类型的传输,故需要定义表之间的关系映射,在OGG命令行执行:

GGSCI(ambari.master.com) 3> edit param [extkafka]

defsfile /opt/ogg/dirdef/[extkafka]

sourcedbtest@127.0.0.1:3306,userid root,passwordAACAAAAAAAAAAAEAFCBERGFHJCMEBDEE,ENCRYPTKEY default

table test_ogg.test_ogg;

在OGG主目录下执行(oracle用户):

./defgen paramfiledirprm/[extkafka].prm

。。。

Definitions generated for 1 table in /opt/ogg/dirdef/ext_xxb_oracle_108

将生成的/opt/ogg/dirdef/test_ogg.test_ogg发送的目标端ogg目录下的dirdef里:

scp -r  /opt/ogg/dirdef/[extkafka] root@192.168.50.143:/opt/ogg/dirdef/

源端就配置完毕!有问题可以评论,我会进行回复解答

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容