1. 基本環境
Cenos7.6
Zookeeper 3.4.6
2. 安裝部署
- 本次部署的最簡單的測試版本,開發測試使用,集羣模式,請移步到: kafka集羣安裝.
- 集羣部署和單機部署區別:就修改參數而已
2.1 下載安裝包
下載地址: kafka_2.11-2.2.0.tgz
下載 名字爲 kafka_2.11-2.2.0.tgz 的安裝包
2.2 上傳文件並解壓
tar -zxvf kafka_2.12-2.2.0.tgz -C ~/home/
# 解壓,-C是指定解壓目錄,~/home/是當前用戶根目錄下面的home 文件夾
tar -zxvf kafka_2.12-2.2.0.tgz -C ~/home/
2.3 修改配置
本次修改的是server.properties
配置
vim /home/kafka_2.11-2.2.0/config/server.properties
修改如下配置:
其他配合爲默認項,需要調優可以好好看看,一般使用不用管它。
#用於區分broker,必須唯一,每臺機器只需要一個整數broker.id
#機器1
broker.id=0
#PLAINTEXT表示協議,配置本機IP地址
#例子:listeners = PLAINTEXT://192.168.86.128:9092
listeners=PLAINTEXT://your.host.name:9092
#PLAINTEXT表示協議,配置本機IP地址(node1或者192.168.22.11),對外公佈
#例子:advertised.listeners = PLAINTEXT://192.168.86.128:9092
advertised.listeners=PLAINTEXT://your.host.name:9092
#配置zookeeper的地址,zookeeper集羣地址以逗號隔開
#例子:zookeeper.connect=node1:2181
zookeeper.connect=機器A的ip:2181,機器B的ip:2181,機器C的ip:2181
#配置數據存放目錄,啓動時會自動創建
log.dirs=/home/kafka_2.11-2.2.0/data
#數據保留的時間,默認爲7天
log.retention.hours=168
2.4 配置環境變量
目的是讓我們在任何地方都可以調用Kafka中的命令,不用再麻煩些絕對路徑(可選項)
vim /etc/profile
在最後添加下面兩行
export KAFKA_HOME=/home/kafka_2.11-2.2.0
export PATH=$KAFKA_HOME/bin:$PATH
加載環境變量 source /etc/profile
2.5 啓動kafka
# 後臺啓動
nohup kafka-server-start.sh /home/kafka_2.11-2.2.0/config/server.properties &
使用 jps
命令查看是否開啓 ,如果有kafka這啓動正常。
也可以查看具體日誌:
tail -f 100 /home/kafka_2.11-2.2.0/logs/server.log
如果日誌爲如下樣子這啓動正常:
[2020-03-23 07:24:24,497] INFO [GroupMetadataManager brokerId=0] Finished loading offsets and group metadata from __consumer_offsets-42 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-03-23 07:24:24,497] INFO [GroupMetadataManager brokerId=0] Finished loading offsets and group metadata from __consumer_offsets-45 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-03-23 07:24:24,497] INFO [GroupMetadataManager brokerId=0] Finished loading offsets and group metadata from __consumer_offsets-48 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
如果報錯則看報錯具體問題,修改配置既可。
3. kafka常見命令
#啓動kafka
bin/kafka-server-start.sh config/server.properties
#停止kafka
bin/kafka-server-stop.sh
#創建topic, --replication-factor指定副本個數 注意:分區必須有的
bin/kafka-topics.sh --create --zookeeper node1:2181 --partitions 3 --replication-factor 1 --topic test
#查看所有的topic信息
bin/kafka-topics.sh --list --zookeeper node1:2181
#啓動生產者
bin/kafka-console-producer.sh --broker-list node1:9092 --topic test
#啓動消費者, 注意 消費者沒有--zookeeper-list 選項
bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic test --from-beginning
#刪除topic
bin/kafka-topics.sh --delete --zookeeper node1:2181 --topic test
示例:
啓動生產者啓動消費者
完美!!