您好,登錄后才能下訂單哦!
小編給大家分享一下docker怎么部署kafka,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
這里我直接用的是docker-compose部署,所以需要提前安裝好compose。
既然要用compose那么yml文件自然是少不了的。
首先要新建一個目錄,并在目錄中新建一個yml文件
文件的內容如下:
version: '2' services: zookeeper: image: wurstmeister/zookeeper volumes: - ./data:/data ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME:127.0.0.1 KAFKA_MESSAGE_MAX_BYTES: 2000000 KAFKA_CREATE_TOPICS: "Topic1:1:3,Topic2:1:1:compact" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - ./kafka-logs:/kafka - /var/run/docker.sock:/var/run/docker.sock kafka-manager: image: sheepkiller/kafka-manager ports: - 9020:9000 environment: ZK_HOSTS: zookeeper:2181
接著利用這個yml文件啟動我們的項目
$ docker-compose up -d
可以看到新建了三個容器
我們通過以下命令進入到kafka容器的交互模式
$ docker exec -it kafkademo01_kafka_1 /bin/bash
因為高版本的kafka內置了zookeeper,所以我們無需進入zookeeper容器。所以yml文件中關于zookeeper的部署是可以省略的。
然后進入kafka的根目錄
$ cd /opt/kafka
$ cd /config
首先要修改的是zookeeper的配置文件:zookeeper.properties
(注釋已刪除)
dataDir=/opt/kafka/zooLogs clientPort=2182 maxClientCnxns=0 admin.enableServer=false
然后修改kafka的配置文件:server.porperties
(注釋已刪除)
############################# Server Basics ############################# broker.id=0 ############################# Socket Server Settings ############################# listeners=PLAINTEXT://127.0.0.1:9093 ############################# Socket Server Settings ############################# listeners=PLAINTEXT://127.0.0.1:9093 num.network.threads=3 num.io.threads=8 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 ############################# Log Basics ############################# log.dirs=/opt/kafka/kafkaLogs num.partitions=1 num.recovery.threads.per.data.dir=1 ############################# Internal Topic Settings ############################# offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 ############################# Log Retention Policy ############################# log.retention.hours=168 log.segment.bytes=1073741824 log.retention.check.interval.ms=300000 ############################# Zookeeper ############################# zookeeper.connect=127.0.0.1:2182 zookeeper.connection.timeout.ms=18000 ############################# Group Coordinator Settings ############################# group.initial.rebalance.delay.ms=0 port=9093 advertised.host.name=127.0.0.1 message.max.bytes=2000000 advertised.port=9093
以下是一些基本的命令
啟動zookeeper
zookeeper-server-start.sh ../config/zookeeper.properties
啟動kafka
kafka-server-start.sh ../config/server.properties
創建一個主題
kafka-topics.sh --create --zookeeper 127.0.0.1:2182 --replication-factor 1 --partitions 1 --topic test
查看創建的主題
kafka-topics.sh --list --zookeeper 127.0.0.1:2182
生產者
kafka-console-producer.sh --broker-list 127.0.0.1:9093 --topic test
消費者
kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9093 --topic test --from-beginning
以上是“docker怎么部署kafka”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。