fix(deploy-mining): 修正 Docker 容器名称和默认凭据

- 修正 POSTGRES_CONTAINER 为 rwa-postgres (匹配 docker-compose.yml)
- 修正 KAFKA_CONTAINER 为 rwa-kafka
- 修正 POSTGRES_USER 为 rwa_user
- 修正 POSTGRES_PASSWORD 为 rwa_secure_password
- 修复 CDC offset 重置命令使用正确的容器名和命令格式

解决 full-reset 无法删除数据库和重置 CDC offset 的问题。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-01-11 23:41:49 -08:00
parent 5c302bfca8
commit 5cab38c7f1
1 changed files with 62 additions and 32 deletions

View File

@ -212,18 +212,18 @@ load_env() {
log_warn "No .env file found, using defaults" log_warn "No .env file found, using defaults"
fi fi
# Set defaults # Set defaults (match docker-compose.yml settings)
POSTGRES_HOST="${POSTGRES_HOST:-localhost}" POSTGRES_HOST="${POSTGRES_HOST:-localhost}"
POSTGRES_PORT="${POSTGRES_PORT:-5432}" POSTGRES_PORT="${POSTGRES_PORT:-5432}"
POSTGRES_USER="${POSTGRES_USER:-postgres}" POSTGRES_USER="${POSTGRES_USER:-rwa_user}"
POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-postgres}" POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-rwa_secure_password}"
KAFKA_BROKERS="${KAFKA_BROKERS:-localhost:9092}" KAFKA_BROKERS="${KAFKA_BROKERS:-localhost:9092}"
REDIS_HOST="${REDIS_HOST:-localhost}" REDIS_HOST="${REDIS_HOST:-localhost}"
REDIS_PORT="${REDIS_PORT:-6379}" REDIS_PORT="${REDIS_PORT:-6379}"
# Docker container names # Docker container names (match docker-compose.yml container_name)
POSTGRES_CONTAINER="${POSTGRES_CONTAINER:-postgres}" POSTGRES_CONTAINER="${POSTGRES_CONTAINER:-rwa-postgres}"
KAFKA_CONTAINER="${KAFKA_CONTAINER:-kafka}" KAFKA_CONTAINER="${KAFKA_CONTAINER:-rwa-kafka}"
} }
# =========================================================================== # ===========================================================================
@ -630,22 +630,36 @@ sync_reset() {
# Reset offsets # Reset offsets
log_step "Resetting consumer group offsets" log_step "Resetting consumer group offsets"
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--group "$CDC_CONSUMER_GROUP" \ local reset_success=false
--reset-offsets \
--to-earliest \ # Try local kafka-consumer-groups.sh first
--all-topics \ if command -v kafka-consumer-groups.sh &>/dev/null; then
--execute 2>/dev/null || { kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
# Try with docker
docker exec -it kafka kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \ --group "$CDC_CONSUMER_GROUP" \
--reset-offsets \ --reset-offsets \
--to-earliest \ --to-earliest \
--all-topics \ --all-topics \
--execute 2>/dev/null || log_warn "Could not reset offsets automatically" --execute 2>/dev/null && reset_success=true
} fi
# Try docker exec if local failed
if [ "$reset_success" = false ] && docker ps --format '{{.Names}}' 2>/dev/null | grep -q "^${KAFKA_CONTAINER}$"; then
log_info "Using Docker container: $KAFKA_CONTAINER"
docker exec "$KAFKA_CONTAINER" kafka-consumer-groups --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>&1 && reset_success=true
fi
if [ "$reset_success" = true ]; then
log_success "CDC consumer offsets reset to beginning"
else
log_warn "Could not reset offsets automatically"
fi
log_success "CDC consumer offsets reset to beginning"
log_info "Start contribution-service to begin syncing from the beginning" log_info "Start contribution-service to begin syncing from the beginning"
} }
@ -655,13 +669,20 @@ sync_status() {
echo -e "${BOLD}Consumer Group:${NC} $CDC_CONSUMER_GROUP" echo -e "${BOLD}Consumer Group:${NC} $CDC_CONSUMER_GROUP"
echo "" echo ""
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \ # Try local first, then docker
--group "$CDC_CONSUMER_GROUP" \ if command -v kafka-consumer-groups.sh &>/dev/null; then
--describe 2>/dev/null || { kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
docker exec -it kafka kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \ --group "$CDC_CONSUMER_GROUP" \
--describe 2>/dev/null || log_warn "Could not get consumer group status" --describe 2>/dev/null && return 0
} fi
if docker ps --format '{{.Names}}' 2>/dev/null | grep -q "^${KAFKA_CONTAINER}$"; then
docker exec "$KAFKA_CONTAINER" kafka-consumer-groups --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \
--describe 2>&1 || log_warn "Could not get consumer group status"
else
log_warn "Kafka container '$KAFKA_CONTAINER' not found"
fi
} }
# =========================================================================== # ===========================================================================
@ -706,19 +727,28 @@ full_reset() {
db_migrate db_migrate
log_step "Step 5/6: Resetting CDC consumer offsets..." log_step "Step 5/6: Resetting CDC consumer offsets..."
kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \ # Try local kafka-consumer-groups.sh first, then docker exec
--group "$CDC_CONSUMER_GROUP" \ if command -v kafka-consumer-groups.sh &>/dev/null; then
--reset-offsets \ kafka-consumer-groups.sh --bootstrap-server "$KAFKA_BROKERS" \
--to-earliest \
--all-topics \
--execute 2>/dev/null || {
docker exec kafka kafka-consumer-groups.sh --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \ --group "$CDC_CONSUMER_GROUP" \
--reset-offsets \ --reset-offsets \
--to-earliest \ --to-earliest \
--all-topics \ --all-topics \
--execute 2>/dev/null || log_warn "Could not reset offsets, may need manual reset" --execute 2>/dev/null && log_success "CDC offsets reset" || log_warn "Local kafka-consumer-groups.sh failed"
} fi
# Try docker exec with the correct container name
if docker ps --format '{{.Names}}' 2>/dev/null | grep -q "^${KAFKA_CONTAINER}$"; then
log_info "Resetting offsets via Docker container: $KAFKA_CONTAINER"
docker exec "$KAFKA_CONTAINER" kafka-consumer-groups --bootstrap-server localhost:9092 \
--group "$CDC_CONSUMER_GROUP" \
--reset-offsets \
--to-earliest \
--all-topics \
--execute 2>&1 || log_warn "Could not reset offsets via Docker"
else
log_warn "Kafka container '$KAFKA_CONTAINER' not found. Manual offset reset may be needed."
fi
log_step "Step 6/6: Starting 2.0 services..." log_step "Step 6/6: Starting 2.0 services..."
for service in "${MINING_SERVICES[@]}"; do for service in "${MINING_SERVICES[@]}"; do