17.5. Kafka 업그레이드
최신 버전의 AMQ Streams를 사용하도록 바이너리를 업그레이드한 후 브로커를 업그레이드하여 지원되는 더 높은 버전의 Kafka를 사용할 수 있습니다.
Kafka 업그레이드 후 필요한 경우 Kafka 소비자를 업그레이드하여 증분 협업 재밸런스 프로토콜을 사용할 수 있습니다.
17.5.1. 새로운 브랜드 간 프로토콜 버전을 사용하도록 Kafka 브로커 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
새 브랜드 간 프로토콜 버전을 사용하도록 모든 Kafka 브로커를 수동으로 구성하고 다시 시작합니다. 이러한 단계를 수행한 후 새 브랜드 간 프로토콜 버전을 사용하여 Kafka 브로커 간에 데이터가 전송됩니다.
Kafka 3.0.0에서 메시지 형식 버전 값은 inter.broker.protocol.version 과 일치하도록 가정되며 설정할 필요가 없습니다. 값은 사용된 Kafka 버전을 반영합니다.
수신된 메시지는 이전 메시지 형식 버전의 메시지 로그에 계속 추가됩니다.
이 절차를 완료한 후에는 AMQ Streams를 다운로드할 수 없습니다.
사전 요구 사항
- Zoo Cryostat 바이너리를 업데이트하고 모든 Kafka 브로커를 AMQ Streams 2.0으로 업그레이드했습니다.
-
kafka사용자로 Red Hat Enterprise Linux에 로그인되어 있습니다.
프로세스
AMQ Streams 클러스터의 각 Kafka 브로커와 한 번에 하나씩 다음을 수행합니다.
-
텍스트 편집기에서 업데이트할 Kafka 브로커의 브로커 속성 파일을 엽니다. 브로커 속성 파일은 일반적으로
/opt/kafka/config/디렉터리에 저장됩니다. inter.broker.protocol.version을3.0으로 설정합니다.inter.broker.protocol.version=3.0
inter.broker.protocol.version=3.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령줄에서 수정한 Kafka 브로커를 중지합니다.
/opt/kafka/bin/kafka-server-stop.sh jcmd | grep kafka
/opt/kafka/bin/kafka-server-stop.sh jcmd | grep kafkaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 수정한 Kafka 브로커를 다시 시작합니다.
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
재시작한 Kafka 브로커가 다음과 같은 파티션 복제본에 도달했는지 확인합니다.
kafka-topics.sh툴을 사용하여 브로커에 포함된 모든 복제본이 동기화되었는지 확인합니다. 지침은 항목 목록 및 설명을 참조하십시오.
17.5.2. 소비자 및 Kafka Streams 애플리케이션을 협업 재조정으로 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
Kafka 소비자 및 Kafka Streams 애플리케이션을 업그레이드하여 기본 eager rebalance 프로토콜 대신 파티션 재조정에 증분 협업 리밸런스 프로토콜을 사용할 수 있습니다. 새 프로토콜이 Kafka 2.4.0에 추가되었습니다.
소비자는 파티션 할당을 협업 재조정에 보관하고 균형 잡힌 클러스터를 달성하는 데 필요한 경우 프로세스 종료 시에만 해당 할당을 취소합니다. 이렇게 하면 소비자 그룹 또는 Kafka Streams 애플리케이션의 가용성을 줄일 수 있습니다.
증분 협업 리밸런스 프로토콜로 업그레이드하는 것은 선택 사항입니다. eager rebalance 프로토콜은 계속 지원됩니다.
프로세스
incremental cooperative rebalance 프로토콜을 사용하도록 Kafka 소비자를 업그레이드하려면 다음을 수행합니다.
-
Kafka 클라이언트
.jar파일을 새 버전으로 교체합니다. -
소비자 구성에서
cooperative-sticky를partition.assignment.strategy에 추가합니다. 예를 들어범위전략이 설정된 경우 구성을범위, cooperative-sticky로 변경합니다. - 그룹의 각 소비자를 다시 시작하여 다시 시작한 후 소비자가 그룹에 다시 참여할 때까지 기다립니다.
-
소비자 구성에서 이전
partition.assignment.strategy를 제거하여 그룹의 각 소비자를 재구성하여cooperative-sticky전략만 남겨 둡니다. - 그룹의 각 소비자를 다시 시작하여 다시 시작한 후 소비자가 그룹에 다시 참여할 때까지 기다립니다.
incremental cooperative rebalance 프로토콜을 사용하도록 Kafka Streams 애플리케이션을 업그레이드하려면 다음을 수행합니다.
-
Kafka Streams
.jar파일을 새 버전으로 교체합니다. -
Kafka Streams 구성에서
upgrade.from구성 매개변수를 업그레이드 중인 Kafka 버전(예: 2.3)으로 설정합니다. - 각 스트림 프로세서(노드)를 차례로 다시 시작합니다.
-
Kafka Streams 구성에서
upgrade.from구성 매개변수를 제거합니다. - 그룹의 각 소비자를 차례로 다시 시작합니다.