美文网首页
ogg12.3+mmsql配置写入kafka

ogg12.3+mmsql配置写入kafka

作者: ksice | 来源:发表于2019-08-23 17:18 被阅读0次

    1、解压ogg压缩包

    注意:源端是安装了sqlserver的机器,sqlserver环境变量之前都配置好了,解压之后在希望安装 OracleGoldenGate 的位置(在本示例中为C:\Users\Administrator\Desktop\GG)解压缩下载的压缩包。然后打开命令提示符,转到 C:\Users\Administrator\Desktop\GG目录,启动GGSCI(GoldenGate 命令界面)

    2、ogg初始化(和mysql是一样的)

    接着执行CREATE SUBDIRS 命令创建 Oracle GoldenGate 工作目录进行初始化

    3、创建测试数据库和表数据

    创建一个数据库在该库下新建测试表,数据库名、表名均为 test_ogg:

    create database test_ogg

    在下面选择数据库创建表

    4、配置dsn数据源

    现在,为使 Oracle GoldenGate 能够访问test_ogg 数据库,必须为其创建一个 ODBC 数据源。转到 Control

    Panel -> Administrative Tools -> Data Sources (ODBC),添加一个新的系统 DSN。选择 SQL Server 作为数据库驱动程序并将该数据源命名为 HRT。将来源指向本地 SQL Server (MSSQL) 并填写登录凭证。数据源摘要应类似如下所示:

    Window系统下,打开控制面板->管理工具->选中数据源

    选择系统dsn进行添加,选择sqlserver点击完成

    输入数据源名称,选择连接的服务器,如下拉框中没有你本地数据源,cmd中输入hostname查看本地服务,然后粘贴。

    然后这个使用默认的,不加以修改,你也可以选择输入登录id和密码进行sqlserver验证,但是sqlserver需要修改一些配置(暂时没研究),所以我们使用默认的

    修改默认的数据库,看你需要访问那个数据库

    然后使用默认配置,点击完成和测试数据源

    如显示测试成功,那就dsn添加成功。

    5、配置用户sysadmin权限

    打开microsoft sql server management studio连接数据库->服务器角色->sysadmin

    点击添加nt authority\system用户点击确定。(不配置sysadmin权限启动extract会有权限问题)

    6、清理作业

    在Management Studio中,在源数据库的查询窗口中。您必须手动删除数据库的SQL Server CDC清除作业,因为它可能导致Extract的数据丢失。(EXECUTE sys.sp_cdc_drop_job 'cleanup';)

    7、启用cdc

    在sqlserver studio新建查询运行:

    EXECUTEsys.sp_cdc_enable_db;

    如果报错执行

    ALTER AUTHORIZATION ON DATABASE::[数据库名称] TO [sa]

    8、配置globals配置文件

    使用Sql Server系统管理员用户创建ogg Schema,这个schema会存cdc抽取的一些数据记录:

    -- 创建schema

    create schema ogg

    进入OGG安装目录下,使用CMD命令行配置globals文件:

    ggsci.exe

    GGSCI(ambari.master.com) 2> edit param ./globals

    输入以下命令,

    ggschema [创建的schema]

    9、add trandata

    如果是新建ojdbc是windowid验证则在ogg命令行中输入以下命令

    GGSCI(ambari.master.com) 2> dblogin sourcedb hrt

    GGSCI(ambari.master.com) 2> add trandata [schema].*

    如果是新建ojdbc是通过账号密码验证验证则在ogg命令行中输入以下命令

    GGSCI(ambari.master.com) 2>dblogin sourcedbhrt, userid sa, password xxxxxx

    GGSCI(ambari.master.com) 2>add trandata [schema].*

    如果add trandata失败显示如下图错误

    原因:SqlServer安装后修改了主机名,导致以下两个语句结果不一致

    SELECT * FROMmaster.dbo.sysservers

    SELECTSERVERPROPERTY('ServerName')

    如果不一致就在sql studio执行如下语句

    iF serverproperty('servername')<>@@servername

    BEGIN

    DECLARE @server SYSNAME

    SET  @server=@@servername

    EXEC sp_dropserver @server=@server

    SET  @server=cast(serverproperty('servername') AS SYSNAME)

    EXEC sp_addserver @server=@server,@local='LOCAL'

    END

    ELSE

    PRINT '实例名与主机名一致,无需修改!'

    执行成功后就重新dblogin然后add trandata

    执行完成之后,可以看到多了一张配置表

    如果数据表没有add trandata,则不能捕获其变更数据。

    10、开启sql server agent

    设置sql serveragent开启,进入sqlserver managermant studio,打开连接选择sqlserver代理进行开启

    11、配置清理作业和关联对象

    在cmd目录下使用该ogg_cdc_cleanup_setup.bat实用程序(在Oracle GoldenGate安装目录中)创建Oracle GoldenGate CDC清理作业和关联对象。使用的ggschema名称必须与您GGSCHEMA在GLOBALS文件参数中使用的名称相同。您必须使用具有sysadmin权限的SQL Server身份验证用户。在解压的ogg文件夹下进行:

    ogg_cdc_cleanup_setup.bat createJob username password databasename servername\instancename ggschema

    创建样例:ogg_cdc_cleanup_setup.bat  createJob sa  xxxxx  ogg_test NewESB1  ogg

    删除样例:ogg_cdc_cleanup_setup.bat  dropJob sa  xxxx ogg_test NewESB1  ogg

    Username:数据库用户名,password数据库密码,databasename数据库名称,服务名\实例名 globals文件中定义的schema(用户自己创建一个schema)。

    12、配置mgr

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

    文件内容:

    PORT 7809

    AUTOSTART ER *

    AUTORESTART ER*,RETRIES 3, WAITMINUTES 5, RESETMINUTES 10

    说明:PORT即mgr的默认监听端口,AUTORESTART重启参数设置表示重启所有EXTRACT和Replicat进程,最多5次,每次间隔3分钟,最多等待5分钟,AUTOSTART开启自启所有EXTRACT和Replicat进程。

    13、配置extract 抽取进程

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

    文件内容:

    Extract extkafka

    SOURCEDB HRT

    TRANLOGOPTIONS  MANAGECDCCLEANUP

    exttrail

    C:/Users/Administrator/Desktop/GG/[extkafka]/to

    TABLE dbo.TEST_OGG;

    说明:第一行指定extract进程名称;sourcedb hrt连接数据源;TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT。此选项告诉 Extract 进程定期检查和删除 CDC 捕获作业,从而提高性能并减小捕获数据所占用的空间;exttrail定义trail文件的保存位置以及文件名,注意这里文件名只能是2个字母,其余部分OGG会补齐;table即复制表的表名,test_ogg.test_ogg代表抽取test_ogg表(支持*通配,必须以;结尾)

    添加extract进程:

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

    添加trail文件的定义与extract进程绑定,extract进程监听文件夹文件是否有变动:

    GGSCI(ambari.master.com) 17> add exttrail C:/Users/Administrator/Desktop/GG/[extkafka]/to,extract extkafka

    13、配置pump推送进程

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

    GGSCI(ambari.master.com) 18>edit parampukafka

    文件内容:

    extract pukafka

    passthru

    dynamicresolution

    rmthost192.168.124.173 mgrport 7809

    rmttrail /opt/ogg/[extkafka]/to

    table dbo.*;

    说明:第一行指定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 C:/Users/Administrator/Desktop/GG/[extkafka]/to

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

    14、配置define进程

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

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

    defsfile C:\Users\Administrator\Desktop\GG\dirdef\[extkafka]

    sourcedb hrt

    table test_ogg.*;

    在OGG主目录下执行:

    C:\Users\Administrator\Desktop\GG> defgen paramfile C:\Users\Administrator\Desktop\GG\dirprm\[extkafka].prm

    将生成的C:\Users\Administrator\Desktop\GG\dirdef\[extkafka]发送的目标端ogg目录下的dirdef里,源端配置完成。

    15、开机自启mgr

    在goldengate环境ggsci下输入以下命令:

    edit params ./GLOBALS

    #(注意./GLOBALS为大写)编辑文件,添加以下内容。

    MGRSERVNAME GGMGR

    #GGMGR 是个性化设置的OGG管理进程服务名,保存退出。

    在OGG安装目录下使用“以管理员身份运行”模式打开cmd提示符,执行命令,执行install addservice激活服务。

    然后在windows服务中找到服务设置开机自启动。

    如果是windos环境oracle数据库,可能需要设置自动延时启动,在oracle启动之后在进行启动,如果设置了延时启动ogg进程还是启动报错,报错如下图所示

    那可以设置通过bat脚本文件进行开机自启。

    相关文章

      网友评论

          本文标题:ogg12.3+mmsql配置写入kafka

          本文链接:https://www.haomeiwen.com/subject/rpetectx.html