环境 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
编辑之后的内容
-
tickTime=2000
-
initLimit=10
-
syncLimit=5
-
#目录自行创建
-
dataDir=/tmp/zookeeper
-
dataLogDir=/var/log/kafka/zk
-
clientPort=2181
-
server.1=[你的host]:2888:3888
具体配置自行查阅相关资料
进入bin目录,启动,重启,停止,查看状态命令如下
-
./zkServer.sh start
-
./zkServer.sh stop
-
./zkServer.sh restart
-
./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
打开注释
-
#listeners=PLAINTEXT://:9092
-
#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