19.4. Kafka 브로커 및 Zoo Cryostat 업그레이드


최신 버전의 AMQ Streams를 사용하도록 호스트 머신에서 Kafka 브로커 및 Zoo Cryostat를 업그레이드합니다. 설치 파일을 업데이트한 다음 모든 Kafka 브로커를 구성하고 다시 시작하여 새 브로커 프로토콜 버전을 사용합니다. 이러한 단계를 수행한 후 새 브랜드 간 프로토콜 버전을 사용하여 Kafka 브로커 간에 데이터가 전송됩니다.

참고

Kafka 3.0.0에서 메시지 형식 버전 값은 inter.broker.protocol.version 과 일치하도록 가정되며 설정할 필요가 없습니다. 값은 사용된 Kafka 버전을 반영합니다.

사전 요구 사항

  • kafka 사용자로 Red Hat Enterprise Linux에 로그인되어 있습니다.
  • 별도의 호스트에서 사용 중인 Kafka 및 기타 Kafka 구성 요소를 설치했습니다.

    자세한 내용은 3.1절. “설치 환경”의 내용을 참조하십시오.

  • 설치 파일을 다운로드했습니다.

프로세스

AMQ Streams 클러스터의 각 Kafka 브로커와 한 번에 하나씩 다음을 수행합니다.

  1. AMQ Streams 소프트웨어 다운로드 페이지에서 AMQ Streams 아카이브를 다운로드합니다.

    참고

    메시지가 표시되면 Red Hat 계정에 로그인합니다.

  2. 명령줄에서 임시 디렉터리를 생성하고 amq-streams-<version>-bin.zip 파일의 내용을 추출합니다.

    mkdir /tmp/kafka
    unzip amq-streams-<version>-bin.zip -d /tmp/kafka
  3. 실행 중인 경우 호스트에서 실행 중인 Zoo Cryostat 및 Kafka 브로커를 중지합니다.

    /opt/kafka/bin/zookeeper-server-stop.sh
    /opt/kafka/bin/kafka-server-stop.sh
    jcmd | grep zookeeper
    jcmd | grep kafka

    다중 노드 클러스터에서 Kafka를 실행하는 경우 4.3절. “Kafka 브로커의 정상 롤링 재시작 수행” 을 참조하십시오.

  4. 기존 설치에서 libsbin 디렉토리를 삭제합니다.

    rm -rf /opt/kafka/libs /opt/kafka/bin
  5. 임시 디렉토리에서 libsbin 디렉토리를 복사합니다.

    cp -r /tmp/kafka/kafka_<version>/libs /opt/kafka/
    cp -r /tmp/kafka/kafka_<version>/bin /opt/kafka/
  6. 필요한 경우 새 버전의 변경 사항을 반영하도록 config 디렉터리의 구성 파일을 업데이트합니다.
  7. 임시 디렉터리를 삭제합니다.

    rm -r /tmp/kafka
  8. /opt/kafka/config/server.properties 속성 파일을 편집합니다.

    inter.broker.protocol.versionlog.message.format.version 속성을 현재 버전으로 설정합니다.

    예를 들어 Kafka 버전 3.5.0에서 3.6.0으로 업그레이드하는 경우 현재 버전은 3.5입니다.

    inter.broker.protocol.version=3.5
    log.message.format.version=3.5

    업그레이드 중인 Kafka 버전에 대해 올바른 버전을 사용합니다(3.4,3.5 등). 현재 설정에서 inter.broker.protocol.version 을 변경하지 않으면 브로커가 업그레이드 중에 계속 서로 통신할 수 있습니다.

    속성이 구성되지 않은 경우 현재 버전으로 추가합니다.

    Kafka 3.0.0 이상에서 업그레이드하는 경우 inter.broker.protocol.version 만 설정하면 됩니다.

  9. 업데이트된 Zoo Cryostat 및 Kafka 브로커를 다시 시작하십시오.

    /opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

    Kafka 브로커 및 Zoo Cryostat는 최신 Kafka 버전에 바이너리를 사용하기 시작합니다.

    멀티 노드 클러스터에서 브로커를 다시 시작하는 방법에 대한 자세한 내용은 4.3절. “Kafka 브로커의 정상 롤링 재시작 수행” 을 참조하십시오.

  10. 재시작한 Kafka 브로커가 다음과 같은 파티션 복제본에 도달했는지 확인합니다.

    kafka-topics.sh 툴을 사용하여 브로커에 포함된 모든 복제본이 동기화되었는지 확인합니다. 지침은 항목 목록 및 설명을 참조하십시오.

    다음 단계에서 새 인터브로커 프로토콜 버전을 사용하도록 Kafka 브로커를 업데이트합니다.

    한 번에 하나씩 각 브로커를 업데이트합니다.

    주의

    다음 단계를 완료한 후에는 AMQ Streams를 다운로드할 수 없습니다.

  11. 클라이언트를 업그레이드하기 위한 선택한 전략에 따라 모든 클라이언트 애플리케이션을 업그레이드하여 새 버전의 클라이언트 바이너리를 사용합니다.
  12. /opt/kafka/config/server.properties 파일에서 inter.broker.protocol.version 속성을 3.6 으로 설정합니다.

    inter.broker.protocol.version=3.6
  13. 명령줄에서 수정한 Kafka 브로커를 중지합니다.

    /opt/kafka/bin/kafka-server-stop.sh
  14. Kafka가 실행 중이 아닌지 확인합니다.

    jcmd | grep kafka
  15. 수정한 Kafka 브로커를 다시 시작합니다.

    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
  16. Kafka가 실행 중인지 확인합니다.

    jcmd | grep kafka
  17. Kafka 3.0.0 이전 버전에서 업그레이드하는 경우 /opt/kafka/config/server.properties 파일에서 log.message.format.version 속성을 3.6 으로 설정합니다.

    log.message.format.version=3.6
  18. 명령줄에서 수정한 Kafka 브로커를 중지합니다.

    /opt/kafka/bin/kafka-server-stop.sh
  19. Kafka가 실행 중이 아닌지 확인합니다.

    jcmd | grep kafka
  20. 수정한 Kafka 브로커를 다시 시작합니다.

    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
  21. Kafka가 실행 중인지 확인합니다.

    jcmd | grep kafka
  22. 재시작한 Kafka 브로커가 다음과 같은 파티션 복제본에 도달했는지 확인합니다.

    kafka-topics.sh 툴을 사용하여 브로커에 포함된 모든 복제본이 동기화되었는지 확인합니다. 지침은 항목 목록 및 설명을 참조하십시오.

  23. 업그레이드에 사용된 경우 server.properties 파일에서 레거시 log.message.format.version 구성을 제거합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.