当前位置: 首页 > news >正文

建设平台网站万网一个ip建立多个网站

建设平台网站,万网一个ip建立多个网站,长宁建设机械网站,承接工程平台OceanBase对MySQL具备很好的兼容性。目前#xff0c;已经发布了开源版的binlog service工具#xff0c;该工具能够将OceanBase特有的clog模式转换成binlog模式#xff0c;以便下游工具如canal、flink cdc等使用。今天#xff0c;我们就来简单体验一下这个binlog service的功…OceanBase对MySQL具备很好的兼容性。目前已经发布了开源版的binlog service工具该工具能够将OceanBase特有的clog模式转换成binlog模式以便下游工具如canal、flink cdc等使用。今天我们就来简单体验一下这个binlog service的功能并利用mysql binlog工具进行解析看看转换是否准确无误。 binlog service 依赖oblogproxy是 oblogproxy 提供的一种服务模式当 binlog_mode true 时则提供兼容原生 mysql binlog 的服务包含相关sql、binlog文件生成及binlog dump服务因此想要使用binlog service功能需要下载oblogproxy可在OceanBase官网进行下载下载中心找到 OceanBase日志代理服务 (OBLogProxy) 关于binlog service相关文档可以先在github上查看binlog service文档 相关介绍 obproxy: ob 代理服务sql 和 binlog 都将通过 obproxy 作为统一入口来访问 ob其中的 binlog 包含了 binlog 相关的命令如show binlog events;、binlog replication即binlog复制协议oblogproxy: ob 日志代理服务提供了 mysql binlog 的兼容能力(包含了 binlog 相关命令和 binlog replication)bc: oblogproxy 中 binlog converter 子进程通过 libobcdc 拉取和解析 clog转换为 binlog 文件bd: oblogproxy 中 binlog dumper 子进程对下游canal or flinkcdc or ... binlog dump 请求提供 binlog events 订阅服务bcm: oblogproxy 中 bc 进程的管理模块bdm: oblogproxy 中 bd 进程的管理模块 整个架构图如下oblogproxy通过连接集群的obproxy获取集群日志信息通过oblogproxy将其转换为binlog模式。下游的canal、flink cdc等也是通过连接obproxy组件来消费binlog。 相关限制 目前binlog service功能要求observer版本至少 4.2.1obproxy 4.2.1OB针对enum、set所实现的拓展语义不支持比如set定义数支持超过64个、支持重复、enum支持插入未定义数据(比如)等varchar(65536)定义不支持不支持gis类型另外对于MySQL的一些DDL存在一定的差异可能导致解析出的binlog在MySQL不兼容不过为解决这种问题observer做了兼容性支持建议obproxy设置 init_sql 开启 _show_ddl_in_compat_mode 开启后observer show create table输出会完全兼容mysql的语法建议设置为租户级别 环境介绍 这里总共4台机器分别安装一套3节点OceanBase集群1个oblogproxy服务 IP角色172.24.255.54oblogproxy172.24.255.56OBServer、OBProxy172.24.255.57OBServer172.24.255.58OBServer 安装及配置 OBProxy配置 从上面的基本架构图可以看出不论是oblogproxy还是canal、flink cdc都是与obproxy进行交互canal、flink cdc等不感知 oblogproxy即真正提供的 binlog service 服务的组件下游的请求是由 obproxy 转发给 observer 或 oblogproxy 因此在 obproxy 上需要配置 oblogproxy 的服务地址。 # 连接到obproxy上通过obproxy连接集群或者直连obproxy [rootOB1 ~]# obclient -h172.24.255.56 -P2883 -urootsys#myoceanbase -pxxx -Doceanbase -A# 查询binlog server 地址当前为空 obclient [oceanbase] show proxyconfig like binlog_service_ip; ----------------------------------------------------------------------------------------------- | name | value | info | need_reboot | visible_level | ----------------------------------------------------------------------------------------------- | binlog_service_ip | | binlog service ip, format ip1:sql_port1 | false | SYS | ----------------------------------------------------------------------------------------------- 1 row in set (0.001 sec)# 配置binlog server 地址,地址形式为ip:port obclient [oceanbase] alter proxyconfig set binlog_service_ip172.24.255.54:2983; Query OK, 0 rows affected (0.004 sec)# 开启binlog服务的转发 obclient [oceanbase] alter proxyconfig set enable_binlog_serviceTrue;# 设置init_sql,可以设置通过该obproxy的session链接都在session级别设置一些系统变量 obclient [oceanbase] alter proxyconfig set init_sqlset _show_ddl_in_compat_mode 1;; binlog service安装及启动 下载安装包上传到服务器上执行安装 [rootOB2 ~]# rpm -ivh oblogproxy-2.0.0-100000012023111521.el7.x86_64.rpm 默认安装家目录会在 /usr/local/oblogproxy 修改配置文件配置文件为家目录下conf/conf.json [rootOB2 ~]# cd /usr/local/oblogproxy [rootOB2 oblogproxy]# vim conf/conf.json # 主要修改下面几项内容打开binlog然后修改几个路径为绝对路径 binlog_mode: true oblogreader_path: /usr/local/oblogproxy/run bin_path: /usr/local/oblogproxy/bin oblogreader_obcdc_ce_path_template: /usr/local/oblogproxy/obcdc/obcdc-ce-%d.x-access/libobcdc.so binlog_log_bin_basename: /usr/local/oblogproxy/run binlog_obcdc_ce_path_template: /usr/local/oblogproxy/obcdc/obcdc-ce-%d.x-access/libobcdc.so 其他相关配置内容可参考binlog service文档 配置账户这里因为账户和密码都需要加密在配置文件中不能直接明文填写所以需要调用config_sys函数来对用户名和密码加密并替换conf.json文件中的ob_sys_usernameob_sys_password [rootOB2 oblogproxy]# ./run.sh config_sys ${sys_usr} ${sys_pwd} # 这里会提示要更新conf.json文件中的ob_sys_usernameob_sys_password填y即可 DEPLOY_PATH : /usr/local/oblogproxy!!DANGER!! About to update logproxy conf/conf.json, Please confirm? [Y/n] y 注意这里填写的用户名、密码必须是sys租户的例如rootsys#cluster_name填写时需要用双引号将用户名密码括起来。 启动binlog service # start 启动 oblogproxy 服务进程 [rootOB2 oblogproxy]# ./run.sh start 查看日志看下是否有报错日志在log目录下 [rootOB2 oblogproxy]# cat log/logproxy.log [2023-12-06 15:51:34] [info] environmental.cpp(27): Max file descriptors: 655350 [2023-12-06 15:51:34] [info] environmental.cpp(34): Max processes/threads: 655360 [2023-12-06 15:51:34] [info] environmental.cpp(41): Core dump size: 18446744073709551615 [2023-12-06 15:51:34] [info] environmental.cpp(48): Maximum number of pending signals: 252872 [2023-12-06 15:51:34] [info] binlog_server.cpp(66): Start pull up all BC processes [2023-12-06 15:51:34] [info] binlog_server.cpp(76): The current binlog converter [myoceanbase,obtest]is alive and the pull action is terminated [2023-12-06 15:51:34] [info] binlog_server.cpp(76): The current binlog converter [myoceanbase,obtest]is alive and the pull action is terminated [2023-12-06 15:51:34] [info] binlog_server.cpp(89): Finish to pull up 1 BC processes [2023-12-06 15:51:34] [info] event_wrapper.cpp(43): Succeed to listen socket with port: 2983 [2023-12-06 15:51:34] [info] binlog_server.cpp(47): Start OceanBase binlog server on port 2983 配置binlog service 目前binlog service已经启动成功但是需要指定获取哪个租户的binlog需要登录到oblogproxy上创建binlog订阅子进程官网给出的具体语法如下 CREATE BINLOG [IF NOT EXISTS] FOR TENANT cluster.tenant [TO USER user PASSWORD pwd] [FROM timestamp] WITH CLUSTER URL cluster url[, INITIAL_TRX_XID ob_txn_id, INITIAL_TRX_GTID_SEQ gtid_seq];-- 支持对binlog服务指定账户名与密码(用于订阅OB日志4.x可以指定为业务租户) [TO USER user PASSWORD pwd]-- 支持指定oceanbase的事务id与binlog的gitd做映射 -- INITIAL_TRX_XID: ob的事务id -- INITIAL_TRX_GTID_SEQ: 映射的gitd seq [, INITIAL_TRX_XID ob_txn_id, INITIAL_TRX_GTID_SEQ gtid_seq]-- 示例: CREATE BINLOG FOR TENANT cluster.tenant TO USER user PASSWORD pwd FROM 1668339370000000 WITH CLUSTER URL cluster_url, SERVER UUID 2340778c-7464-11ed-a721-7cd30abc99b4, INITIAL_TRX_XID 97984179, INITIAL_TRX_GTID_SEQ 31; 上面几个参数的获取方式连接到目标observer集群执行 timestampselect time_to_usec(NOW()); clustet_urlshow parameters like %url% SERVER UUID: show global variables like %uuid; INITIAL_TRX_XID: select * from GV$OB_TRANSACTION_PARTICIPANTS; INITIAL_TRX_GTID_SEQ: 1 # 第一次启动的话这里可以随意指定一个数字 在第一次启动的时候也可以不用指定时间戳、INITIAL_TRX_XID和INITIAL_TRX_GTID_SEQ系统会自动进行配置这里我执行启动的命令并查看状态 [rootOB2 oblogproxy]# mysql -A -c -h 127.0.0.1 -P 2983 MySQL [(none)] CREATE BINLOG FOR TENANT myoceanbase.obtest TO USER root PASSWORD xxxx WITH CLUSTER URL http://172.24.255.53:8080/services?ActionObRootServiceInfoUser_IDalibabaUIDocpmasterObRegionmyoceanbase, SERVER UUID xxxx-xxx-xx-xx-xxxxxx; MySQL [(none)] SHOW BINLOG STATUS\G; *************************** 1. row *************************** cluster: myoceanbasetenant: obteststatus: {binlog_files :[{binlog_name : mysql-bin.000001,binlog_size : 178}],client_id : /usr/local/oblogproxy/run/myoceanbase/obtest,cpu_status :{cpu_count : 16,cpu_used_ratio : 0.12666244804859161},disk_status :{disk_total_size_mb : 503837,disk_usage_size_process_mb : 0,disk_used_ratio : 0.45975583791732788,disk_used_size_mb : 231642},memory_status :{mem_total_size_mb : 63238,mem_used_ratio : 0.0,mem_used_size_mb : 735},network_status :{network_rx_bytes : 0,network_wx_bytes : 0},pid : 7605 } 1 row in set (0.00 sec) 启动之后可以看到订阅的子进程binlog_converter已经开启 此时在家目录下的run/myoceanbase/obtest/data/下面就会自动生成mysql-bin文件 至此整个配置启动过程就已经完毕源OceanBase集群的增删改查都可以抓取到并写入到mysql-bin文件中 解析binlog 最后一步我们尝试在源集群中写入数据使用mysqlbinlog工具进行解析看下是否解析正常 这里要求mysqlbinlog版本为Ver 3.4版本对应的mysql版本大概为5.7.9 这里在源端执行一个建表和插入数据看下是否能解析出来 解析结果 以上是对OceanBase 的 binlog service做的一个简单测试大家有兴趣的话可以下载下来实际测试和使用有问题的话也可以直接给官方提issue其他相关命令在github上也可以查到后续在官网也会推出binlog service的文档。
http://www.zqtcl.cn/news/874436/

相关文章:

  • 雅客网站建设网站如何挂马教程
  • 手机网站开发兼容性wordpress下载主题footer
  • 资讯网站模板带会员投稿功能怎么查网站开发的语言
  • 个人网站搭建平台wordpress免费还是收费
  • 网站优化协议嘉兴企业网站设计哪家好
  • 英文网站设计哪家好用php做的网站用什么数据库
  • 公司网站建设包括服装设计公司效果图
  • 做网站怎么购买主机下载安装百度一下
  • wordpress网站 搬家大型网站开发什么书籍好
  • 机关事业单位 网站建设方案书网站推送怎么做
  • php网站如何绑定一级域名到子目录做推广便宜的网站
  • 江苏省网站建设与管理历年自考试题商城网站 价格
  • 淘宝客网站建站源码icp备案查询官网入口
  • 环球资源网站网址微信管理中心
  • 青岛seo建站企业网址下载
  • 开发网站多少钱一个月做网站宽度
  • wordpress企业站主题哪个好做床上用品网站
  • 宜兴市做网站网站建设简讯
  • 点的排版设计网站音乐网站网页设计
  • 牛商网做网站的思路建设网站的机构
  • flash网站制作实例自适应网站做百度推广
  • 深圳建立网站电影里的做视频在线观看网站
  • 国家建设标准发布网站在哪里在线教育网站怎样建设
  • 徐州 商城网站设计winserver wordpress
  • 做网络课程的网站一般网站的架构
  • 网站建设包含哪些内容句容住房和城乡建设局网站
  • 做网站是做完给钱还是新房装修图片
  • 阿里云建站视频wordpress显示摘要插件
  • 济宁网站建设 企业谷网站开发有什么用
  • 网站建设一般多少钱官网代做网站公司哪家好