diff --git a/environment.sh b/environment.sh index d3e1b27..dfee49a 100644 --- a/environment.sh +++ b/environment.sh @@ -1,31 +1,43 @@ #!/bin/bash # 定基本环境变量并导出 +# 所有端口都为主机对外爆露的端口 export DOMAIN=bazhong export NETWORK="swarm_network_$DOMAIN" - +export HOST_IP=127.0.0.1 +export HOST_NAME=localhost export REGISTRY=registry.t-aaron.com -#MySql 端口暴露出来方便访问 +#export REGISTRY_HOST=${REGISTRY}/tuoheng/ +export REGISTRY_HOST="" +#MySql 配置 export MYSQL_PORT=3308 export MYSQL_ROOT_PASSWORD=tuoheng2024 -export MYSQL_IMAGE=${REGISTRY}/tuoheng/mysql:8.0.25 +export MYSQL_IMAGE=${REGISTRY_HOST}mysql:8.0.25 export MYSQL_DATA=${NETWORK}_mysql_data export MYSQL_NAME=MYSQL_${DOMAIN} export MYSQL_MEMORY=1g +#Redis 配置 export REDIS_PORT=6380 -export REDIS_IMAGE=${REGISTRY}/tuoheng/redis:latest +export REDIS_IMAGE=${REGISTRY_HOST}redis:latest export REDIS_DATA=${NETWORK}_redis_data export REDIS_NAME=REDIS_${DOMAIN} export REDIS_MEMORY=512m - +#MQTT 配置 export MQTT_PORT=1883 export MQTT_WS_PORT=9001 -export MQTT_IMAGE=${REGISTRY}/tuoheng/eclipse-mosquitto:latest +export MQTT_IMAGE=${REGISTRY_HOST}eclipse-mosquitto:latest export MQTT_NAME=MQTT_${DOMAIN} export MQTT_MEMORY=512m +#Kafka 配置 +export KAFKA_PORT=9092 +export KAFKA_IMAGE=${REGISTRY_HOST}confluentinc/cp-kafka:latest +export KAFKA_NAME=KAFKA_${DOMAIN} +export KAFKA_MEMORY=512m + + export SKY_AOP="sky-oap:11800" #主机INGRESS_PORT 映射到容器80 INGRESS_SSL_PORT 映射到容器 443 export INGRESS_PORT=80 diff --git a/init/6.kafka.sh b/init/6.kafka.sh new file mode 100755 index 0000000..ebd1cc5 --- /dev/null +++ b/init/6.kafka.sh @@ -0,0 +1,62 @@ +source ../environment.sh +if [ -z "$NETWORK" ]; then +echo "错误: 未找到 NETWORK 环境变量" +exit 1 +fi + +if [ -z "$HOST_IP" ]; then +echo "错误: 未找到 HOST_IP 环境变量" +exit 1 +fi + +if [ -z "$KAFKA_PORT" ]; then +echo "错误: 未找到 KAFKA_PORT 环境变量" +exit 1 +fi +if [ -z "$KAFKA_NAME" ]; then +echo "错误: 未找到 KAFKA_NAME 环境变量" +exit 1 +fi + +if [ -z "$KAFKA_IMAGE" ]; then +echo "错误: 未找到 KAFKA_IMAGE 环境变量" +exit 1 +fi + +if [ -z "$KAFKA_MEMORY" ]; then +echo "错误: 未找到 KAFKA_MEMORY 环境变量" +exit 1 +fi + + +if docker ps -a | grep -q ${KAFKA_NAME}; then + echo "停止并删除已存在的 KAFKA 容器..." + docker stop ${KAFKA_NAME} >/dev/null 2>&1 + docker rm ${KAFKA_NAME} >/dev/null 2>&1 +fi + + +docker run -d \ +--name ${KAFKA_NAME} \ +--network $NETWORK \ +-p ${KAFKA_PORT}:9092 \ +-e KAFKA_NODE_ID=1 \ +-e KAFKA_PROCESS_ROLES=broker,controller \ +-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:29093 \ +-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:${KAFKA_PORT} \ +-e KAFKA_CONTROLLER_QUORUM_VOTERS=1@${KAFKA_NAME}:29093 \ +-e KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER \ +-e CLUSTER_ID=b8f3a0c1-1234-5678-9abc-def012345678 \ +-e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \ +-e KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT \ +-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \ +-e KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 \ +-e KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1 \ +-e KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0 \ +-e KAFKA_NUM_PARTITIONS=3 \ +-e KAFKA_AUTO_CREATE_TOPICS_ENABLE=true \ +--memory ${KAFKA_MEMORY} --restart unless-stopped ${KAFKA_IMAGE} + + + + \ No newline at end of file