diff --git a/labs/doris/conf/canal/canal.properties b/labs/doris/conf/canal/canal.properties new file mode 100644 index 00000000..33dc60e3 --- /dev/null +++ b/labs/doris/conf/canal/canal.properties @@ -0,0 +1,23 @@ +# ... +# 可选项: tcp(默认), kafka, RocketMQ +canal.serverMode = kafka +# ... +# kafka/rocketmq 集群配置: 192.168.1.117:9092,192.168.1.118:9092,192.168.1.119:9092 +canal.mq.servers = kafka:9092 +canal.mq.retries = 0 +# flagMessage模式下可以调大该值, 但不要超过MQ消息体大小上限 +canal.mq.batchSize = 16384 +canal.mq.maxRequestSize = 1048576 +# flatMessage模式下请将该值改大, 建议50-200 +canal.mq.lingerMs = 1 +canal.mq.bufferMemory = 33554432 +# Canal的batch size, 默认50K, 由于kafka最大消息体限制请勿超过1M(900K以下) +canal.mq.canalBatchSize = 50 +# Canal get数据的超时时间, 单位: 毫秒, 空为不限超时 +canal.mq.canalGetTimeout = 100 +# 是否为flat json格式对象 +canal.mq.flatMessage = false +canal.mq.compressionType = none +canal.mq.acks = all +# kafka消息投递是否使用事务 +canal.mq.transaction = false \ No newline at end of file diff --git a/labs/doris/docker-compose.yml b/labs/doris/docker-compose.yml index 6a967015..35190047 100644 --- a/labs/doris/docker-compose.yml +++ b/labs/doris/docker-compose.yml @@ -65,6 +65,23 @@ services: - ui.base.uri=http://localhost:8080/api ports: - 8080:8080 + canal: + image: canal/canal-server:v1.1.5 + privileged: true + restart: always + ports: + - 11111:11111 + environment: + - canal.auto.scan=false + - canal.instance.master.address=$IP:3306 + - canal.instance.dbUsername=slave + - canal.instance.dbPassword=aA123456! + - canal.instance.filter.regex=.*\\..* + - canal.instance.filter.black.regex=mysql\\.slave_.* + - canal.instance.connectionCharset=UTF-8 + - canal.instance.tsdb.enable=true + depends_on: + - mysql doris-be: image: primetoninc/jdk:1.8 ports: