This commit is contained in:
孙小云 2025-05-14 17:45:46 +08:00
parent 0b8b8c21e3
commit c0fcb6004f
2 changed files with 80 additions and 6 deletions

View File

@ -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

62
init/6.kafka.sh Executable file
View File

@ -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}