일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 다차원배열
- 산술 쉬프트 연산자
- 비정방행렬
- 기본형호출
- 안드로이드스튜디오
- 배열
- 비트논리연산자
- 자바
- 비교연산자
- 삼항 연산자
- 증감연산자
- 단순if
- 참조형호출
- 논리 쉬프트 연산자
- for문
- 순환문
- Java
- println()
- 사용자입력Switch문
- 대입 연산자
- 변수유효범위
- 다중if
- print()
- 타입변환
- 명명규칙
- 콘솔출력문
- dowhile문
- 문자열
- while문
- array
- Today
- Total
신입개발자
Kafka 백업/이관/업그레이드 과정 정리 본문
참고 공식 문서 : https://kafka.apache.org/documentation/#upgrade
[업그레이드 전 ]
kafka 버전(with Kraft) : 3.4
[업그레이드 후]
kafka 버전(with Kraft) : 3.5
[카프카 버전 확인]
./kafka-topics.sh --version
[예시]
[kafka:/home/kafka/kafka/bin] ./kafka-topics.sh --version
3.4.0 (Commit:2e1947d240607d53)
[ 백업 ]
server.properties 에 작성한 log.dirs와 metadata.log.dir 의 폴더 백업
cp -r kraft-combined-log backup-kraft-combined-log/
cp -r metadata-log backcup-metadata-log/
[ 이관 ]
- 카프카 3.5에서 실행함
기존 metadata-logs 만 가져올 경우
./bin/kafka-storage.sh random-uuid
클러스터 아이디를 바꿨을 부분만
/data/metadata-logs/ 아래에 있는 meta.properties에 있는 cluster.id만 바꿔주고 시작하면 토픽이 복사된다.
[업그레이드]
Kafka 버전을 업그레이드하는 경우, 기존 버전의 Kafka가 사용하던 메타데이터 로그 디렉토리와 로그 디렉토리를 그대로 사용해야 합니다.
새 버전의 Kafka가 새로운 메타데이터 로그 디렉토리와 로그 디렉토리를 사용하도록 설정하면, 기존 버전의 Kafka가 생성한 메타데이터와 로그 데이터를 사용할 수 없습니다.
- 업그레이드할 버전의 바이너리 파일 다운로드 후 tar 파일 풀기
https://kafka.apache.org/downloads.html
- 기존 kafka 버전의 metadata.log.dir와 log.dirs 폴더 옮기기
tar -cvf oldkafka.tar data
mv oldkafka.tar /home/kafka/updateKafka
tar -xvf oldkafka.tar
data 아래에 metadata.log.dir와 log.dirs있다 가정 하고 tar로 압축
- 기존 kafka의 kraft 폴더 아래에 있는 server.properties 복사 후, metadata.log.dir와 log.dirs 위치 수정
cp /home/kafka/oldKafka/config/kraft/server.properties /home/kafka/updateKafka/config/kraft/server.properties
- 기존 kafka를 종료 후 업데이트한 kafka 시작
nohup ./bin/kafka-server-start.sh /home/kafka/updateKafka/config/kraft/server.properties &
- ui for apache kafka에서 Brokers Uptime에 version이 변경되었는지 확인 후 메타데이터도 변경
./bin/kafka-features.sh --bootstrap-server BOOTSTRAP-SERVER:19092 upgrade --metadata 3.5
metadata.version was upgraded to 11.
메타데이터 변경 이유)
새 버전의 Kafka에서는 새로운 메타데이터 형식이 도입될 수 있습니다.
이 경우, 기존 버전의 Kafka에서 사용하던 메타데이터 형식과 호환되지 않을 수 있습니다.
따라서, Kafka 버전을 업그레이드한 후에는 메타데이터 버전도 함께 업그레이드해야 새 버전의 Kafka에서 제공하는 새로운 기능을 사용할 수 있습니다.
메타데이터 버전을 업그레이드하기 전에 클러스터의 동작과 성능을 검증하는 이유는 업그레이드가 정상적으로 완료되었는지 확인하기 위해서입니다.
만약 업그레이드 중 문제가 발생하면, 메타데이터 버전을 업그레이드하기 전에 문제를 해결할 수 있습니다.
기존 kafka 버전에서 10개 메세지를 보내고 하나씩 버전을 업그레이드를 하더라도 토픽의 메세지는 남아있다.
'개인 개발 공부' 카테고리의 다른 글
Grafana 모니터링 화면 (0) | 2023.08.31 |
---|---|
Kafka broker, controller 분리 (0) | 2023.08.31 |
Kafka 고가용성 테스트 (0) | 2023.08.31 |
Kafka Consumer (0) | 2023.08.31 |
Kafka Stream (0) | 2023.08.31 |