Home / AWS / Data Streaming com Kafka (AWS MSK) – parte 2

Data Streaming com Kafka (AWS MSK) – parte 2

Dando continuidade ao nosso projeto, vamos agora começar a trabalhar com o Apache Kafka utilizando o serviço MSK da Amazon

2 – Criando um cluster Kafka

De volta ao AWS, no canto superior esquerdo, clique em services novamente e procure por MSK

Dentro do MSK, clique em create cluster.

De um nome ao seu cluster, selecione a VPC que você criou e a versão do kafka

Em Availability Zones, selecione as subnets criadas para os brokers:

Em Brokers per Availability Zone e informe 1 em ambos.

Em Encryption, desmarque a caixa Enable encryption within the cluster e selecione Only plaintext traffic allowed

Finalmente, clique em create cluster. O Status Active indica que o cluster está pronto

Conectando ao cluster Kafka, criando tópicos, consumidores e produtores

Com tudo configurado, chegou a hora de instalar o kafka (anteriormente criamos um cluster aonde iremos nos conectar)

Vá ao seu console EC2 e digite os seguinte comandos:

Os comandos instalarão o Java, fará o download e descompactará o kafka

Agora, vamos criar um tópico no kafka. Para isso, você precisará de algumas informações que estão na página do MSK.

Clique no nome do seu cluster e vá em view client information. Esta página terá todas as informações que você precisará para configurar o Kafka.

Entre na sua pasta do kafka no seu servidor EC2 e digite estes comandos, substituindo o texto ZookeeperConnectString pelo texto em Zookeeper connect dentro de aspas duplas.

Exemplo: “172.31.5.167:2181,172.31.21.226:2181,172.31.40.50:2181”

Caso ocorra este erro, será necessário alterar a configuração do security group do seu cluster MSK (kafka).

Vá em MSK novamente, clique no nome do cluster. Clique no link do security group vinculado ao cluster.

Inclua na aba Inbound os valores destacados. Como é um tutorial de aprendizado, vamos deixar os acesso full.

Volte ao seu terminal EC2 e executa novamente o comando. Se tudo der certo, você verá algo parecido com isto:

Producer

Criaremos nosso producer para que os dados contidos nele possam ser consumidos pelo consumer

Crie uma pasta fora de sua pasta Kafka chamada tmp. Copiaremos o JVM truststore para conectar ao cluster Kafka (sua jvm poderá estar em um path diferente)

Vamos voltar agora à pasta bin do kafka para criarmos o arquivo de configuração client.properties com a seguinte configuração:

security.protocol=PLAINTEXT
ssl.truststore.location=/tmp/kafka.client.truststore.jks

Aperta a tecla “i” para editar o arquivo recém criado, cole a configuração, aperte a tecla ESC, aperte dois pontos (:), digite X e de ENTER

Digite o comando abaixo, substituindo o valor BootstrapBrokerString pelo valor encontrado no seu AWS MSK

./kafka-console-producer.sh –broker-list BootstrapBrokerString –producer.config client.properties –topic NobelTopic

No meu caso ficaria:

Se tudo der certo, você terá uma tela como essa:

tudo que for digitado e apertado ENTER, estará disponível para o Consumer

Criando o Consumer

Com tudo feito, basta agora criarmos um consumidor

Mantenha sua sessao EC2 aberta e abra uma nova (você pode simplesmente duplicar sua sessão com o putty:

Na nova sessão, acessa sua pasta kafka/bin e execute o seguinte comando:

bin/kafka-console-consumer.sh –bootstrap-server BootstrapBrokerString –consumer.config client.properties –topic AWSKafkaTutorialTopic –from-beginning

Similar ao Producer, substitua o texto BootstrapBrokerString pelo sua string Bootstrap servers:

A partir de agora, todos os dados que forem criados no producer, serão consumidos no seu consumer!

Check Also

Criando o requirements.txt de forma automática

Uma boa prática em todo projeto é criar o arquivo “requirements.txt”. Nele consta todas as …

Leave a Reply

Your email address will not be published. Required fields are marked *

PortugueseEnglishFrenchSpanishGerman