Condivisione della tecnologia

Come avviare Kafka dopo aver abbandonato Zookeeper?

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Come scaricare Kafaka

Indirizzo del sito ufficiale
L'ultima versione di Kafka è attualmente la 3.7.1

Possiamo vedere le informazioni sulle due versioni qui sotto? Che cosa significa?

  • Scala 2.12 - kafka_2.12-3.7.1.tgz (asc, sha512)
  • Scala 2.13 - kafka_2.13-3.7.1.tgz (asc, sha512)
    Dovremmo sapere che un'istanza completa di Kafka contiene almeno 3 parti:
  • Produttore
  • Broker
  • Produttore-Consumatore
    I produttori e i consumatori utilizzano il linguaggio Java e il broker utilizza il linguaggio Scala, quindi capirai. 2.12 e 2.13 sono in realtà le versioni di Scala e 3.7.1 è il vero numero di versione ufficiale di Kafka.

Installazione di Kafka

Dobbiamo prima assicurarci che sul nostro server sia installato un ambiente Java:

java -version

Scarica kafka:
Specifica il percorso in cui lo memorizziamo con -o

wget -O /usr/local/kafka_2.13-3.7.1.tgz https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz

Decomprimere:

tar -zxvf  kafka_2.13-3.7.1.tgz

Configurazione e avvio di Kafka

Suggerimenti
KafkaSi tratta di un sistema di messaggistica distribuito-sottoscrivi ad alto rendimento in grado di elaborare tutti i dati del flusso di azioni dei consumatori nel sito web.
KafkaNelle versioni precedenti, se non c'eraCustode dello zoo,Kafkanon funzionerà.
usatokafkagli sviluppatori dovrebbero saperlo ogni volta che lancianokafkaQuando si serve, è necessario primaCustode dello zooInizia, quindi iniziakafka, i passaggi sono piuttosto complicati.
KafkaPubblicato ora2.8versione, consentendo agli utenti di utilizzare ilCustode dello zoocorrendo sottoKafka, questa versione dipenderà daCustode dello zooIl controller è stato trasformato in uno basato suZattera di KafkaDiQuormController (modalità KRaft).

Inizia tramite ZooKeeper

Visualizza il file di configurazione:

connect-console-sink.properties
connect-console-source.properties
connect-distributed.properties
connect-file-sink.properties
connect-file-source.properties
connect-log4j.properties
connect-mirror-maker.properties
connect-standalone.properties
consumer.properties
kraft
log4j.properties
producer.properties
server.properties
tools-log4j.properties
trogdor.conf
zookeeper.properties

1: modifica la configurazione di ZooKeeper

vim zookeeper.properties  
## 配置地址用于存放zookeeper数据存储位置,不存在会自动创建
dataDir=/usr/local/kafka_data/zookeeper_data

2: Avvia ZooKeeper
Inserisci la directory bin di Kafka:

#启动zookeeper
../bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties 
# 查看zookeeper进程是否启动  
ps -ef | grep zookeeper

3: Avvia Kafka

vim ../config/server.properties  
#修改log.dirs地址
log.dirs=/usr/local/kafka_data/kafka_data
#启动Kafka
../bin/kafka-server-start.sh -daemon ../config/server.properties 
#通过jps命令可以查看是否启动成功,看到下面的结果表示我们的zookeeper和Kafka都启动成功了
[root@qingshan bin]# jps
7297 Jps
1592 QuorumPeerMain
7241 Kafka

Visualizza il registro di avvio
Se non vedi il processo Kafka utilizzando il comando JPS dopo aver eseguito il comando di avvio, l'avvio potrebbe non essere riuscito.Puoi controllare il registro di avvio nel percorso corrispondente e sostituire il percorso con il tuo percorso Kafka.
/usr/local/kafka_2.13-3.7.1/bin/hs_err_pid***.log

Avvio di Kafka in modalità KRaft

Apri il nostro KafkaConfigurazionedirectory, c'è una cartella KRaft.
1: Modificaci per modificare la posizione di archiviazione dei dati

vim config/kraft/server.properties
log.dirs=/usr/local/kafka_data/kafka_KRaft_data

2: genera un ID univoco per la directory di archiviazione
C'è un file kafka-storage.sh nella directory bin di kafka

./kafka-storage.sh random-uuid 
#结果
bxoRVvPvR0qjT307GQ6Gag

3: formattare la directory di archiviazione

# 将上一步生成的唯一ID替换成自己的,启动使用kraft下的配置文件
./kafka-storage.sh  format -t bxoRVvPvR0qjT307GQ6Gag   -c  /usr/local/kafka_2.13-3.7.1/config/kraft/server.properties

Risultati di:


4: Avvia Kafka

#执行启动命令。
./kafka-server-start.sh -daemon ../config/kraft/server.properties