Kafaka如何下載
官網地址
目前Kafka最新的版本就是3.7.1
我們可以看到下面這兩個版本信息?什么意思呢?
- Scala 2.12 - kafka_2.12-3.7.1.tgz (asc, sha512)
- Scala 2.13 - kafka_2.13-3.7.1.tgz (asc, sha512)
我們應該知道,一個完整的Kafka實例,至少包含了3部分: - 生產者-Producer
- Broker
- 生產者-Consumer
其中生產者和消費者是使用Java語言,Broker則是使用的Scala語言,這樣是不是就明白了。2.12和2.13其實就是說的Scala的版本,3.7.1就是Kafka真正的正式版本號。
Kafka的安裝
我們需要先保證我們的服務器安裝了Java環境:
java -version
下載kafka:
通過 -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
解壓:
tar -zxvf kafka_2.13-3.7.1.tgz
Kafka的配置和啟動
小貼士
Kafka是一種高吞吐量的分布式發布訂閱消息系統,它可以處理消費者在網站中的所有動作流數據。
Kafka在之前的版本中,如果沒有ZooKeeper,Kafka將無法運行。
用過kafka的開發者應該知道,每次啟動kafka服務時,都是需要先把Zookeeper啟動,然后啟動kafka,步驟相當繁瑣。
Kafka在在發布的2.8版本里,讓用戶可在完全不需要ZooKeeper的情況下運行Kafka,該版本將依賴于ZooKeeper的控制器改造成了基于Kafka Raft的Quorm控制器(KRaft模式)。
通過ZooKeeper啟動
查看配置文件:
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:修改ZooKeeper配置
vim zookeeper.properties
## 配置地址用于存放zookeeper數據存儲位置,不存在會自動創建
dataDir=/usr/local/kafka_data/zookeeper_data
2:啟動ZooKeeper
進入kafka的bin目錄:
#啟動zookeeper
../bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
# 查看zookeeper進程是否啟動
ps -ef | grep zookeeper
3:啟動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
查看啟動log
如果執行啟動命令之后,使用JPS命令沒有看到Kafka的進程,則可能是啟動失敗了。可以到對應的路徑下查看啟動日志,路徑替換為自己Kafka的路徑下即可
/usr/local/kafka_2.13-3.7.1/bin/hs_err_pid***.log
KRaft模式下啟動Kafka
打開我們Kafka的Config目錄下,有一個KRaft文件夾。
1:修改我們修改數據存儲位置
vim config/kraft/server.properties
log.dirs=/usr/local/kafka_data/kafka_KRaft_data
2:生成存儲目錄唯一ID
kafka的bin目錄下有一個kafka-storage.sh文件
./kafka-storage.sh random-uuid
#結果
bxoRVvPvR0qjT307GQ6Gag
3:格式化存儲目錄
# 將上一步生成的唯一ID替換成自己的,啟動使用kraft下的配置文件
./kafka-storage.sh format -t bxoRVvPvR0qjT307GQ6Gag -c /usr/local/kafka_2.13-3.7.1/config/kraft/server.properties
執行結果:
4:啟動Kafka
#執行啟動命令。
./kafka-server-start.sh -daemon ../config/kraft/server.properties