Utilizzo di Kafka Connect con Event Streams
Kafka Connect fa parte del progetto Apache Kafka e consente la connessione di sistemi esterni a Kafka. Consiste in un runtime che può eseguire connettori per copiare i dati da e verso un cluster. Le sue caratteristiche principali sono:
- Scalabilità: Può facilmente scalare da un singolo lavoratore a molti.
- Affidabilità: Gestisce automaticamente le compensazioni e il ciclo di vita dei connettori.
- Estendibilità: la community ha creato connettori per i sistemi più diffusi. IBM® ha connettori per MQ e Cloud Object Storage.
Puoi utilizzare Kafka Connect with IBM® Event Streams for IBM Cloud® e puoi eseguire gli operatori all'interno o all'esterno di IBM Cloud®. IBM ha un elenco esteso di più di 50 connettori supportati da IBM o dalla community. Questi connettori si trovano nel catalogo connettori.
Kafka Connect può essere eseguito in modalità distribuita o autonoma. La modalità autonoma è destinata per la verifica e per le connessioni temporanee tra i sistemi. La modalità distribuita è più appropriata per l'utilizzo nella produzione. La configurazione necessaria per utilizzare Event Streams con queste due modalità è leggermente differente.
Configurazione del nodo di lavoro autonomo
Il nodo di lavoro autonomo non utilizza alcun argomento interno. Invece, utilizza un file per l'archiviazione delle informazioni di offset.
Devi fornire i server di avvio e le informazioni sulle credenziali SASL nel file delle proprietà del nodo di lavoro che fornisci quando avvii un nodo di lavoro autonomo Kafka Connect. Il seguente esempio elenca le proprietà che devi fornire al tuo file delle proprietà:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
Sostituire BOOTSTRAP_ENDPOINTS, USER e PASSWORD con i valori della scheda del servizio Event Streams Nella scheda Credenziali di servizio della console IBM Cloud.
Connettore di origine
Il seguente esempio elenca le proprietà che devi fornire al tuo file delle proprietà:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
producer.security.protocol=SASL_SSL
producer.sasl.mechanism=PLAIN
producer.ssl.protocol=TLSv1.2
producer.ssl.enabled.protocols=TLSv1.2
producer.ssl.endpoint.identification.algorithm=HTTPS
Sostituire BOOTSTRAP_ENDPOINTS, USER e PASSWORD con i valori della scheda del servizio Event Streams Nella scheda Credenziali di servizio della console IBM Cloud.
Connettore sink
Il seguente esempio elenca le proprietà che devi fornire al tuo file delle proprietà:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
consumer.security.protocol=SASL_SSL
consumer.sasl.mechanism=PLAIN
consumer.ssl.protocol=TLSv1.2
consumer.ssl.enabled.protocols=TLSv1.2
consumer.ssl.endpoint.identification.algorithm=HTTPS
Sostituire BOOTSTRAP_ENDPOINTS, USER e PASSWORD con i valori della scheda del servizio Event Streams Nella scheda Credenziali di servizio della console IBM Cloud.
Configurazione del nodo di lavoro distribuito
Devi fornire i server di avvio e le informazioni sulle credenziali SASL nel file delle proprietà che fornisci quando avvii i nodi di lavoro distribuiti Kafka Connect. Il seguente esempio elenca le proprietà che devi fornire al tuo file delle proprietà:
bootstrap.servers=BOOTSTRAP_ENDPOINTS
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
Sostituire BOOTSTRAP_ENDPOINTS, USER e PASSWORD con i valori della scheda del servizio Event Streams Nella scheda Credenziali di servizio della console IBM Cloud.
Se desideri utilizzare un connettore di origine, devi specificare anche la configurazione SASL e SSL per il produttore nel seguente modo:
producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
producer.security.protocol=SASL_SSL
producer.sasl.mechanism=PLAIN
producer.ssl.protocol=TLSv1.2
producer.ssl.enabled.protocols=TLSv1.2
producer.ssl.endpoint.identification.algorithm=HTTPS
Se desideri utilizzare un connettore sink, devi specificare anche la configurazione SASL e SSL per il consumatore nel seguente modo:
consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
consumer.security.protocol=SASL_SSL
consumer.sasl.mechanism=PLAIN
consumer.ssl.protocol=TLSv1.2
consumer.ssl.enabled.protocols=TLSv1.2
consumer.ssl.endpoint.identification.algorithm=HTTPS
In aggiunta, Kafka Connect in modalità distribuita utilizza tre argomenti internamente. Questi argomenti vengono creati automaticamente quando si avvia un nodo di lavoro, se utilizzi Kafka Connect in Apache Kafka versione 0.11 o successiva.
Fornisci i nomi degli argomenti come parametri di configurazione. Assicurati che i valori siano uguali per tutti i nodi di lavoro con lo stesso valore di configurazione group.id.
| Configurazione | Descrizione |
|---|---|
offset.storage.topic |
Argomento degli offset del connettore |
offset.storage.partitions |
Numero di partizioni per l'argomento degli offset del connettore (valore predefinito 25) |
config.storage.topic |
Argomento di configurazione del connettore |
status.storage.topic |
Argomento di stato del connettore |
status.storage.partitions |
Numero di partizioni per l'argomento di stato del connettore (valore predefinito 5) |
Ad esempio, puoi utilizzare le seguenti coppie chiave-valore nel tuo file delle proprietà:
offset.storage.topic=connect-offsets
config.storage.topic=connect-configs
status.storage.topic=connect-status
Prendi in considerazione di diminuire il numero di partizioni se stai facendo un utilizzo minimo di Kafka Connect.
Per ulteriori informazioni su Kafka Connect, vedi Panoramica diKafka Connect.