3.5 KiB
3.5 KiB
CDC节点创建
PolarDB-X CDC 组件内置于 PolarDB-X 实例中,想要体验 PolarDB-X CDC 的功能,需要拉起一个 PolarDB-X 集群。
全局Binlog
- 通过 PXD 部署:参考 通过PXD部署集群,可以在拓扑文件中编辑 CDC 相关的标签值指定 CDC 集群的配置。
image
:CDC 节点的镜像replica
:CDC 节点的个数nodes
:每个 CDC 节点的具体配置resources
:分配给 CDC 节点的内存等资源
- 通过 K8S 部署:参考 通过K8S部署,默认会创建一个 CDC 节点,负责全局 Binlog 的生成。
Binlog多流
Binlog 多流目前只支持使用 K8S 进行部署,在进行部署之前需要准备好minikube
和PolarDB-X Operator
环境,环境配置方法参考 准备工作 。
接下来,我们需要准备一个描述 PolarDB-X 集群的 YAML 文件,示例如下:
apiVersion: polardbx.aliyun.com/v1
kind: PolarDBXCluster
metadata:
name: polardbx-test
spec:
config:
cdc:
envs:
binlogx_stream_group_name: "group1"
binlogx_stream_count: "3"
binlogx_transmit_hash_level: "RECORD"
topology:
nodes:
cdc:
replicas: 2
xReplicas: 2
template:
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: 500m
memory: 500Mi
image: polardbx/polardbx-cdc:latest
cn:
replicas: 1
template:
resources:
limits:
cpu: "2"
memory: 4Gi
requests:
cpu: 500m
memory: 1Gi
image: polardbx/polardbx-sql:latest
dn:
replicas: 2
template:
engine: galaxy
resources:
limits:
cpu: "2"
memory: 8Gi
requests:
cpu: 500m
memory: 500Mi
image: polardbx/polardbx-engine:latest
gms:
template:
engine: galaxy
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: 500m
memory: 500Mi
image: polardbx/polardbx-engine:latest
注:目前 PolarDB-X Operator
仅支持拉起单个多流group,并且需要同时拉起全局Binlog。
其中多流相关的配置如下:
xReplicas
: 多流节点个数binlogx_stream_group_name
:多流流组名称binlogx_stream_count
:流的个数binlogx_transmit_hash_level
:多流数据分发的哈希规则,目前支持三种规则:RECORD
:按行哈希TABLE
:按表哈希DATABASE
:按库哈希
使用下面的命令创建 PolarDB-X Cluster 对象:
kubectl create -f polardbx-test.yaml
使用下面的命令观察 PolarDB-X Cluster 对象的状态:
kubectl get pxc polardbx-test
NAME GMS CN DN CDC PHASE DISK AGE
polardbx-test 0/1 0/2 0/2 0/3 Creating 5s
当状态中 PHASE 为 Running 时,PolarDB-X 集群就创建完成了。
kubectl get pxc polardbx-test
NAME GMS CN DN CDC PHASE DISK AGE
polardbx-test 1/1 2/2 2/2 3/3 Running 6.2Gi 63s
使用下面的命令获得所有Binlog多流Pod的名称:
kubectl get pods -l polardbx/group=g-1