# AWS Kafka Docker 建立 ###### tags: `NTUST` `IGS` `AWS` `Kafka` 機房選擇:Tokyo  # 外部 Ping 連線  # 1. 創建 EC2 Instance 服務主機 選擇 **Launch a virtual machine With EC2**  選擇 Instance 所需規格, 建議為 Large , 點選 Next  詳細規格說明, 選擇後點選 Next  點選 6.Configure 分頁, 設立開放 Port, 點選 Add Rule  設立 2181 (Zookeeper), 9092(Kafka) 端口, 點選 Preview  確認後 Lauch 執行  --- 產生金鑰, 未來須透過此檔案進行 SSH 連線  完成畫面, 進入檢視 Instance  確認被分配的 IP 位置  測試 ping **'Public ipV4 address'**  進入產生 PEM 金鑰匙檔案資料夾  修改權限 chmod 400 金鑰檔  點選 Connect 取得連線資訊  取得 ssh 連線相關指令  進入AWS - EC2 Instance 當中  # 2. 安裝 Docker Ubuntu 套件管理 apt 更新 ``` bash= sudo apt-get update #更新 Apt ```  安裝 Docker ``` bash= sudo apt-get install -y docker.io #安裝 Docker ```  參考 Kafka Docker 安裝教學文件 ``` bash= sudo docker pull wurstmeister/kafka:2.12-2.4.1 sudo docker pull wurstmeister/zookeeper ```   建立 Container 外部網路連線 ``` bash= sudo docker network create --subnet=172.18.0.0/16 mynetwork ```  啟動 Zookeeper ``` bash= sudo docker run -d --name zookeeper --network mynetwork --ip 172.18.0.2 -p 2181:2181 wurstmeister/zookeeper ```  啟動單節點 Kafka 並設置 Listeners ** 注意, 需要將對外公開 ip 設置於 KAFKA_ADVERTISED_LISTENERS 當中 ``` bash= sudo docker run --name kafka1 --network mynetwork --ip 172.18.0.3 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.18.0.2:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://'Public ipV4 address':9092 -e KAFKA_LISTENERS=PLAINTEXT://172.18.0.3:9092 -dit wurstmeister/kafka:2.12-2.4.1 ```  # 3. GameServer 傳入資料 於GameServer 發送 Kafka 資料  進入 Kafka 主機  透過 kafka-console-consumer.sh 查看資料 ``` bash= $KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server 'Public ipV4 address':9092 --topic gameSrcTpc --from-beginning ``` 顯示 gameSrcTpc 相關資料 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up