docker下单机版kafka的搭建 镜像仓库

环境 centos7    jdk1.8    zookeeper3.4.10   kafka2.11

操作前打开2181和9092端口

1.安装zookeeper

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
tar -zxvf zookeeper-3.4.10.tar.gz
cd zookeeper-3.4.10/conf

将zoo_sample.cfg复制一份改为zoo.cfg

cp zoo_sample.cfg zoo.cfg

编辑zoo.cfg

vim zoo.cfg

编辑之后的内容

 
  1. tickTime=2000

  2. initLimit=10

  3. syncLimit=5

  4. #目录自行创建

  5. dataDir=/tmp/zookeeper

  6. dataLogDir=/var/log/kafka/zk

  7. clientPort=2181

  8. server.1=[你的host]:2888:3888

具体配置自行查阅相关资料

 

进入bin目录,启动,重启,停止,查看状态命令如下

 
  1. ./zkServer.sh start

  2. ./zkServer.sh stop

  3. ./zkServer.sh restart

  4. ./zkServer.sh status

若启动失败,查看配置文件中的日志文件夹是否创建

 

2.安装kafka

wget http://mirrors.hust.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz
tar -zxvf kafka_2.11-1.1.0.tgz

进入目录,修改配置文件

cd kafka_2.11-1.1.0/config
vim server.properties 

打开注释

 
  1. #listeners=PLAINTEXT://:9092

  2. #advertised.listeners=PLAINTEXT://your.host.name:9092

进行相应的更改 

更改zookeeper的配置,将localhost改为你的zookeeper地址,若zookeeper在本地可以不用修改

 

保存

 

启动kafka

进入bin目录执行如下命令

(./kafka-server-start.sh config/server.properties &) 

保持后台运行

 

测试

 

创建一个名叫test的topic

./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看所有的topic

./kafka-topics.sh --list --zookeeper localhost:2181

发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

输入 hello kafka

 

接收消息

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

可以收到 hello kafka 的消息

 

docker images name 为centos_kafka
仓库为83 
192.168.100.83:5000/kafka

cat /usr/local/app/kafka/config/server.properties 
broker.id=0
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://192.168.100.83:9092

docker run 命令:
docker run -dit --name kafka_1 -p 2181:2181 -p 9092:9092 -v /usr/local/kafka/config/server.properties:/usr/local/kafka_2.11-1.1.0/config/server.properties centos7_kafka ./usr/local/start.sh

等待几秒 查看docker logs kafka_1


cat /usr/local/start.sh 镜像里的start.sh 
#!/bin/sh
souuce /etc/profile
/usr/local/zookeeper-3.4.10/bin/zkServer.sh start 
/usr/local/kafka_2.11-1.1.0/bin/kafka-server-start.sh /usr/local/kafka_2.11-1.1.0/config/server.properties &
/bin/bash   

你可能感兴趣的:(docker)