Tenho o prazer de anunciar a primeira prévia para desenvolvedores da próxima grande iteração de nossa integração com o Kafka. Essa versão é baseada em uma nova biblioteca para DCP e oferece suporte à estrutura do Kafka Connect. Nesta postagem, mostrarei como ela pode ser integrada para retransmitir dados do Couchbase para o HDFS.

Aqui, mostrarei as etapas para as distribuições Linux CentOS/Fedora. As etapas em outros sistemas operacionais serão semelhantes. Primeiro, instale o Confluent Platform (http://docs.confluent.io/3.0.0/installation.html#rpm-packages-via-yum) e baixe o arquivo zip do Couchbase com a integração do conector http://packages.couchbase.com/clients/kafka/3.0.0-DP1/kafka-connect-couchbase-3.0.0-DP1.zip

Para registrar o conector, basta extrair o conteúdo para o caminho de classe padrão, por exemplo, no CentOS (Fedora) é /usr/share/java:

Agora, execute o Confluent Control Center e todos os serviços dependentes. Leia mais sobre o que esses comandos fazem em Confluent's guia de início rápido

Neste ponto, tudo está pronto para configurar o link para transferir documentos do Couchbase para o HDFS usando o Kafka Connect. Presumimos que você esteja executando o Couchbase Server em http://127.0.0.1:8091/ e o Confluent Control Center em http://127.0.0.1:9021/. Para este exemplo, certifique-se de que você tenha o amostra de viagem carregado no Couchbase. Se você não o definiu ao configurar o cluster, poderá adicioná-lo por meio da parte de configurações da interface do usuário da Web.

Depois que todos esses pré-requisitos forem atendidos, navegue até a seção "Kafka Connect" no Confluent Control Center. Selecione "New source" e, em seguida, selecione "CouchbaseSourceConnector" como uma classe de conector e preencha as configurações para que o JSON final seja semelhante a:

Depois que você salvar a conexão Source, o daemon Connect começará a receber mutações e armazená-las no tópico Kafka especificado. Para demonstrar um pipeline completo, vamos configurar uma conexão Sink para obter dados do Kafka. Para isso, vá para a guia "Sinks" e clique no botão "New sink". Ele deverá solicitar um tópico onde os dados interessantes estão armazenados; digite "travel-topic". Em seguida, selecione "HdfsSinkConnector" e preencha as configurações para que a configuração JSON tenha a seguinte aparência (supondo que o nó de nome do HDFS esteja escutando em hdfs://127.0.0.1:8020/):

Depois que a conexão do Sink estiver configurada, você verá os dados aparecendo no HDFS em /topics/travel-topic/ com o diretório de tópicos padrão. Vamos inspecionar um deles:

Esse é o meu exemplo de execução rápida! O cliente DCP ainda está em desenvolvimento ativo e tem alguns recursos adicionais sendo adicionados para lidar com várias mudanças de topologia e cenários de falha. As próximas atualizações do nosso conector Kafka incluirão essas atualizações. Também devo observar brevemente que A interface do cliente DCP do Couchbase&apos deve ser considerada volátil por enquanto. Nós o usamos em vários projetos, mas você só deve usá-lo diretamente por sua própria conta e risco.

O código-fonte do conector está em https://github.com/couchbaselabs/kafka-connect-couchbase. O rastreador de problemas está em https://issues.couchbase.com/projects/KAFKACe fique à vontade para fazer qualquer pergunta em https://www.couchbase.com/forums/.

 

Autor

Postado por Sergey Avseyev, engenheiro de SDK, Couchbase

Sergey Avseyev é engenheiro de SDK na Couchbase. Sergey Avseyev é responsável pelo desenvolvimento do conector Kafka e da biblioteca subjacente, que implementa o DCP, o protocolo de replicação do Couchbase. Também mantém o PHP SDK para o Couchbase.

Deixar uma resposta