Etapa 4: criar um tópico no cluster do Amazon MSK - Amazon Managed Streaming for Apache Kafka

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á.

Etapa 4: criar um tópico no cluster do Amazon MSK

Nesta etapa de Conceitos básicos sobre como usar o Amazon MSK, você instalará bibliotecas e ferramentas do cliente do Apache Kafka na máquina cliente e criará um tópico.

Atenção

Os números de versão do Apache Kafka usados neste tutorial são apenas exemplos. Recomendamos usar a mesma versão do cliente que a versão do cluster do MSK. Uma versão mais antiga do cliente pode não ter certos recursos e correções de erros críticos.

Determinando a versão do cluster MSK

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

  2. Na barra de navegação, escolha a região em que você criou o cluster MSK.

  3. Escolha o cluster MSK.

  4. Anote a versão do Apache Kafka usada no cluster.

  5. Substitua as ocorrências de números de versão do Amazon MSK neste tutorial pela versão obtida na Etapa 3.

Criação de um tópico na máquina cliente

  1. Conecte-se à sua máquina cliente.

    1. Abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

    2. No painel de navegação, escolha Instâncias. Em seguida, marque a caixa de seleção ao lado do nome da máquina cliente que você criouEtapa 3: criar uma máquina cliente.

    3. Escolha Actions (Ações) e Connect (Conectar-se). Siga as instruções no console para se conectar à sua máquina cliente.

  2. Instale o Java e configure a variável de ambiente da versão Kafka.

    1. Instale o Java na máquina cliente executando o comando a seguir.

      sudo yum -y install java-11
    2. Armazene a versão Kafka do seu cluster MSK na variável de ambiente,KAFKA_VERSION, conforme mostrado no comando a seguir. Você precisará dessas informações em toda a configuração.

      export KAFKA_VERSION={KAFKA VERSION}

      Por exemplo, se você estiver usando a versão 3.6.0, use o comando a seguir.

      export KAFKA_VERSION=3.6.0
  3. Baixe e extraia o Apache Kafka.

    1. Execute o comando a seguir para fazer download do Apache Kafka.

      wget https://archive.apache.org/dist/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz

      Por exemplo, se seu cluster MSK usa o Apache Kafka versão 3.6.0, execute o comando a seguir.

      wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz
      nota

      A lista a seguir apresenta algumas informações alternativas de download do Kafka que você pode usar se encontrar algum problema.

      • Se você encontrar problemas de conectividade ou quiser usar um site espelho, tente usar o seletor de espelho do Apache, conforme mostrado no comando a seguir.

        wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
      • Baixe uma versão apropriada diretamente do site do Apache Kafka.

    2. Execute o comando a seguir no diretório onde você fez download do arquivo TAR na etapa anterior.

      tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
    3. Armazene o caminho completo para o diretório recém-criado dentro da variável de KAFKA_ROOT ambiente.

      export KAFKA_ROOT=$(pwd)/kafka_2.13-$KAFKA_VERSION
  4. Configure a autenticação para seu cluster MSK.

    1. Baixe a versão mais recente do arquivo JAR IAM do Amazon MSK dentro do $KAFKA_ROOT/libs diretório. Use o comando a seguir para baixar o arquivo e {LATEST VERSION} substituí-lo pelo número da versão real.

      cd $KAFKA_ROOT/libs wget https://github.com/aws/aws-msk-iam-auth/releases/latest/download/aws-msk-iam-auth-{LATEST VERSION}-all.jar

      O arquivo JAR IAM do Amazon MSK permite que sua máquina cliente acesse o cluster MSK usando a autenticação do IAM.

      nota

      Antes de executar qualquer comando do Kafka que interaja com seu cluster MSK, talvez seja necessário adicionar o arquivo JAR IAM do Amazon MSK ao seu classpath Java. Defina a variável de CLASSPATH ambiente, conforme mostrado no exemplo a seguir.

      export CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar

      Isso define o CLASSPATH para toda a sessão, disponibilizando o JAR para todos os comandos subsequentes do Kafka.

    2. Vá até o $KAFKA_ROOT/config diretório para criar o arquivo de configuração do cliente.

      cd $KAFKA_ROOT/config
    3. Copie e cole as seguintes configurações de propriedade em um novo arquivo. Salve o arquivo como client.properties.

      security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
  5. (Opcional) Se você encontrar algum problema relacionado à memória ou estiver trabalhando com um grande número de tópicos ou partições, poderá ajustar o tamanho do heap Java para as ferramentas do Kafka. Para fazer isso, defina a variável de KAFKA_HEAP_OPTS ambiente antes de executar os comandos do Kafka.

    O exemplo a seguir define o tamanho máximo e inicial da pilha como 512 megabytes. Ajuste esses valores de acordo com seus requisitos específicos e os recursos disponíveis do sistema.

    export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
  6. Obtenha as informações de conexão do seu cluster.

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

    2. Aguarde até que o status do seu cluster esteja Ativo. Isso pode demorar vários minutos. Depois que o status ficar Ativo, escolha o nome do cluster. Isso levará você a uma página com o resumo do cluster.

    3. Escolha Exibir informações do cliente.

    4. Copie a string de conexão para o endpoint privado.

      Você receberá três endpoints para cada um dos corretores. Armazene uma dessas cadeias de conexão na variável de ambienteBOOTSTRAP_SERVER, conforme mostrado no comando a seguir. <bootstrap-server-string>Substitua pelo valor real da cadeia de conexão.

      export BOOTSTRAP_SERVER=<bootstrap-server-string>
  7. Execute o comando a seguir para criar o tópico.

    $KAFKA_ROOT/bin/kafka-topics.sh --create --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties --replication-factor 3 --partitions 1 --topic MSKTutorialTopic

    Se você receber um NoSuchFileException para o client.properties arquivo, certifique-se de que esse arquivo exista no diretório de trabalho atual dentro do diretório bin do Kafka.

    nota

    Se você preferir não definir a variável de CLASSPATH ambiente para toda a sessão, você pode alternativamente prefixar cada comando do Kafka com a variável. CLASSPATH Essa abordagem aplica o classpath somente a esse comando específico.

    CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar \ $KAFKA_ROOT/bin/kafka-topics.sh --create \ --bootstrap-server $BOOTSTRAP_SERVER \ --command-config $KAFKA_ROOT/config/client.properties \ --replication-factor 3 \ --partitions 1 \ --topic MSKTutorialTopic
  8. (Opcional) Verifique se o tópico foi criado com êxito.

    1. Se o comando for bem-sucedido, você deverá ver a seguinte mensagem: Created topic MSKTutorialTopic.

    2. Liste todos os tópicos para confirmar que seu tópico existe.

      $KAFKA_ROOT/bin/kafka-topics.sh --list --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties

    Se o comando não for bem-sucedido ou se você encontrar um erro, consulte Solução de problemas para o cluster do Amazon MSK para obter informações sobre solução de problemas.

  9. (Opcional) Se você quiser manter suas variáveis de ambiente para as próximas etapas deste tutorial, pule esta etapa. Caso contrário, você pode cancelar a definição das variáveis, conforme mostrado no exemplo a seguir.

    unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS

Próxima etapa

Etapa 5: produzir e consumir dados