一、安裝Java
在CentOS 7系統中安裝Kafka需要先安裝Java,可以選擇OpenJDK或者Oracle JDK,本文以安裝OpenJDK為例。
sudo yum install java-1.8.0-openjdk -y
java -version
執行上述命令即可完成安裝,通過java -version確認Java是否安裝成功。
二、安裝Kafka
1.下載Kafka
從官網下載最新的Kafka發布版本:https://kafka.apache.org/downloads,本文以kafka_2.12-2.7.0.tgz為例進行示範。
wget https://dlcdn.apache.org/kafka/2.7.0/kafka_2.12-2.7.0.tgz
2.解壓Kafka並設置環境變數
tar -xzf kafka_2.12-2.7.0.tgz
sudo mv kafka_2.12-2.7.0 /usr/local/kafka
echo "export KAFKA_HOME=/usr/local/kafka" >> ~/.bashrc
echo "export PATH=$PATH:$KAFKA_HOME/bin" >> ~/.bashrc
source ~/.bashrc
執行上述命令,將Kafka解壓到/usr/local/kafka目錄,並配置環境變數。
三、啟動和測試Kafka
1.啟動Kafka服務
使用以下命令啟動Kafka服務:
cd $KAFKA_HOME
bin/zookeeper-server-start.sh config/zookeeper.properties
等待ZooKeeper啟動後,新開一個終端啟動Kafka服務:
cd $KAFKA_HOME
bin/kafka-server-start.sh config/server.properties
2.創建Topic
使用以下命令創建一個Topic:
bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092
執行以上命令即可創建一個Topic,名為my-topic。
3.發布和消費消息
使用以下命令在Topic中發布消息:
bin/kafka-console-producer.sh --topic my-topic --bootstrap-server localhost:9092
然後在控制台中輸入需要發布的消息。使用以下命令消費消息:
bin/kafka-console-consumer.sh --topic my-topic --from-beginning --bootstrap-server localhost:9092
執行以上命令即可消費消息。
四、配置Kafka
1.修改Kafka配置
編輯Kafka配置文件config/server.properties:
sudo vi $KAFKA_HOME/config/server.properties
可以修改默認的Kafka配置,例如修改broker的id、日誌目錄等,也可以添加自定義的配置。
2.配置單機多節點Kafka集群
在多台機器上安裝Kafka並配置其為一個集群,需要在每個Kafka節點上修改配置。
比如在兩台機器上搭建Kafka集群:zk01(192.168.1.1)、zk02(192.168.1.2),配置方式如下:
在zk01上修改配置文件
sudo vi $KAFKA_HOME/config/server.properties
修改以下屬性,其他屬性根據需要進行配置:
broker.id=0
listeners=PLAINTEXT://192.168.1.1:9092
advertised.listeners=PLAINTEXT://192.168.1.1:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=zk01:2181,zk02:2181
zookeeper.connection.timeout.ms=6000
在zk02上修改配置文件
sudo vi $KAFKA_HOME/config/server.properties
修改以下屬性,其他屬性根據需要進行配置:
broker.id=1
listeners=PLAINTEXT://192.168.1.2:9092
advertised.listeners=PLAINTEXT://192.168.1.2:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=zk01:2181,zk02:2181
zookeeper.connection.timeout.ms=6000
修改完成後,分別在兩台機器上啟動Kafka服務即可搭建Kafka集群。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/219663.html