kafka 容器化部署

2022-06-15 13:48:09 字數 2069 閱讀 1050

首先我們分別執行如下兩個命令將wurstmeister/zookeeperwurstmeister/kafka

docker pull wurstmeister/zookeeper

docker pull wurstmeister/kafka

(1)執行如下命令啟動zookeeper容器:

docker run -d --name zookeeper -p 2181:2181  wurstmeister/zookeeper
(2)接著執行如下命令啟動kafka容器:

注意192.168.60.133改為實際宿主機器的ip位址,如果不這麼設定,可能會導致在別的機器上訪問不到kafka

docker run -d --name kafka -p 9092:9092 --link zookeeper --env kafka_zookeeper_connect=192.168.60.133:2181 --env kafka_advertised_host_name=192.168.60.133 --env kafka_advertised_port=9092 wurstmeister/kafka
(1)容器啟動後執行如下命令進入kafka容器:

docker exec -it kafka /bin/bash
(2)如果要執行命令我們可以入kafka預設目錄/opt/kafka後執行,也可以像下面一樣在容器外面通過docker exec命令執行。

(1)我們執行如下命令可以建立乙個名為testtopic,該topic包含乙個分割槽和乙個replica

docker exec kafka kafka-topics.sh --create --zookeeper 192.168.60.133:2181 --replication-factor 1 --partitions 1 --topic test
(2)建立後可以執行如下命令檢視當前的topics

docker exec  kafka kafka-topics.sh --list --zookeeper 192.168.60.133:2181
注意:如果事先沒有使用kafka-topics命令來手工建立topic,直接使用下面的內容進行訊息建立時也會自動建立topics

(1)首先建立訊息生產者。執行如下命令啟動kafka基於命令列的訊息生產客戶端,啟動後可以直接在控制台中輸入訊息來傳送,控制台中的每一行資料都會被視為一條訊息來傳送。

注意:此時我們可以嘗試輸入幾行訊息,由於此時並沒有消費者,所以這些輸入的訊息都會被阻塞在名為testtopics中,直到有消費者將其消費掉。

docker exec  -it kafka kafka-console-producer.sh --broker-list 192.168.60.133:9092 --topic test
(2)接著建立訊息消費者。我們開啟另乙個命令視窗執行如下執行命令啟動kafka基於命令列的訊息消費客戶端,啟動之後,馬上可以在控制台中看到輸出了之前我們在訊息生產客戶端中傳送的訊息。

docker exec  -it kafka kafka-console-consumer.sh --bootstrap-server 192.168.60.133:9092 --topic test --from-beginning

Docker容器化部署技術

docker是乙個開源的應用容器引擎,它讓開發者可以將應用及其依賴環境打包起來在乙個可移植的容器 中執行,不同容器是相互隔離的,互不影響,相比虛擬機器,docker容器更加輕量級,開銷更小。docker有兩個版本,社群版 docker ce 和企業版 docker ee 社群版是免費的,適合個人或小...

angular應用容器化部署

完整的 dockerfile 如下 from node as builder set working directory run yarn yarn run build from nginx stable alpine copy from dist to nginx root dir expose ...

Kafka 單機kafka部署

1 上傳部署包 kafka 2.11 0.11.0.0.tgz 放到 opt software 2 解壓 tar zxvf kafka 2.11 0.11.0.0.tgz c opt module 3 切換目錄 opt module kafka 2.11 0.11.0.0 conf 4 修改配置 v...