docker部署kafka

1、拉取镜像
docker pull wurstmeister/zookeeper  
docker pull wurstmeister/kafka 

2、创建容器
docker run -di --network=docker-network --ip=172.19.0.60 --name=zk_01 -p 2181:2181  --privileged=true wurstmeister/zookeeper /bin/bash
docker run -di --network=host --name=kafka_01 -v /etc/localtime:/etc/localtime  --privileged=true wurstmeister/kafka:latest /bin/bash

3、修改kafka的配置文件server.properties
cd /opt/kafka_2.12-2.5.0/config/
vi server.properties

server.properties配置文件的内容如下所示
broker.id=0   										# 表示broker的编号，如果集群中有多个broker，则每个broker的编号需要设置的不同
listeners=PLAINTEXT://192.168.23.131:9092 			# brokder对外提供的服务入口地址
log.dirs=/tmp/kafka-logs  							# 设置存放消息日志文件的地址
zookeeper.connect=172.19.0.60:2181  				# Kafka所需Zookeeper集群地址，教学中Zookeeper和Kafka都安装本机

4、启动kafka
bin/kafka-server-start.sh config/server.properties

5、创建主题
bin/kafka-topics.sh --zookeeper 172.19.0.60:2181 --create --topic itheima --partitions 2 --replication-factor 1				# 创建主题，表示副本因子，表示每一个分区具有的副本数(包含分区本身)，副本因子数不能超过broker的数量
bin/kafka-topics.sh --zookeeper 172.19.0.60:2181 --list															# 查看所有的主题
bin/kafka-topics.sh --zookeeper 172.19.0.60:2181 --describe --topic itheima											# 查看主题的详细信息
bin/kafka-topics.sh --delete --zookeeper 172.19.0.60:2181 --topic itheima											# 删除主题

bin/kafka-console-consumer.sh --bootstrap-server 192.168.23.131:9092 --topic itheima								# 开启一个消费者
bin/kafka-console-producer.sh --broker-list 192.168.23.131:9092 --topic itheima										# 开启一个生产者

修改分区数
增加分区数
bin/kafka-topics.sh --alter --zookeeper 172.19.0.60:2181 --topic itheima --partitions 3

修改分区数时，仅能增加分区个数。若是用其减少 partition 个数，则会报如下错误信息：
bin/kafka-topics.sh --alter --zookeeper 172.19.0.60:2181 --topic heima --partitions 2