1. Canal 소개
Canal 소개 : https://github.com/alibaba/canal/wiki/ 소개
Canal 서버 :이 프로그램은 공식 Canal 제공 업체입니다.
Canal Client :이 프로그램은 Canal 데이터를 수신하기 위해 자체적으로 개발되어야합니다 (이 경우 Java 코드를 예로 사용).
클러스터 마운트 프로세스는 다음과 같습니다.
- 2 개의 Canal 서버를 동시에 시작하면 하나의 Canal 서버와 하나의 Canal 클라이언트 만 실행할 수 있으며 모두 차단 및 대기 중입니다.
- 실행중인 Canal Server 또는 Canal Client가 오프라인 상태가되면 다른 하나가 자동으로 마운트됩니다.
고 가용성 클러스터 구현 : Canal Server는 canal.zkServers를 구성해야하며 Canal Client는 canal.zk.address 만 구성하면됩니다.
둘째, MySQL은 Binlog 동기화를 엽니 다.
공식 문서 : https://github.com/alibaba/canal/wiki/QuickStart의 [준비] 장을 참조하십시오.
셋, 사육사 준비
Canal이 검색되고 Zookeeper에 서비스로 등록되므로 클러스터링을 실현하려면 Zookeeper를 설치해야합니다.
Zookeeper 다운로드 주소 ( 참고 : apache-zookeeper-3.5.5-bin.tar.gz 패키지를 다운로드 해야합니다 ) : https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5. 5 / apache-zookeeper-3.5.5-bin.tar.gz
Zookeeper UI 다운로드 주소 :
https://github.com/DeemOpen/zkui
네, Canal Server 배포
공식 문서 참조 : https://github.com/alibaba/canal/wiki/QuickStart의 [시작] 장
1 단계 : 구성 파일 수정
# 修改配置文件 {canal_base}/conf/canal.properties
canal.zkServers=127.0.0.1:2181
2 단계 : canal 폴더를 하나 더 복사하고 폴더 이름을 임시로 canal_slave로 지정합니다.
# 修改 {canal_slave_base}/conf/canal.properties 文件
canal.port=12111
canal.metrics.pull.port=12112
canal.zkServers=127.0.0.1:2181
다섯, Canal 클라이언트 배포
참조 프로젝트 : https://github.com/fomeiherz/canal-example
1 단계 : 구성 파일 수정
# 修改 canal-example/src/main/resources/application.properties 配置文件
server.port=9091
canal.zk.address=127.0.0.1:2181
2 단계 : 프로젝트 복사, 일시적으로 canal-example-slave로 설정
# 修改 canal-example-slave/src/main/resources/application.properties 配置文件
server.port=9092
canal.zk.address=127.0.0.1:2181