diff --git a/publish/src/linux-x64/publish/conf/debezium/register-mysql.json b/publish/src/linux-x64/publish/conf/debezium/register-mysql.json new file mode 100644 index 00000000..b8acc154 --- /dev/null +++ b/publish/src/linux-x64/publish/conf/debezium/register-mysql.json @@ -0,0 +1,16 @@ +{ + "name": "inventory-connector", + "config": { + "connector.class": "io.debezium.connector.mysql.MySqlConnector", + "tasks.max": "1", + "database.hostname": "mysql", + "database.port": "3306", + "database.user": "slave", + "database.password": "aA123456!", + "database.server.id": "1", + "database.server.name": "dbserver1", + "database.include": "iotcenter", + "database.history.kafka.bootstrap.servers": "kafka:9092", + "database.history.kafka.topic": "schema-changes.iotcenter" + } +} \ No newline at end of file diff --git a/publish/src/linux-x64/publish/conf/mysql/init.sql b/publish/src/linux-x64/publish/conf/mysql/init.sql deleted file mode 100644 index 7987d6c3..00000000 --- a/publish/src/linux-x64/publish/conf/mysql/init.sql +++ /dev/null @@ -1,4 +0,0 @@ -CREATE USER 'slave'@'%' IDENTIFIED BY 'aA123456!'; -GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%'; - -CREATE DATABASE IF NOT EXISTS jobserver; \ No newline at end of file diff --git a/publish/src/linux-x64/publish/conf/mysql/initdb.d/init.sql b/publish/src/linux-x64/publish/conf/mysql/initdb.d/init.sql new file mode 100644 index 00000000..3f5c3fbd --- /dev/null +++ b/publish/src/linux-x64/publish/conf/mysql/initdb.d/init.sql @@ -0,0 +1,4 @@ +CREATE DATABASE jobserver; +CREATE USER 'slave'@'%' IDENTIFIED BY 'aA123456!'; +GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%'; +FLUSH PRIVILEGES; diff --git a/publish/src/linux-x64/publish/conf/mysql/my.cnf b/publish/src/linux-x64/publish/conf/mysql/my.cnf index 839a0075..2e67c3dc 100644 --- a/publish/src/linux-x64/publish/conf/mysql/my.cnf +++ b/publish/src/linux-x64/publish/conf/mysql/my.cnf @@ -7,7 +7,7 @@ default-character-set=utf8mb4 [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_general_ci -server_id=1 log-bin=mysql-bin binlog-format=ROW -binlog_expire_logs_seconds=604800 \ No newline at end of file +binlog_expire_logs_seconds=604800 +server_id=1 \ No newline at end of file diff --git a/publish/src/linux-x64/publish/docker-compose.lab.yml b/publish/src/linux-x64/publish/docker-compose.lab.yml new file mode 100644 index 00000000..3c271305 --- /dev/null +++ b/publish/src/linux-x64/publish/docker-compose.lab.yml @@ -0,0 +1,47 @@ +version: "3.8" +services: + zookeeper: + image: zookeeper:3.7.0 + restart: always + ports: + - 2181:2181 + 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: 192.168.100.144 + 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: + - 9010:9000 + depends_on: + - zookeeper + - kafka + # 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 + connect: + image: debezium/connect:1.5 + environment: + - BOOTSTRAP_SERVERS=192.168.100.144: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 + depends_on: + - mysql + - kafka \ No newline at end of file diff --git a/publish/src/linux-x64/publish/docker-compose.yml b/publish/src/linux-x64/publish/docker-compose.yml index f7243efc..443db36e 100644 --- a/publish/src/linux-x64/publish/docker-compose.yml +++ b/publish/src/linux-x64/publish/docker-compose.yml @@ -1,3 +1,4 @@ +#2021-04-12 version: "3.8" services: #netdata @@ -18,10 +19,10 @@ services: - /etc/os-release:/host/etc/os-release:ro #container management portainer: - image: portainer/portainer:1.24.1 + image: portainer/portainer:1.24.2 restart: always ports: - - 9002:9000 + - 9009:9000 volumes: - /var/run/docker.sock:/var/run/docker.sock - ./data/portainer:/data @@ -53,7 +54,7 @@ services: - ./log/gateway:/var/log/nginx #file server minio: - image: minio/minio:RELEASE.2020-08-08T04-50-06Z + image: minio/minio:RELEASE.2021-01-30T00-20-58Z.hotfix.0c1d75aa8 restart: always environment: MINIO_ACCESS_KEY: "admin" @@ -65,7 +66,7 @@ services: - ./data/minio:/data #database server mysql: - image: mysql:8.0 + image: mysql:8.0.23 restart: always environment: - MYSQL_ROOT_PASSWORD=aA123456! @@ -75,9 +76,9 @@ services: volumes: - ./conf/mysql/my.cnf:/etc/mysql/conf.d/my.cnf - ./data/mysql:/var/lib/mysql - - ./conf/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql + - ./conf/mysql/initdb.d:/docker-entrypoint-initdb.d influxdb: - image: influxdb:1.8.1 + image: influxdb:2.0.4 restart: always environment: TZ: "Asia/Shanghai" @@ -91,7 +92,7 @@ services: - ./data/influxdb:/var/lib/influxdb #cache server redis: - image: redis:6.0.6 + image: redis:6.2.1-buster restart: always ports: - 6379:6379 diff --git a/publish/src/linux-x64/publish/lab.cmd b/publish/src/linux-x64/publish/lab.cmd new file mode 100644 index 00000000..bc1e2d55 --- /dev/null +++ b/publish/src/linux-x64/publish/lab.cmd @@ -0,0 +1 @@ +docker-compose --compatibility -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.lab.yml up --remove-orphans -d \ No newline at end of file