最近需要使用到kafka,一看测试环境竟然没有,那就只能搭建一个,一般我们生产上都是使用tar包进行安装,毕竟像这种搞io类型的应用我们需要是尽量发挥他的性能。但是测试环境就不一样了,没有太高的要求,因此测试环境就使用docker进行安装了。
一、安装zookeeper
kafka需要依赖zookeeper,因此在这里需要使用zookeeper,因此zookeeper也是用docker进行安装一个,执行下面命令即可:
mkdir -p /home/pubserver/zookeeper docker run -d --name zookeeper -p 2181:2181 -v /home/pubserver/zookeeper/data:/opt/zookeeper-3.4.13/data -v /etc/localtime:/etc/localtime:ro -t wurstmeister/zookeeper
然后我们使用docker ps查看即可看到zookeeper已经启动起来了。
二、安装kafka
kafka依赖zookeeper,因此只需要在配置里面填写下zookeeper的地址即可。执行下面的命令:
mkdir -p /home/pubserver/kafka docker run -d --name kafka -p 9092:9092 -v /home/pubserver/kafka/logs:/opt/kafka/logs -v /home/pubserver/kafka/kafka-logs:/kafka/kafka-logs -v /etc/localtime:/etc/localtime:ro -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.206.0.10:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.206.0.10:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -e KAFKA_LOG_DIRS=/kafka/kafka-logs -t wurstmeister/kafka:2.12-2.3.1
上面的kafka版本可以根据自己的实际情况修改,上面的ip也需要修改为对应服务的ip。然后执行下docker ps
三、测试下kafka
3.1、启动一个ssh客户端,定位角色是消费者
docker exec -it kafka bash kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server 10.206.0.10:9092
然后可以看到正在等待消息
3.2、启动一个ssh客户端,定位角色是生产者
docker exec -it kafka bash kafka-console-producer.sh --topic test --broker-list 10.206.0.10:9092
然后随便输入数据即可,例如:
然后我们去消费者端看下接收消息的情况
证明搭建的kafka没有任何问题。
还没有评论,来说两句吧...