單台機器使用docker安裝啟動kafka

2021-09-21 06:43:47 字數 2275 閱讀 4392

kafaka執行需要zookeeper,docker拉取映象:

docker pull wurstmeister/zookeeper

docker pull wurstmeister/kafka

啟動:
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

docker run -d --name kafka -p 9092:9092 -e kafka_broker_id=0 -e kafka_message_max_bytes=20000000 -e kafka_zookeeper_connect=192.168.2.123:2181 -e kafka_advertised_listeners=plaintext: -e kafka_listeners=plaintext: -e kafka_log_retention_hours=1 -e kafka_log_retention_bytes=10737418240 -e kafka_max_request_size=20582912 -e kafka_replica_fetch_max_bytes=20582912 -e kafka_fetch_message_max_bytes=20485760 -t wurstmeister/kafka

啟動命令中引數意義:

kafka_broker_id:在集群中的id,broker的唯一標識

kafka_message_max_bytes:伺服器可以接收到的最大的訊息大小,單位是位元組

kafka_zookeeper_connect:zookeeper的位址,格式:hostname:port

kafka_log_retention_hours:日誌最大保留時間,單位為h

kafka_log_retention_bytes:日誌最大保留空間,單位是位元組

kafka_max_request_size:請求的最大大小,單位是位元組

kafka_replica_fetch_max_bytes:replicas每次獲取資料的最大位元組數

kafka_fetch_message_max_bytes:每個分割槽fetch的訊息大小限制

注:20180604更新:引數host.name/port、advertised.host.name/advertised.port在最新的官方文件標註為deprecated,改為以下配置

listeners=plaintext:

advertised.listeners=plaintext:

host.name表示kafka繫結到的ip上,listeners中設定為0.0.0.0,保證非本機的請求也能被接受。

advertised.listeners表示kafka註冊到zookeeper時,將告訴zookeeper自己的位址為192.168.2.123,當消費者向zookeeper詢問kafka的位址時,將會返回192.168.2.123,消費者會直接連向192.168.2.123拉取資料。

測試:使用docker ps 檢視kafka容器id,然後進入kafka容器的命令列:

docker exec -it $ /bin/bash
進入kafka預設目錄(目錄kafka_2.12-2.2.0可能有細微差別):

cd opt/kafka_2.12-2.2.0/
在kafka預設目錄下傳送訊息:

./bin/kafka-console-producer.sh --broker-list 192.168.2.123:9092 --topic mykafka
在kafka預設目錄下接收訊息:

bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.123:9092 --topic mykafka --from-beginning
注:

舊的版本中啟動命令為(0.9版本之後已廢棄):

bin/kafka-console-consumer.sh --zookeeper 192.168.2.123:2181 --topic mykafka --from-beginning
0.90版本之後啟動消費者的方法:

bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.123:9092 --topic mykafka --from-beginning

使用docker安裝並啟動kudu

之前嘗試過用docker中安裝centos再編譯安裝kudu,雖然安裝成功了,但啟動除錯時出現了很多錯誤,一時無法解決該問題,但為了快速上手,最後還是使用docker中直接安裝啟動kudu的方式。執行docker compose up d 但會提示如下錯誤,執行docker ps,顯示了kudu相關...

docker安裝啟動單節點CDH的秘籍

環境 docker18.x 系統 centos7.6 配置 16核32g docker pull cloudera quickstart latest docker run id hostname quickstart.cloudera privileged true p 8020 8020 p 7...

安裝單docker 簡單使用命令 233

1.安裝 yum install y epel release 安裝epel源yum install y docker 安裝docker 容器docker version 檢視docker的版本號,包括客戶端 服務端 依賴的go等docker info 檢視系統 docker 層面資訊,包括管理的i...