# Kafka 安裝步驟
[](https://hackmd.io/8V9VcBJCQw2MNusaYjDERQ)
###### tags: `data stream`
## 1.Kafka需要Java JDK8以上,所以要先安裝Java
```
[root@Mobile maxwell-1.26.2]# sudo yum install java-11-openjdk-devel
```
查看Java版本號指令
```
[root@Mobile maxwell-1.26.2]# java -version
openjdk version "11.0.7" 2020-04-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.7+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.7+10-LTS, mixed mode, sharing)
```
## 2.下載Kafka
```
curl http://apache.stu.edu.tw/kafka/2.5.0/kafka_2.13-2.5.0.tgz -o /root/Downloads/kafka.tgz
tar -xvzf Downloads/kafka.tgz --strip 1
```
## 3.修改Kafka設定檔
```
[root@Mobile maxwell-1.26.2]# cd config
[root@Mobile maxwell-1.26.2]# vi server.properties
```
請依自己狀況去修改參數
```
listeners=PLAINTEXT://192.168.1.190:9092
advertised.listeners=PLAINTEXT://192.168.1.190:9092
zookeeper.connect=192.168.1.190:2181
advertised.host.name=192.168.1.190
```
## 4.啟動Zookeeper
要啟動Kafka前必須先啟動Zookeeper
```
bin/zookeeper-server-start.sh config/zookeeper.properties
```
## 5.啟動Kafka
```
bin/kafka-server-start.sh config/server.properties
```
## 6.Kafka常用指令
創建Topic
```
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mexwell
```
呼叫範例消費者(Consumer)
```
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mexwell --from-beginning
```
呼叫範例生產者(Producer)
```
echo "112233" | /home/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mexwellcht > /dev/null
```
查詢Kafka內所有的Topic清單
```
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
```
查詢Kafka內特定Topic的基本資訊
```
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic Your_topic --describe
```
查詢Kafka內所有的group清單
```
bin/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --list
```
查詢Kafka某一group的資訊
```
bin/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --describe --group Your_group
```
删除topic,慎用,只會删除zookeeper中的資料,Log需手動刪除
```
bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper node01:2181 --topic t_cdr
```
#注意
新版kafka --zookeeper參數需換成--bootstrap-server
```
ex.
bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
bin/kafka-topics.sh --bootstrap-server 127.0.0.1:2181 --list
```