version: "3.8" services: mysql: image: mysql:8.0.23 restart: always environment: - MYSQL_ROOT_PASSWORD=aA123456! command: --default-authentication-plugin=mysql_native_password ports: - 3306:3306 volumes: - ./conf/mysql/my.cnf:/etc/mysql/conf.d/my.cnf - ./data/mysql:/var/lib/mysql - ./conf/mysql/initdb.d:/docker-entrypoint-initdb.d zookeeper: image: zookeeper:3.7.0 restart: always ports: - 2181:2181 #/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mysql-server.example.User kafka: image: wurstmeister/kafka:2.13-2.7.0 restart: always environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_HEAP_OPTS: "-Xmx512m -Xms512m" KAFKA_ADVERTISED_HOST_NAME: $IP num.partitions: 1 volumes: - ./data/kafka:/kafka ports: - 9092:9092 depends_on: - zookeeper kafka-manager: image: kafkamanager/kafka-manager:3.0.0.4 restart: always environment: ZK_HOSTS: zookeeper KAFKA_BROKERS: kafka:9092 ports: - 9090:9000 depends_on: - zookeeper - kafka # cockroachdb to kafka :https://www.cockroachlabs.com/docs/v21.1/stream-data-out-of-cockroachdb-using-changefeeds.html#create-a-core-changefeed # curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" http://localhost:8083/connectors/ -d @register-mysql.json # https://github.com/debezium/docker-images/blob/master/examples/mysql/1.5/inventory.sql # https://github.com/debezium/debezium-examples/blob/master/tutorial/register-mysql.json # https://debezium.io/documentation/reference/1.5/connectors/mysql.html debezium: image: debezium/connect:1.5 environment: - BOOTSTRAP_SERVERS=$IP:9092 - GROUP_ID=1 - CONFIG_STORAGE_TOPIC=my_connect_configs - OFFSET_STORAGE_TOPIC=my_connect_offsets - STATUS_STORAGE_TOPIC=my_connect_statuses ports: - 8083:8083 debezium-ui: image: debezium/debezium-ui:1.5 restart: always environment: - KAFKA_CONNECT_URI=http://debezium:8083 - 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 command: bash -c "run.sh" doris-be: image: primetoninc/jdk:1.8 ports: - 8040:8040 - 8060:8060 - 9050:9050 - 9060:9060 environment: - priority_networks=$IP/28 volumes: - ./apps/doris:/doris - ./conf/doris/be.conf:/doris/be/conf/be.conf - ./data/doris/be/storage:/doris/be/storage command: bash -c "/doris/be/bin/start_be.sh" #ALTER SYSTEM ADD BACKEND "192.168.100.144:9050"; #SET PASSWORD FOR 'root' = PASSWORD('aA123456!'); #启动耗时长 doris-fe: image: primetoninc/jdk:1.8 ports: - 8030:8030 - 9010:9010 - 9020:9020 - 9030:9030 environment: - priority_networks=$CIDR volumes: - ./apps/doris:/doris - ./conf/doris/fe.conf:/doris/fe/conf/fe.conf - ./log/doris/fe:/doris/fe/log - ./data/doris/fe/doris-meta:/doris/fe/doris-meta command: bash -c "/doris/fe/bin/start_fe.sh" #doris kafka Routine Load https://cloud.baidu.com/doc/PALO/s/ykizgdgv8 #doris 不支持 superset 和 metabase,以后通过二次开发解决 #https://hub.docker.com/r/apache/superset #superset fab create-admin --username admin --firstname Superset --lastname Admin --email admin@superset.com --password admin #superset db upgrade #superset load_examples #superset init #superset: # image: apache/superset:4d2c9324be3979ecbc3d97d0d029b19e91c67c87-dev # ports: # - 8088:8088 #metabase: # image: metabase/metabase:v0.39.0.1 # ports: # - 3000:3000 # volumes: # - ./data/metabase:/metabase-data # environment: # - MB_DB_FILE=/metabase-data/metabase.db