没有合适的资源?快使用搜索试试~ 我知道了~
首页k8s集群下canal-server的伪高可用实践
k8s集群下canal-server的伪高可用实践
2 下载量 89 浏览量
更新于2023-03-16
评论 1
收藏 84KB PDF 举报
k8s集群下canal-server的伪高可用实践前言问题解决方案总结 前言 前面我们已经介绍了canal的admin、server、adapter三个部分的容器化以及在k8s集群下的搭建过程。在创建canal-server的时候,k8s环境下,容器重启会造成ip地址的变动给我们带来了一些问题,我们通过在创建canal-server的时候使用statefuset类型,使其可以通过固定的域名去向canal-admin注册,从而保证了canal-server的连接地址的稳定不变。本文将利用容器异常自动重启这个特性,搭建一个anal-server的伪高可用版本。 问题 在使用server的默认配置时
资源详情
资源评论
资源推荐
k8s集群下集群下canal-server的伪高可用实践的伪高可用实践
k8s集群下集群下canal-server的伪高可用实践的伪高可用实践前言问题解决方案总结
前言前言
前面我们已经介绍了canal的admin、server、adapter三个部分的容器化以及在k8s集群下的搭建过程。在创建canal-server的
时候,k8s环境下,容器重启会造成ip地址的变动给我们带来了一些问题,我们通过在创建canal-server的时候使用statefuset
类型,使其可以通过固定的域名去向canal-admin注册,从而保证了canal-server的连接地址的稳定不变。本文将利用容器异常
自动重启这个特性,搭建一个anal-server的伪高可用版本。
问题问题
在使用server的默认配置时,canal.properties下的canal.instance.global.spring.xml这一项设置的是classpath:spring/file-
instance.xml,在该模式下,server会将解析位点和消费位点以本地文件的形式记录下来,而在咱们之前搭建的容器环境下,
容器一旦重启,这些记录着位点信息的文件也就不存在了,server容器重新启动后会认为这是一个新建的同步任务,然后以当
前位点开始解析binlog,这样必然会发生数据丢失的现象。
解决方案解决方案
容器重启造成数据丢失的原因是容器重启后,容器内的内容没有做持久化的存储导致记录解析和消费位点的文件丢失,进而以
当前位点解析binlog,从而造成的数据丢失。
这个时候,我们只需要将这个记录解析和消费位点的文件能够在容器重启之后不丢失就可以了,下面我们将在k8s环境下使用
PV和PVC来解决这个问题。
需要先将磁盘挂载到192.168.100.1的/data/canal-server目录下,然后创建pv,pv.yaml如下
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv-sda
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /data/canal-server
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- 192.168.100.1
#创建PV
kubectl apply -f pv.yaml
因为server是用statefuset类型创建,所以无需手动创建PVC,修改server的server.yaml如下
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: canal-server-stable
namespace: testcanal
labels:
app: canal-server-stable
spec:
selector:
matchLabels:
app: canal-server-stable
serviceName: "canal-server-discovery-svc-stable"
replicas: 4
template:
metadata:
weixin_38575456
- 粉丝: 4
- 资源: 952
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0