接上文:一文说清flink从编码到部署上线
环境:①操作系统:阿里龙蜥 7.9(平替CentOS7.9);②CPU:x86;③用户:root。
预研初衷:现在很多项目有国产化的要求,操作系统、数据库需要国产化,然后就想着找既能开源免费,又能很好的兼容MySQL,还能很好支持flink。然后就在信创目录找到OceanBase数据库。
flink探索:flink CDC 找到这个文章Flink CDC 配置 OceanBase 实战指南,官网论坛感觉比较靠谱,然而发现按照说明引入依赖后,相关语法是不支持的。也在网上找了比较多的其它资料,中间比较坎坷,都未解决,不再赘述。最后转换思路:既然OceanBase支持MySQL binlog,那就把OceanBase当MySQL用,使用MySQL CDC是不是可以,最后问题得到解决。下面展开说明。
1.OceanBase部署
1.1 obd 部署
官方文档:oceanbase部署
注意:①这个地方最好选择obd 图形化部署,docker部署虽然简单,但是后续安装obbinlog会比较麻烦。②操作系统不要使用CentOS了,好多yum源不能用了。可以使用“阿里龙蜥 7.9”。
部署完,记得保存相关账号信息(供参考):
[
{
"component": "oceanbase-ce",
"access_url": "10.86.97.168:2881",
"user": "root",
"password": "pwd",
"connect_url": "obclient -h10.86.97.168 -P2881 -uroot -p'pwd' -Doceanbase -A"
},
{
"component": "obproxy-ce",
"access_url": "10.86.97.168:2883",
"user": "root@proxysys",
"password": "Y6.B4s)pt",
"connect_url": "obclient -h10.86.97.168 -P2883 -uroot@proxysys -p'Y6.B4s)pt' -Doceanbase -A \n"
},
{
"component": "ocp-express",
"access_url": "10.86.97.168:8180",
"user": "admin",
"password": "DSxF-{odkdX-bmL6fjrF2{3mLL",
"connect_url": "http://10.86.97.168:8180"
}
]
这个“ocp-express”是个监控页面,能看到集群信息,访问“http://10.86.97.168:8180”:
1.2 常用命令
启动:obd cluster start myoceanbase(改成具体集群名称)
常用命令:
# 查看集群列表
obd cluster list
# 查看集群状态,以部署名为 obtest 为例
obd cluster display obtest
# 停止运行中的集群,以部署名为 obtest 为例
obd cluster stop obtest
# 销毁已部署的集群,以部署名为 obtest 为例
obd cluster destroy obtest
2.obbinlog
2.1 部署
官方文档:obbinlog部署
部署过程中,会遇到这个错误:“https://mirrors.oceanbase.com/community/stable/el/7.9/x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found”
解决方法:修改“/etc/yum.repos.d/OceanBase.repo”中,“$releasever”改为“7”。
解决完上面这个错误,其它地方就比较顺利了。
查看是否安装成功:
netstat -anp | grep 2983
2.2 创建租户
由于“不可以用root@sys创建binlog任务”,所以要创建租户。
1.查看所有的租户信息:
SELECT * FROM oceanbase.DBA_OB_TENANTS;
2.查看resource pool:
SELECT * FROM oceanbase.DBA_OB_RESOURCE_POOLS;
3.创建“资源规格(UNIT)”
CREATE RESOURCE UNIT S1_unit_flink_test
MEMORY_SIZE = '2G',
MAX_CPU = 1, MIN_CPU = 1,
LOG_DISK_SIZE = '6G',
MAX_IOPS = 10000, MIN_IOPS = 10000, IOPS_WEIGHT=1;
4.创建resource pool(仅 sys 租户的 root 用户(root@sys)可以创建资源池,其他租户不支持创建资源池)
--