docker部署kafka的方法步骤
程序员文章站
2022-03-18 12:43:42
目录1. 搭建docker2.进入容器3.修改配置文件4.测试kafka1. 搭建docker这里我直接用的是docker-compose部署,所以需要提前安装好compose。既然要用compose...
1. 搭建docker
这里我直接用的是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
可以看到新建了三个容器
2.进入容器
我们通过以下命令进入到kafka容器的交互模式
$ docker exec -it kafkademo01_kafka_1 /bin/bash
因为高版本的kafka内置了zookeeper,所以我们无需进入zookeeper容器。所以yml文件中关于zookeeper的部署是可以省略的。
然后进入kafka的根目录
$ cd /opt/kafka
3.修改配置文件
$ 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
4.测试kafka
以下是一些基本的命令
启动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的方法步骤的文章就介绍到这了,更多相关docker部署kafka内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!