Me complace anunciar la primera versión preliminar para desarrolladores de la próxima gran iteración de nuestra integración con Kafka. Esta versión está basada en una nueva librería para DCP, y soporta el framework Kafka Connect. En este post mostraré cómo podría integrarse para retransmitir datos desde Couchbase a HDFS.

Aquí mostraré los pasos para las distribuciones CentOS/Fedora de Linux. Los pasos en otros sistemas operativos serán similares. Primero, instala Confluent Platform (http://docs.confluent.io/3.0.0/installation.html#rpm-packages-via-yum) y descarga el archivo zip de Couchbase con la integración del conector http://packages.couchbase.com/clients/kafka/3.0.0-DP1/kafka-connect-couchbase-3.0.0-DP1.zip

Para registrar el conector, simplemente extraiga el contenido a la ruta de clase por defecto, por ejemplo en CentOS (Fedora) es /usr/share/java:

Ahora ejecute el Centro de Control de Confluent y todos los servicios dependientes. Más información sobre lo que hacen estos comandos en Confluent's guía de inicio rápido

En este punto todo está listo para configurar el enlace para transferir documentos de Couchbase a HDFS usando Kafka Connect. Asumimos que estás ejecutando Couchbase Server en http://127.0.0.1:8091/ y Confluent Control Center en http://127.0.0.1:9021/. Para este ejemplo, asegúrese de que tiene el viaje-muestra cargado en Couchbase. Si no lo configuraste al configurar el clúster, puedes añadirlo a través de la parte de configuración de la interfaz web.

Una vez que tengas todos estos prerrequisitos fuera del camino, navega a la sección "Kafka Connect" en tu Confluent Control Center. Selecciona "New source", luego selecciona "CouchbaseSourceConnector" como clase de conector y rellena los ajustes para que el JSON final sea similar a:

Una vez guardada la conexión de origen, el demonio Connect empezará a recibir mutaciones y a almacenarlas en el tema Kafka especificado. Para demostrar un pipeline completo, vamos a configurar una conexión Sink para obtener datos de Kafka. Para ello, vaya a la pestaña "Sinks" y haga clic en el botón "New sink". Nos preguntará por un tema donde se almacenan los datos interesantes, introducimos "travel-topic". A continuación, seleccione "HdfsSinkConnector" y rellenar los ajustes de modo que, la configuración JSON se verá así (suponiendo que el nombre HDFS nodo está escuchando en hdfs://127.0.0.1:8020/):

Una vez configurada la conexión Sink, verá aparecer los datos en HDFS en /temas/viajes-temas/ con el directorio de temas por defecto. Vamos a inspeccionar uno de ellos:

Este es mi ejemplo rápido. El cliente DCP está todavía en desarrollo activo y tiene algunas características adicionales que se están añadiendo para manejar varios cambios de topología, escenarios de fallo. Las próximas actualizaciones de nuestro conector Kafka recogerán esas actualizaciones. También debo señalar brevemente que La interfaz cliente DCP de Couchbase debe considerarse volátil por el momento. Nosotros lo utilizamos en varios proyectos, pero usted sólo debe utilizarlo directamente por su cuenta y riesgo.

El código fuente del conector se encuentra en https://github.com/couchbaselabs/kafka-connect-couchbase. El rastreador de problemas está en https://issues.couchbase.com/projects/KAFKACy no dude en hacer cualquier pregunta en https://www.couchbase.com/forums/.

 

Autor

Publicado por Sergey Avseyev, Ingeniero SDK, Couchbase

Sergey Avseyev es Ingeniero SDK en Couchbase. Sergey Avseyev es responsable del desarrollo del conector Kafka, y la biblioteca subyacente, que implementa DCP, el protocolo de replicación de Couchbase. También mantiene PHP SDK para Couchbase.

Dejar una respuesta