# Kafka Producer & Consumer Docker建立(CHT) ## 1. 安裝 Docker Ubuntu 套件管理 apt 更新 ``` bash= sudo apt-get update #更新 Apt ``` ![](https://i.imgur.com/GOdYRS6.png) 安裝 Docker ``` bash= sudo apt-get install -y docker.io #安裝 Docker ``` ![](https://i.imgur.com/rjE5CHJ.png) 參考 Kafka Docker 安裝教學文件 ## 2. 建立 Kafka Producer&Consumer Container **第 1 步:抓 Image** ``` docker pull yenmochi/kafka_container ``` **第 2 步:建立一個網域給 Kafka Producer&Consumer Container** ``` //docker network create --subnet=[欲建立網域] kafkaservernetwork docker network create --subnet=172.19.0.0/16 kafkaservernetwork ``` **第 3 步:Run kafka Producer&Consumer container** ``` //docker run -d -it --name kafkaserver --network kafkaservernetwork --ip [欲建立的IP] yenmochi/kafka_container docker run -d -it --name kafkaserver --network kafkaservernetwork --ip 172.19.0.2 yenmochi/kafka_container ``` **第 4 步:進入 Producer&Consumer Container** ``` docker exec -it kafkaserver bash ``` **第 5 步:進入 Python Producer&Consumer 所在資料夾位置** ``` cd /kafkatest ``` **第 6 步:Run Kafka Producer container** ``` //python3 csv_to_kafka.py [要傳入的IP:PORT] [Topic名稱] [acks控制選項] [模式選擇] [每筆數據間隔] [是否要打印數據] python3 csv_to_kafka.py 172.18.0.3:9092 gameSrcTpc 0 1 1 1 ``` ***[acks控制選項]: 0:最不可靠、速度最快 1:普通可靠、速度普通 -1:最可靠、速度最慢*** ***[模式選擇]: 0:只讀單一csv檔,無限輸出(Pandas先一次讀完再輸出) 速度最快 1:遍歷所有csv逐列輸出,(csv.reader邊讀邊輸出) 速度慢*** ***[每筆數據間隔]: EX:設1->每秒像kafka打一筆資料*** **第 7 步:Run Kafka Consumer container** ``` //請記得使用 vim consumer.py 修改 Consumer 的 ip 及 Topic 名稱 python3 consumer.py ```