Como baixar io.confluent.connect.avro.avroconverter
Se você estiver usando o Kafka Connect para transmitir dados entre o Kafka e outros sistemas, convém usar um formato de serialização de dados que seja compacto, eficiente e com reconhecimento de esquema. Um desses formatos é o Avro, que é um formato binário que pode codificar tipos de dados e esquemas complexos em JSON. Para usar o Avro com o Kafka Connect, você precisa de um plug-in chamado io.confluent.connect.avro.avroconverter, que se integra ao Schema Registry para converter dados de e para o formato Avro.
download io.confluent.connect.avro.avroconverter
Neste artigo, explicaremos o que é io.confluent.connect.avro.avroconverter, por que você precisa dele e como baixá-lo, instalá-lo, configurá-lo e testá-lo. Ao final deste artigo, você poderá usar o Avro como um formato de dados comum para seus conectores Kafka Connect.
Pré-requisitos
Antes de baixar o plug-in avroconverter, você precisa ter o seguinte:
Um cluster Kafka em execução com pelo menos um agente e um tratador.
Um trabalhador do Kafka Connect em execução no modo autônomo ou distribuído.
Um serviço de registro de esquema em execução que armazena e valida esquemas para dados Avro.
Uma compreensão básica do Apache Kafka, Kafka Connect, formato Avro e Schema Registry.
Baixando o plug-in
Existem duas maneiras de baixar o plug-in avroconverter:
Do Confluent Hub: O Confluent Hub é um repositório baseado na Web de conectores e plug-ins para o Kafka Connect. Você pode navegar, pesquisar, baixar e instalar plug-ins do Confluent Hub usando uma interface de linha de comando (CLI) ou uma interface gráfica do usuário (GUI). Para baixar o plug-in avroconverter do Confluent Hub usando a CLI, execute o seguinte comando:
$ confluent-hub install confluentinc/kafka-connect-avro-converter:latest
Isso fará o download da versão mais recente do plug-in e o extrairá em um dos diretórios listados no Connect Worker's plugin.path propriedade de configuração. Você também pode especificar uma versão diferente ou um diretório diferente, se desejar.
Do GitHub: Você também pode baixar o código-fonte do plug-in do GitHub e construí-lo usando o Maven. Para fazer isso, clone o repositório schema-registry do GitHub e execute pacote mvn no avro-converter diretório:
$ git clone $ cd schema-registry/avro-converter $ pacote mvn
-avro-converter-.jar no alvo diretório. Você pode copiar este arquivo JAR para qualquer diretório que esteja no Connect worker plugin.path propriedade de configuração.
Instalando o plug-in
Depois de baixar o plug-in avroconverter, você precisa instalá-lo em seu trabalho Kafka Connect. Este é um processo simples que envolve reiniciar o trabalho Connect com o plug-in em seu caminho de classe. Para fazer isso, siga estas etapas:
Interrompa o trabalho do Connect se ele estiver em execução.
Copie o arquivo JAR do plug-in (ou todo o diretório do plug-in se você o baixou do Confluent Hub) para um diretório que esteja no Connect worker plugin.path propriedade de configuração. Por padrão, essa propriedade é definida como /usr/share/java, mas você pode alterá-lo para qualquer diretório que desejar.
Inicie o trabalhador Connect novamente. O trabalhador irá verificar os diretórios em seu plugin.path e carregue as classes do plug-in.
Você pode verificar se o plug-in está instalado corretamente executando o seguinte comando:
$ lista de conectores de conexão de serviços locais confluentes
Isso listará todos os conectores e plug-ins disponíveis em seu operador do Connect. Você deveria ver io.confluent.connect.avro.AvroConverter entre eles.
Configurando o plug-in
Agora que você instalou o plugin avroconverter, você precisa configurá-lo para usar o Schema Registry e o formato Avro para seus conectores Kafka Connect. Para fazer isso, você precisa definir algumas propriedades em seu arquivo de configuração do conector ou em sua solicitação de API REST. As propriedades mais importantes são:
key.converter: especifica a classe do conversor para a chave dos registros. Você precisa definir isso para io.confluent.connect.avro.AvroConverter.
valor.conversor: especifica a classe do conversor para o valor dos registros. Você precisa definir isso para io.confluent.connect.avro.AvroConverter.
key.converter.schema.registry.url: especifica a URL do serviço Schema Registry que armazena e valida esquemas para dados Avro. Você precisa definir isso para a mesma URL que você usou para iniciar o serviço Schema Registry.
value.converter.schema.registry.url: especifica a URL do serviço Schema Registry que armazena e valida esquemas para dados Avro. Você precisa definir isso para a mesma URL que você usou para iniciar o serviço Schema Registry.
key.converter.enhanced.avro.schema.support: especifica se é necessário habilitar o suporte aprimorado ao esquema Avro, como tipos lógicos, valores padrão e tipos de união. Você pode definir isso para verdadeiro ou falso.
value.converter.enhanced.avro.schema.support: especifica se é necessário habilitar o suporte aprimorado ao esquema Avro, como tipos lógicos, valores padrão e tipos de união. Você pode definir isso para verdadeiro ou falso.
key.converter.schemas.enable: especifica se deve usar esquemas para serializar e desserializar chaves. Você pode definir isso para verdadeiro ou falso.
value.converter.schemas.enable: especifica se deve usar esquemas para serializar e desserializar valores. Você pode definir isso para verdadeiro ou falso.
Você também pode definir outras propriedades específicas para seu tipo de conector, como tópicos, tarefas, transformações, etc. Por exemplo, aqui está um exemplo de arquivo de configuração para um conector de origem de arquivo que usa o formato Avro:
"name": "file-source-avro", "config": "connector.class": "org.apache.kafka.connect.file.FileStreamSourceConnector", "tasks.max": "1", "file": "/tmp/test.txt", "topic": "test-avro", "key.converter": "io.confluent.connect.avro.AvroConverter", "value.converter": " io.confluent.connect.avro.AvroConverter", "key.converter.schema.registry.url": " "value.converter.schema.registry.url": " "key.converter.enhanced.avro.schema.support": "true", "value.converter.enhanced.avro.schema.support": " true", .converter.schemas.enable": "false", "value.converter.schemas.enable": "true"
Você pode salvar este arquivo como arquivo-fonte-avro.json e use-o para criar o conector usando a API REST:
$ curl -X POST -H "Content-Type: application/json" --data @file-source-avro.json
Testando o plug-in
Para testar o plug-in avroconverter, você pode usar um consumidor de console Kafka para consumir os dados do tópico no qual seu conector está gravando. Você precisa especificar as mesmas propriedades de registro do conversor e do esquema como seu conector e também definir o print.key e imprimir.valor propriedades para verdadeiro. Por exemplo, para consumir os dados do test-avro tópico, execute o seguinte comando:
$ kafka-avro-console-consumer --bootstrap-server localhost:9092 --topic test-avro --property print.key=true --property print.value=true --property key.deserializer=org.apache.kafka.common.serialization.StringDeserializer --property value.deserializer=io.confluent.kafka.serializers.KafkaA vroDeserializer --property schema.registry.url=
Isso imprimirá a chave e o valor de cada registro no formato JSON, junto com o ID do esquema e a versão do Schema Registry. Você pode verificar se os dados estão no formato Avro verificando o ID e a versão do esquema ou usando uma ferramenta como avro-tools para inspecionar os dados binários.
Conclusão
Neste artigo, aprendemos como baixar, instalar, configurar e testar o plug-in avroconverter para Kafka Connect. Este plug-in nos permite usar o Avro como um formato de dados comum para nossos conectores Kafka Connect, que tem muitos benefícios, como compacidade, eficiência e reconhecimento de esquema. Também aprendemos como usar o Schema Registry para armazenar e validar esquemas para dados Avro e como usar o Confluent Hub ou o GitHub para baixar plug-ins para o Kafka Connect. Esperamos que você tenha achado este artigo útil e informativo. Se você tiver alguma dúvida ou feedback, informe-nos nos comentários abaixo.
perguntas frequentes
Aqui estão algumas perguntas e respostas frequentes sobre o plug-in avroconverter:
O que é Avro?
Avro é um formato de serialização de dados binários que pode codificar tipos de dados e esquemas complexos em JSON. É amplamente usado em aplicativos de big data, como Apache Hadoop, Apache Spark e Apache Kafka.
O que é Registro de Esquemas?
Schema Registry é um serviço que armazena e valida esquemas para dados Avro. Ele fornece uma interface RESTful para registrar e recuperar esquemas, bem como verificações de compatibilidade e suporte à evolução do esquema.
O que é hub confluente?
O Confluent Hub é um repositório baseado na Web de conectores e plug-ins para o Kafka Connect. Ele permite que os usuários naveguem, pesquisem, baixem e instalem plug-ins do Confluent Hub usando uma interface de linha de comando (CLI) ou uma interface gráfica do usuário (GUI).
O que é o Kafka Connect?
Kafka Connect é uma estrutura para streaming de dados entre Kafka e outros sistemas. Ele fornece uma maneira escalável e confiável de conectar o Kafka a várias fontes e coletores, como bancos de dados, APIs, arquivos etc.
Como faço para criar meu próprio plug-in para o Kafka Connect?
Você pode criar seu próprio plug-in para o Kafka Connect implementando o Conversor, Conector, ou Transformar interfaces. Você também pode usar bibliotecas ou estruturas existentes que fornecem essas interfaces, como Apache Camel ou Spring Boot.Você pode encontrar mais informações sobre como criar seu próprio plug-in no .
0517a86e26
Comments