KRaft 모드 - Amazon Managed Streaming for Apache Kafka

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

KRaft 모드

Amazon은 Kafka 버전 3.7.x에서 KRaft (Apache Kafka Raft)에 대한 지원을 MSK 도입했습니다. Apache Kafka 클러스터의 메타데이터 관리를 위해 Apache ZooKeeper를 대체KRaft하기 위해 개발된 Apache Kafka 커뮤니티입니다. KRaft 모드에서 클러스터 메타데이터는 ZooKeeper 노드 간이 아닌 Kafka 클러스터의 일부인 Kafka 컨트롤러 그룹 내에서 전파됩니다. KRaft 컨트롤러는 추가 비용 없이 포함되므로 추가 설정이나 관리가 필요하지 않습니다. 에 대한 자세한 내용은 KIP-500을 참조하세요KRaft.

다음은 의 KRaft 모드에 대해 유의해야 할 몇 가지 사항입니다MSK.

  • KRaft 모드는 새 클러스터에서만 사용할 수 있습니다. 클러스터가 생성된 후에는 메타데이터 모드를 전환할 수 없습니다.

  • MSK 콘솔에서 Kafka 버전 3.7.x를 선택하고 클러스터 생성 창에서 KRaft 확인란을 선택하여 Kraft 기반 클러스터를 생성할 수 있습니다.

  • MSK API CreateCluster 또는 CreateClusterV2 작업을 사용하여 KRaft 모드에서 클러스터를 생성하려면 3.7.x.kraft를 버전으로 사용해야 합니다. 3.7.x 를 버전으로 사용하여 ZooKeeper 모드에서 클러스터를 생성합니다.

  • 브로커당 파티션 수는 KRaft 및 ZooKeeper 기반 클러스터에서 동일합니다. 그러나 를 KRaft 사용하면 클러스터 에 더 많은 브로커를 프로비저닝하여 클러스터당 더 많은 파티션을 호스팅할 수 있습니다.

  • Amazon 에서 KRaft 모드를 사용하는 데 필요한 API 변경 사항은 없습니다MSK. 그러나 클라이언트가 오늘도 --zookeeper 여전히 연결 문자열을 사용하는 경우 --bootstrap-server 연결 문자열을 사용하여 클러스터에 연결하도록 클라이언트를 업데이트해야 합니다. --zookeeper 플래그는 Apache Kafka 버전 2.5에서 더 이상 사용되지 않으며 Kafka 버전 3.0부터 제거됩니다. 따라서 클러스터에 대한 모든 --bootstrap-server 연결에는 최신 Apache Kafka 클라이언트 버전과 연결 문자열을 사용하는 것이 좋습니다.

  • ZooKeeper Apache Kafka에서 zookeeper도 지원되는 모든 릴리스 버전에 대해 모드를 계속 사용할 수 있습니다. Apache Kafka 버전 및 향후 업데이트에 대한 지원 종료에 지원되는 Apache Kafka 버전 대한 자세한 내용은 섹션을 참조하세요.

  • 사용하는 모든 도구가 ZooKeeper 연결 APIs 없이 Kafka Admin을 사용할 수 있는지 확인해야 합니다. 클러스터를 크루즈 컨트롤에 연결하는 Amazon에서 LinkedIn의 Apache Kafka용 크루즈 제어 사용 MSK 업데이트된 단계는 섹션을 참조하세요. 크루즈 컨트롤에는 를 사용하지 않고 크루즈 컨트롤을 실행하는 ZooKeeper 방법도 나와 있습니다.

  • 관리 작업을 위해 클러스터의 KRaft 컨트롤러에 직접 액세스할 필요는 없습니다. 그러나 개방형 모니터링을 사용하여 지표를 수집하는 경우 클러스터에 대한 일부 비컨트롤러 관련 지표를 수집하려면 컨트롤러의 DNS 엔드포인트도 필요합니다. MSK 콘솔에서 또는 ListNodes API 작업을 사용하여 이러한 DNS 엔드포인트를 가져올 수 있습니다. KRaft기반 클러스터에 대한 오픈 모니터링 설정을 위한 Prometheus로 MSK 클러스터 모니터링 업데이트된 단계는 섹션을 참조하세요.

  • KRaft 모드 클러스터를 통해 ZooKeeper 모드 클러스터를 모니터링하는 데 필요한 추가 CloudWatch 지표는 없습니다. MSK 는 클러스터에 사용되는 KRaft 컨트롤러를 관리합니다.

  • --bootstrap-server 연결 문자열ACLs을 사용하여 KRaft 모드 클러스터에서 를 계속 관리할 수 있습니다. --zookeeper 연결 문자열을 사용하여 를 관리해서는 안 됩니다ACLs. Apache Kafka ACLs을 참조하세요.

  • KRaft 모드에서 클러스터의 메타데이터는 외부 ZooKeeper 노드가 아닌 Kafka 내의 KRaft 컨트롤러에 저장됩니다. 따라서 노드 와 마찬가지로 컨트롤러 ZooKeeper 노드에 대한 액세스를 별도로 제어할 필요가 없습니다.