diff --git a/Canal-Kafka-QuickStart.md b/Canal-Kafka-QuickStart.md deleted file mode 100644 index 5a17784..0000000 --- a/Canal-Kafka-QuickStart.md +++ /dev/null @@ -1,285 +0,0 @@ -## 环境版本 -* 操作系统:CentOS release 6.6 (Final) -* java版本: jdk1.8 -* zookeeper版本: zookeeper-3.4.11 -* kafka 版本: kafka_2.11-1.1.1.tgz -* canal.kafka 版本: 请下载最新的安装包,本文以当前v1.0.26 alpha 5 的canal.kafka-1.0.26-SNAPSHOT.tar.gz 为例 -* MySQL版本 :5.7.18 -* 注意 : 关闭所有机器的防火墙,同时注意启动可以相互telnet ip 端口 - -## 一、 安装jdk -``` -此处省略 -``` -## 二、 安装zookeeper -### 2.1 下载源码包,并解压 -官网下载地址:`http://www.apache.org/dyn/closer.cgi/zookeeper` -``` -wget http://mirror.olnevhost.net/pub/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz -tar zxvf zookeeper-3.4.11.tar.gz -mv zookeeper-3.4.11 /usr/local/zookeeper -``` -### 2.2 修改环境变量 -编辑 /etc/profile 文件, 在文件末尾添加以下环境变量配置: -``` -# ZooKeeper Env -export ZOOKEEPER_HOME=/usr/local/zookeeper -export PATH=$PATH:$ZOOKEEPER_HOME/bin -``` -运行以下命令使环境变量生效: -` source /etc/profile ` -### 2.3 重命名配置文件 -初次使用 ZooKeeper 时,需要将$ZOOKEEPER_HOME/conf 目录下的 zoo_sample.cfg 重命名为 zoo.cfg, zoo.cfg -``` -mv $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg -``` -### 2.4 单机模式--修改配置文件 -创建目录`/usr/local/zookeeper/data` 和`/usr/local/zookeeper/logs` -修改配置文件 -``` -tickTime=2000 -initLimit=10 -syncLimit=5 -dataDir=/usr/local/zookeeper/data -dataLogDir=/usr/local/zookeeper/logs -clientPort=2181 -``` -如果是多节点,配置文件中尾部增加 -``` -server.1=192.168.1.110:2888:3888 -server.2=192.168.1.111:2888:3888 -server.3=192.168.1.112:2888:3888 -``` -同时,增加 -``` -#master -echo "1">/usr/local/zookeeper/data/myid - -#slave1 -echo "2">/usr/local/zookeeper/data/myid - -#slave2 -echo "3">/usr/local/zookeeper/data/myid - -``` -### 2.5 启动 ZooKeeper 服务 -``` -# cd /usr/local/zookeeper/zookeeper-3.4.11/bin -# ./zkServer.sh start -ZooKeeper JMX enabled by default -Using config: /usr/local/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg -Starting zookeeper ... STARTED - -zkServer.sh status -ZooKeeper JMX enabled by default -Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg -Mode: follower -``` -### 2.6 验证zooKeeper服务 -服务启动完成后,可以使用 telnet 和 stat 命令验证服务器启动是否正常: -``` -# telnet 127.0.0.1 2181 -Trying 127.0.0.1... -Connected to 127.0.0.1. -Escape character is '^]'. -stat -Zookeeper version: 3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT -Clients: -/127.0.0.1:48430[0](queued=0,recved=1,sent=0) - -Latency min/avg/max: 0/0/0 -Received: 1 -Sent: 0 -Connections: 1 -Outstanding: 0 -Zxid: 0x0 -Mode: standalone -Node count: 4 -Connection closed by foreign host. -``` -### 2.7 停止 ZooKeeper 服务 -想要停止 ZooKeeper 服务, 可以使用如下命令: -``` -# cd /usr/local/zookeeper/zookeeper-3.4.11/bin -# ./zkServer.sh stop -ZooKeeper JMX enabled by default -Using config: /usr/local/zookeeper/zookeeper-3.4.11/bin/../conf/zoo.cfg -Stopping zookeeper ... STOPPED - -``` -## 三、zk ui安装 (选装,页面查看zk的数据) -### 拉取代码 -``` -#git clone https://github.com/DeemOpen/zkui.git -``` -### 源码编译需要安装 maven -``` -# wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo -#cd zkui/ -#yum install -y maven -#mvn clean install -``` -### 修改配置文件默认值 -``` -#vim config.cfg - serverPort=9090 #指定端口 - zkServer=192.168.1.110:2181 - sessionTimeout=300000 -``` -### 启动程序至后台 - -2.0-SNAPSHOT 会随软件的更新版本不同而不同,执行时请查看target 目录中真正生成的版本 -``` - nohup java -jar target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar & -``` - -### 用浏览器访问: -`http://192.168.1.110:9090/` - -## 四、安装kafka -### 4.1 下载压缩包, 复制到固定目录并解压 -到官网下载压缩包 -``` -wget https://www.apache.org/dyn/closer.cgi?path=/kafka/1.1.1/kafka_2.11-1.1.1.tgz -mkdir -p /usr/local/kafka -cp kafka_2.11-1.1.1.tgz /usr/local/kafka -tar -zxvf kafka_2.11-1.1.1.tgz -``` - -### 4.2 修改配置文件 -`vim /usr/local/kafka/kafka_2.11-1.1.1/config/server.properties` 修改参数 -``` -zookeeper.connect=192.168.1.110:2181 -listeners=PLAINTEXT://:9092 -advertised.listeners=PLAINTEXT://192.168.1.117:9092 #本机ip -# ... -``` - -### 4.3 启动server `bin/kafka-server-start.sh -daemon config/server.properties &` - -* 查看所有topic -``` -# bin/kafka-topics.sh --list --zookeeper 192.168.1.110:2181 -``` -* 查看指定topic 下面的数据 -``` -# bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.117:9092 --from-beginning --topic example_t -Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper]. -``` - -### 4.7 参考链接 -``` -https://kafka.apache.org/quickstart -``` - -## 五、 安装canal.kafka - -### 5.1 下载压缩包 - -到官网下载最新压缩包,请下载 canal.kafka-`latest`.tar.gz。[下面以v1.0.26 alpha 5 的canal.kafka-1.0.26-SNAPSHOT.tar.gz 为例] - -``` -https://github.com/alibaba/canal/releases -``` -### 5.2 将canal.kafka 复制到固定目录并解压 - -``` -mkdir -p /usr/local/canal -cp canal.kafka-1.0.26-SNAPSHOT.tar.gz /usr/local/canal -tar -zxvf canal.kafka-1.0.26-SNAPSHOT.tar.gz -``` - -### 5.3 配置修改参数 - -修改instance 配置文件 `vi conf/example/instance.properties` - -``` -# 按需修改成自己的数据库信息 -################################################# -... -canal.instance.master.address=192.168.1.20:3306 -# username/password,数据库的用户名和密码 -... -canal.instance.dbUsername = canal -canal.instance.dbPassword = canal -... -################################################# - -``` -对应ip 地址的MySQL 数据库需进行相关初始化与设置 -详情参考 QuickStart : https://github.com/alibaba/canal/wiki/QuickStart - - -修改canal 配置文件`vim /usr/local/canal/conf/canal.properties ` -``` -# ... -canal.ip= -canal.withoutNetty = true -canal.serverMode = kafka -# zk server地址 -canal.zkServers= 192.168.1.110:2181 -canal.destinations= example -# ... -canal.instance.global.spring.xml = classpath:spring/default-instance.xml -``` -详细请参考 AdminGuide : https://github.com/alibaba/canal/wiki/AdminGuide - -修改canal.kafka 配置文件`vim /usr/local/canal/conf/kafka.yml` -``` -#kafka 集群用,进行分隔: 192.168.1.117:9092,192.168.1.118:9092,192.168.1.119:9092 -servers: 192.168.1.117:9092 -retries: 0 -batchSize: 16384 -lingerMs: 1 -bufferMemory: 33554432 -# canal的批次大小,单位 k -canalBatchSize: 50 -filterTransactionEntry: true - -canalDestinations: - - canalDestination: example - topic: example - partition: - # 一个destination可以对应多个topic -# topics: -# - topic: example -# partition: -``` -参数说明 -``` -servers: 对应 kafka的 `ProducerConfig.BOOTSTRAP_SERVERS_CONFIG` -retries: 对应kafka的`ProducerConfig.RETRIES_CONFIG` -batchSize: 对应kafka的`ProducerConfig.BATCH_SIZE_CONFIG` -lingerMs: 对应kafka的`ProducerConfig.LINGER_MS_CONFIG` -bufferMemory: 对应kafka的`ProducerConfig.BUFFER_MEMORY_CONFIG` -filterTransactionEntry: 过滤事务头、尾 -``` -### 5.4 启动 -``` -cd /usr/local/canal/ -sh bin/startup.sh -``` -### 5.5 查看日志 -a.查看 logs/canal/canal.log -``` -vi logs/canal/canal.log -``` -b. 查看instance的日志: -``` -vi logs/example/example.log -``` -### 5.6 关闭 -``` -cd /usr/local/canal/ -sh bin/stop.sh -``` -### 5.7 使用canal.kafka.client 查看kafka topic中的代码样例 -``` -# // 可参考 canal kafka client 中的实现 -com.alibaba.otter.canal.client.running.kafka.CanalKafkaClientExample -``` -### 5.8 参考链接 -``` -https://github.com/alibaba/canal/wiki/QuickStart -https://github.com/alibaba/canal/wiki/AdminGuide -``` \ No newline at end of file diff --git a/Canal-Kafka-RocketMQ-QuickStart.md b/Canal-Kafka-RocketMQ-QuickStart.md new file mode 100644 index 0000000..9813996 --- /dev/null +++ b/Canal-Kafka-RocketMQ-QuickStart.md @@ -0,0 +1,127 @@ +## 环境版本 +* 操作系统:CentOS release 6.6 (Final) +* java版本: jdk1.8 +* canal 版本: 请下载最新的安装包,本文以当前v1.1.1 的canal.deployer-1.1.1.tar.gz为例 +* MySQL版本 :5.7.18 +* 注意 : 关闭所有机器的防火墙,同时注意启动可以相互telnet ip 端口 + +## 一、 安装zookeeper +参考:[Zookeeper QuickStart](https://github.com/alibaba/canal/wiki/Zookeeper-QuickStart) + +## 二、安装MQ + +* Kafka安装参考:[Kafka QuickStart](https://github.com/alibaba/canal/wiki/Kafka-QuickStart) +* RocketMQ安装参考:待补充 + +## 三、 安装canal.server + +### 3.1 下载压缩包 + +到官网地址([release](https://github.com/alibaba/canal/releases))下载最新压缩包,请下载 canal.deployer-`latest`.tar.gz + +### 3.2 将canal.deployer 复制到固定目录并解压 + +``` +mkdir -p /usr/local/canal +cp canal.deployer-1.1.1.tar.gz /usr/local/canal +tar -zxvf canal.deployer-1.1.1.tar.gz +``` + +### 3.3 配置修改参数 + +#### a. 修改instance 配置文件 `vi conf/example/instance.properties` + +``` +# 按需修改成自己的数据库信息 +################################################# +... +canal.instance.master.address=192.168.1.20:3306 +# username/password,数据库的用户名和密码 +... +canal.instance.dbUsername = canal +canal.instance.dbPassword = canal +... +################################################# + +``` +对应ip 地址的MySQL 数据库需进行相关初始化与设置, 可参考 [Canal QuickStart](https://github.com/alibaba/canal/wiki/QuickStart) + + +#### b. 修改canal 配置文件`vi /usr/local/canal/conf/canal.properties ` +``` +# ... +canal.ip= +canal.withoutNetty = true +# tcp, kafka, RocketMQ +canal.serverMode = kafka +# zk server地址 +canal.zkServers= 192.168.1.110:2181 +canal.destinations= example +# ... +canal.instance.global.spring.xml = classpath:spring/default-instance.xml +``` +详细参数可参考[Canal AdminGuide](https://github.com/alibaba/canal/wiki/AdminGuide) + +#### c. 修改mq配置文件`vi /usr/local/canal/conf/mq.yml` + +``` +#kafka 集群用,进行分隔: 192.168.1.117:9092,192.168.1.118:9092,192.168.1.119:9092 +servers: 192.168.1.117:9092 +retries: 0 +batchSize: 16384 +lingerMs: 1 +bufferMemory: 33554432 + +# Canal的batch size, 默认50K, 由于kafka最大消息体限制请勿超过1M(900K以下) +canalBatchSize: 50 +# Canal get数据的超时时间, 单位: 毫秒, 空为不限超时 +canalGetTimeout: 100 +flatMessage: true + +canalDestinations: + - canalDestination: example + topic: example + partition: 1 +# #对应topic分区数量 +# partitionsNum: 3 +# partitionHash: +# #库名.表名: 唯一主键 +# mytest.person: id +``` +参数说明 +``` +servers: 对应 kafka的 `ProducerConfig.BOOTSTRAP_SERVERS_CONFIG` +retries: 对应kafka的`ProducerConfig.RETRIES_CONFIG` +batchSize: 对应kafka的`ProducerConfig.BATCH_SIZE_CONFIG` +lingerMs: 对应kafka的`ProducerConfig.LINGER_MS_CONFIG` +bufferMemory: 对应kafka的`ProducerConfig.BUFFER_MEMORY_CONFIG` +filterTransactionEntry: 过滤事务头、尾 +``` +### 3.4 启动 +``` +cd /usr/local/canal/ +sh bin/startup.sh +``` +### 3.5 查看日志 +a.查看 logs/canal/canal.log +``` +vi logs/canal/canal.log +``` +b. 查看instance的日志: +``` +vi logs/example/example.log +``` +### 3.6 关闭 +``` +cd /usr/local/canal/ +sh bin/stop.sh +``` +### 3.7 使用canal.client 查看kafka topic中的代码样例 +``` +# // 可参考 canal kafka client 中的实现 +com.alibaba.otter.canal.client.running.kafka.CanalKafkaClientExample + +``` +## 参考链接 +[Canal QuickStart](https://github.com/alibaba/canal/wiki/QuickStart) +[Canal AdminGuide](https://github.com/alibaba/canal/wiki/AdminGuide)