IBM Cloud Docs
Utilizzo degli strumenti della console Kafka con Event Streams

Utilizzo degli strumenti della console Kafka con Event Streams

Apache Kafka viene fornito con vari strumenti della console per operazioni di gestione e messaggistica semplici. Puoi utilizzare molti di questi strumenti con Event Streams, anche se Event Streams non consente la connessione al proprio cluster ZooKeeper. Come sviluppato da Kafka, molti degli strumenti che in precedenza richiedevano la connessione a ZooKeeper non hanno più tale requisito.

Questi strumenti della console si trovano nella directory bin del tuo download Kafka. Puoi scaricare un client da Apache Kafka downloads.

Per fornire le credenziali SASL a questi strumenti, crea un file delle proprietà basato sul seguente esempio:

    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

Sostituisci USER e PASSWORD con i valori dalla tua scheda Credenziali del servizio Event Streams nella console IBM Cloud.

Produttore console

Puoi utilizzare lo strumento produttore console con Event Streams. Devi fornire un elenco di broker e le credenziali SASL.

Dopo aver creato il file delle proprietà, è possibile eseguire il produttore della console in un terminale nel modo seguente:

   kafka-console-producer.sh --broker-list BOOTSTRAP_ENDPOINTS --producer.config CONFIG_FILE --topic TOPIC_NAME

Sostituisci le seguenti variabili nell'esempio con i tuoi propri valori:

  • BOOTSTRAP_ENDPOINTS con il valore dalla scheda Event Streams Service Credentials della console IBM Cloud.
  • CONFIG_FILE con il percorso del file di configurazione.

È possibile utilizzare molte delle altre opzioni di questo strumento, ad eccezione di quelle che richiedono accesso a ZooKeeper.

Consumatore console

Puoi utilizzare lo strumento consumatore console con Event Streams. Devi fornire un server di avvio e le credenziali SASL.

Dopo aver creato il file delle proprietà come descritto in precedenza, eseguire il consumer della console in un terminale nel modo seguente:

   kafka-console-consumer.sh --bootstrap-server BOOTSTRAP_ENDPOINTS --consumer.config CONFIG_FILE --topic TOPIC_NAME

Sostituisci le seguenti variabili nell'esempio con i tuoi propri valori:

  • BOOTSTRAP_ENDPOINTS con il valore dalla scheda Event Streams Service Credentials della console IBM Cloud.
  • CONFIG_FILE con il percorso del file di configurazione.

È possibile utilizzare molte delle altre opzioni di questo strumento, ad eccezione di quelle che richiedono accesso a ZooKeeper.

Gruppi di consumer

Puoi utilizzare lo strumento gruppi di consumatori Kafka con Event Streams. Poiché Event Streams non consente la connessione al proprio cluster ZooKeeper, alcune delle opzioni non sono disponibili.

Dopo aver creato il file delle proprietà come descritto in precedenza, eseguire gli strumenti dei gruppi di consumatori in un terminale. Ad esempio, puoi elencare i gruppi di consumatori nel seguente modo:

   kafka-consumer-groups.sh --bootstrap-server BOOTSTRAP_ENDPOINTS --command-config CONFIG_FILE --list --timeout 60000

Sostituisci le seguenti variabili nell'esempio con i tuoi propri valori:

  • BOOTSTRAP_ENDPOINTS con il valore dalla scheda Event Streams Service Credentials della console IBM Cloud.
  • CONFIG_FILE con il percorso del file di configurazione.

Utilizzando questo strumento, puoi anche visualizzare dettagli come le posizioni correnti dei consumatori, il loro ritardo e l'ID client di ogni partizione di un gruppo. Ad esempio:

   kafka-consumer-groups.sh --bootstrap-server BOOTSTRAP_ENDPOINTS --command-config CONFIG_FILE --describe --group GROUP --timeout 60000

Sostituisci GROUP nell'esempio con un nome del gruppo per cui desideri richiamare i dettagli.

Vedi il seguente output di esempio dall'esecuzione dello strumento kafka - consumer - groups:

GROUP              TOPIC    PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG         CONSUMER-ID      HOST          CLIENT-ID
consumer-group-1   foo        0          264             267            3          client-1-abc    example.com    client-1
consumer-group-1   foo        1          124             124            0          client-1-abc    example.com    client-1
consumer-group-1   foo        2          212             212            0          client-2-def    example.com    client-2

Dall'esempio, è possibile vedere che il gruppo di consumatori consumer-group-1 ha due membri che utilizzano i messaggi dell'argomento foo con tre partizioni. Mostra inoltre che il consumer client-1-abc che utilizza dalla partizione 0 è in ritardo di tre messaggi poiché l'offset corrente del consumer è 264 ma l'offset dell'ultimo messaggio sulla partizione 0 è 267.

Argomenti

Puoi utilizzare lo strumento kafka-topics con Event Streams. Assicurati di utilizzare V2.8 dello strumento, poiché non richiede l'accesso Zookeeper.

Uno scenario in cui potresti voler utilizzare kafka - topics è quello di trovare le informazioni sui tuoi argomenti e la relativa configurazione in un cluster esistente in modo da poterli ricreare in un nuovo cluster. Puoi utilizzare le informazioni nell'output di kafka-topics per creare degli argomenti denominati nello stesso modo nel nuovo cluster. Per ulteriori informazioni su come creare gli argomenti, vedi Utilizzo dell'API client Java Kafka di amministrazione o il comando ibmcloud es topic-create. In alternativa, puoi anche utilizzare la console IBM Event Streams.

Vedi il seguente output di esempio dall'esecuzione dello strumento kafka - topics:

   bin/kafka-topics.sh --bootstrap-server kafka03-prod01.messagehub.services.us-south.bluemix.net:9093 --command-config vcurr_dal06.properties --describe

Topic:sample-topic	PartitionCount:3	ReplicationFactor:3	 Configs:min.insync.replicas=2,unclean.leader.election.enable=true,retention.bytes=1073741824,segment.bytes=536870912,retention.ms=86400000
    Topic: sample-topic    Partition: 0    Leader: 0    Replicas: 0,2,1    Isr: 0,2,1
    Topic: sample-topic    Partition: 1    Leader: 1    Replicas: 1,2,0	   Isr: 0,2,1
    Topic: sample-topic    Partition: 2    Leader: 2    Replicas: 2,1,0	   Isr: 0,2,1
Topic:testtopic	 PartitionCount:1	 ReplicationFactor:3	Configs:min.insync.replicas=2,unclean.leader.election.enable=true,retention.bytes=1073741824,segment.bytes=536870912,retention.ms=86400000
    Topic: testtopic    Partition: 0    Leader: 0    Replicas: 0,2,1   Isr: 0,2

Dall'esempio, è possibile vedere che l'argomento sample-topic ha tre partizioni e un fattore di replica di tre. L'esempio mostra anche su quale broker si trova il leader di ciascuna partizione e quali repliche sono sincronizzate (Isr). Ad esempio, il leader della partizione 0 si trova sul broker 0, i follower si trovano sui broker 2 e 1 e tutte e tre le repliche sono sincronizzate. Se si guarda il secondo argomento testtopic, ha solo una partizione, che viene replicata sui broker 0, 2 e 1, ma l'elenco di repliche in - sync mostra solo 0 e 2. Ciò significa che il seguente broker 1 è in ritardo e pertanto non è presente nell'elenco Isr.

Reimpostazione di Kafka Streams

Puoi utilizzare questo strumento con Event Streams per reimpostare lo stato di elaborazione di un'applicazione Kafka Streams, in modo da poterne rielaborare l'input da zero. Prima di eseguire questo strumento, assicurati che la tua applicazione Streams sia stata completamente arrestata.

Ad esempio:

   kafka-streams-application-reset.sh --bootstrap-servers BOOTSTRAP_ENDPOINTS --config-file CONFIG_FILE --application-id APP_ID

Sostituisci le seguenti variabili nell'esempio con i tuoi propri valori:

  • BOOTSTRAP_ENDPOINTS con il valore dalla scheda Event Streams Service Credentials della console IBM Cloud.
  • CONFIG_FILE con il percorso del file di configurazione.
  • APP_ID con l'ID della tua applicazione Streams.