티스토리 뷰

728x90

 

✅ 1. Kafka Connect 자체 설정 파일 백업

Kafka Connect는 기본적으로 다음 설정 파일들을 가지고 있습니다 (독립 실행 시 기준):

파일 설명
connect-distributed.properties 분산 모드 설정 (주로 이걸 사용함)
connect-standalone.properties 독립 모드 설정
worker.properties (또는 포함됨) 워커 설정 포함
log4j.properties 로그 설정 파일
커넥터 JARs /usr/share/java/ 또는 ${CONNECT_PLUGIN_PATH} 디렉토리 아래 커스텀 플러그인들
mkdir -p ~/kafka-connect-backup/config
cp /path/to/connect-distributed.properties ~/kafka-connect-backup/config/
cp /path/to/log4j.properties ~/kafka-connect-backup/config/
cp -r /path/to/custom-connectors ~/kafka-connect-backup/plugins/

✅ 2. Kafka Connect 커넥터 설정(등록된 connector config) 백업

Kafka Connect에 등록된 커넥터들은 REST API를 통해 설정되어 있으며, Kafka(내부 토픽)로 저장됩니다. 이건 REST API로 백업해야 합니다.

🔁 모든 커넥터 리스트 가져오기

curl http://localhost:8083/connectors

📥 개별 커넥터 설정 백업

curl http://localhost:8083/connectors/my-connector/config > my-connector-config.json

🛠 모든 커넥터 설정 자동 백업 스크립트

#!/bin/bash

CONNECT_URL="http://localhost:8083"
BACKUP_DIR=~/kafka-connect-backup/connector-configs
mkdir -p $BACKUP_DIR

echo "📦 Kafka Connect 커넥터 설정 백업 시작..."

curl -s $CONNECT_URL/connectors | jq -r '.[]' | while read connector; do
    echo "🔄 백업: $connector"
    curl -s $CONNECT_URL/connectors/$connector/config > "$BACKUP_DIR/$connector.json"
done

echo "✅ Kafka Connect 커넥터 설정 백업 완료 → $BACKUP_DIR"

🔧 jq 유틸리티가 필요합니다 (apt install jq 또는 brew install jq)


✅ 3. Kafka Connect 내부 토픽 백업 (심화)

Kafka Connect는 다음 토픽에 커넥터 상태와 오프셋 정보를 저장합니다:

 

토픽명  설명
connect-configs 커넥터 설정 (복원 가능)
connect-offsets 소스 오프셋
connect-status 상태 정보 (실행 여부 등)

이 토픽들을 Kafka 자체에서 백업하거나 Kafka MirrorMaker, Kafka Exporter, MirrorMaker 2로 옮길 수 있습니다. 혹은 아래처럼 수동 백업도 가능합니다:

# 예: connect-configs 토픽 데이터 가져오기
kafka-console-consumer.sh \
  --bootstrap-server localhost:9092 \
  --topic connect-configs \
  --from-beginning \
  --property print.key=true \
  --property print.value=true > connect-configs.dump

✅ 전체 백업 디렉토리 구조 예시

kafka-connect-backup/
├── config/
│   ├── connect-distributed.properties
│   └── log4j.properties
├── plugins/
│   └── my-custom-connector/
├── connector-configs/
│   ├── mongo-source.json
│   ├── s3-sink.json
│   └── ...
└── connect-topics/
    ├── connect-configs.dump
    ├── connect-offsets.dump
    └── connect-status.dump

✅ 필요 시 Helm 기반 Kafka Connect 백업 (bitnami/kafka or confluent)

Helm 기반이면 다음으로 백업:

helm get values kafka-connect -n kafka > kafka-connect-values.yaml
kubectl get cm -n kafka -l app=kafka-connect -o yaml > kafka-connect-configmaps.yaml
kubectl get secret -n kafka -l app=kafka-connect -o yaml > kafka-connect-secrets.yaml

 

728x90

'기타' 카테고리의 다른 글

Nginx Pod + PVC 조합 kafka connect plugin 관리  (1) 2025.04.20
Apache APISIX의 환경 설정값을 백업  (0) 2025.04.18
HTTP 헤더란?  (0) 2025.04.18
서비스 기획 vs 개발 기획 비교  (0) 2025.04.18
개발 기획이란?  (0) 2025.04.18
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함