

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciamento de metadados
<a name="metadata-management"></a>

O Amazon MSK oferece suporte aos modos de gerenciamento de metadados Apache ZooKeeper ou Kraft.

A partir do Apache Kafka versão 3.7.x no Amazon MSK, você pode criar clusters que usam o modo Kraft em vez do modo. ZooKeeper KRaft-based os clusters dependem de controladores no Kafka para gerenciar metadados.

**Topics**
+ [ZooKeeper modo](#msk-get-connection-string)
+ [Modo KRaft](#kraft-intro)

## ZooKeeper modo
<a name="msk-get-connection-string"></a>

O [Apache ZooKeeper](https://zookeeper.apache.org/) é “um serviço centralizado para manter informações de configuração, nomear, fornecer sincronização distribuída e fornecer serviços de grupo. Todos esses tipos de serviços são usados de alguma forma por aplicações distribuídas”, incluindo o Apache Kafka.

Se seu cluster estiver usando o ZooKeeper modo, você pode usar as etapas abaixo para obter a string de ZooKeeper conexão do Apache. No entanto, recomendamos que você use `BootstrapServerString` para se conectar ao cluster e realizar operações administrativas, pois o sinalizador `--zookeeper` foi descontinuado no Kafka 2.5 e foi removido do Kafka 3.0.

### Obtendo a string de ZooKeeper conexão do Apache usando o Console de gerenciamento da AWS
<a name="get-connection-string-console"></a>

1. Abra o console do Amazon MSK em [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. A tabela mostra todos os clusters da região atual nesta conta. Escolha o nome de um cluster para visualizar sua descrição.

1. Na página **Resumo do cluster**, escolha **Exibir informações do cliente**. Isso mostra os corretores de bootstrap, bem como a string de conexão do Apache ZooKeeper .

### Obtendo a string de ZooKeeper conexão do Apache usando o AWS CLI
<a name="get-connection-string-cli"></a>

1. Se não souber o nome de recurso da Amazon (ARN) do cluster, você poderá encontrá-lo listando todos os clusters em sua conta. Para obter mais informações, consulte [Listar clusters do Amazon MSK](msk-list-clusters.md).

1. Para obter a cadeia de ZooKeeper conexão do Apache, junto com outras informações sobre seu cluster, execute o comando a seguir, {{ClusterArn}} substituindo-o pelo ARN do seu cluster. 

   ```
   aws kafka describe-cluster --cluster-arn {{ClusterArn}}
   ```

   A saída desse comando `describe-cluster` é semelhante ao seguinte JSON de exemplo.

   ```
   {
       "ClusterInfo": {
           "BrokerNodeGroupInfo": {
               "BrokerAZDistribution": "DEFAULT",
               "ClientSubnets": [
                   "subnet-0123456789abcdef0",
                   "subnet-2468013579abcdef1",
                   "subnet-1357902468abcdef2"
               ],
               "InstanceType": "kafka.m5.large",
               "StorageInfo": {
                   "EbsStorageInfo": {
                       "VolumeSize": 1000
                   }
               }
           },
           "ClusterArn": "arn:aws:kafka:us-east-1:111122223333:cluster/testcluster/12345678-abcd-4567-2345-abcdef123456-2",
           "ClusterName": "testcluster",
           "CreationTime": "2018-12-02T17:38:36.75Z",
           "CurrentBrokerSoftwareInfo": {
               "KafkaVersion": "2.2.1"
           },
           "CurrentVersion": "K13V1IB3VIYZZH",
           "EncryptionInfo": {
               "EncryptionAtRest": {
                   "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:555555555555:key/12345678-abcd-2345-ef01-abcdef123456"
               }
           },
           "EnhancedMonitoring": "DEFAULT",
           "NumberOfBrokerNodes": 3,
           "State": "ACTIVE",
           "ZookeeperConnectString": "10.0.1.101:2018,10.0.2.101:2018,10.0.3.101:2018"
       }
   }
   ```

   O JSON de exemplo anterior mostra a chave `ZookeeperConnectString` na saída do comando `describe-cluster`. Copie o valor correspondente a essa chave e salve-o para quando precisar criar um tópico no cluster.
**Importante**  
Seu cluster Amazon MSK deve estar no `ACTIVE` estado para que você possa obter a cadeia de ZooKeeper conexão Apache. Quando um cluster ainda está no estado `CREATING`, a saída do comando `describe-cluster` não inclui a `ZookeeperConnectString`. Se esse for o caso, aguarde alguns minutos e execute `describe-cluster` novamente após o cluster atingir o estado `ACTIVE`.

### Obtendo a string de ZooKeeper conexão do Apache usando a API
<a name="get-connection-string-api"></a>

Para obter a string de ZooKeeper conexão do Apache usando a API, consulte [DescribeCluster](https://docs.aws.amazon.com//msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster).

## Modo KRaft
<a name="kraft-intro"></a>

O Amazon MSK introduziu a compatibilidade com o KRaft (Apache Kafka Raft) na versão 3.7.x do Kafka. A comunidade Apache Kafka desenvolveu o Kraft para substituir o Apache no gerenciamento de metadados nos clusters do [Apache ZooKeeper](#msk-get-connection-string) Kafka. No modo Kraft, os metadados do cluster são propagados dentro de um grupo de controladores Kafka, que fazem parte do cluster Kafka, em vez de entre nós. ZooKeeper Os controladores KRaft estão incluídos sem custo adicional e não exigem configuração ou gerenciamento adicionais de sua parte. Consulte [KIP-500](https://cwiki.apache.org/confluence/display/KAFKA/KIP-500%3A+Replace+ZooKeeper+with+a+Self-Managed+Metadata+Quorum)para obter mais informações sobre o Kraft.

Veja abaixo alguns pontos a serem observados sobre o modo KRaft no MSK:
+ O modo KRaft só está disponível para clusters novos. Não é possível alternar entre os modos de metadados depois que o cluster é criado.
+ No console do MSK, você pode criar um Kraft-based cluster escolhendo a versão 3.7.x do Kafka e marcando a caixa de seleção Kraft na janela de criação do cluster.
+ Para criar um cluster no modo KRaft usando as operações da API [https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster) ou [https://docs.aws.amazon.com/MSK/2.0/APIReference/v2-clusters.html#CreateClusterV2](https://docs.aws.amazon.com/MSK/2.0/APIReference/v2-clusters.html#CreateClusterV2) do MSK, você deve usar a versão `3.7.x.kraft`. Use `3.7.x` como versão para criar um cluster no ZooKeeper modo.
+ O número de partições por corretor é o mesmo no Kraft e nos clusters ZooKeeper baseados. No entanto, o KRaft permite que você hospede mais partições por cluster provisionando [mais agentes em um cluster](https://docs.aws.amazon.com/msk/latest/developerguide/limits.html).
+ Não são necessárias alterações de API para usar o modo KRaft no Amazon MSK. No entanto, se os clientes ainda usarem a string de conexão `--zookeeper` atualmente, você deverá atualizá-los para usar a string de conexão `--bootstrap-server` para se conectar ao cluster. Observe que o sinalizador `--zookeeper` foi descontinuado no Apache Kafka versão 2.5 e foi removido a partir do Kafka versão 3.0. Portanto, recomendamos que você use as versões recentes do cliente Apache Kafka e a string de conexão `--bootstrap-server` para todas as conexões com o cluster.
+ ZooKeeper O modo continua disponível para todas as versões lançadas, nas quais o zookeeper também é suportado pelo Apache Kafka. Consulte [Versões compatíveis do Apache Kafka](supported-kafka-versions.md) para obter detalhes sobre o fim do suporte às versões do Apache Kafka e futuras atualizações.
+ Você deve verificar se todas as ferramentas que você usa são capazes de usar as APIs de administração do Kafka sem conexões. ZooKeeper Consulte [Use o LinkedIn Cruise Control para Apache Kafka com o Amazon MSK](cruise-control.md) para conferir as etapas atualizadas para conectar o cluster ao Cruise Control. O Cruise Control também tem instruções para [executar o Cruise Control sem ZooKeeper](https://github.com/linkedin/cruise-control/wiki/Run-without-ZooKeeper).
+ Você não precisa acessar diretamente os controladores KRaft do cluster para nenhuma ação administrativa. No entanto, se você estiver usando o monitoramento aberto para coletar métricas, também precisará dos endpoints de DNS dos controladores para coletar algumas métricas não relacionadas ao controlador sobre o cluster. Você pode obter esses endpoints de DNS no console MSK ou usando a operação da [ListNodes](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-nodes.html#ListNodes)API. Consulte as etapas atualizadas [Monitore um cluster do MSK Provisioned com o Prometheus](open-monitoring.md) para configurar o monitoramento aberto para KRaft-based clusters.
+ Não há [CloudWatch métricas](https://docs.aws.amazon.com/msk/latest/developerguide/metrics-details.html) adicionais que você precise monitorar para clusters do modo Kraft em vez dos clusters do ZooKeeper modo. O MSK gerencia os controladores KRaft usados nos clusters.
+ Você pode continuar gerenciando ACLs usando clusters no modo KRaft usando a string de conexão `--bootstrap-server`. Você não deve usar a string de conexão `--zookeeper` para gerenciar ACLs. Consulte [ACLs do Apache Kafka](msk-acls.md).
+ No modo Kraft, os metadados do seu cluster são armazenados em controladores Kraft dentro do Kafka e não em nós externos. ZooKeeper Portanto, você não precisa controlar o acesso aos nós do controlador separadamente, [como você faz com ZooKeeper os nós](https://docs.aws.amazon.com/msk/latest/developerguide/zookeeper-security.html).