Docker安装kafka服务器端,记一次liunx服务器下的操作流程
程序员文章站
2024-03-13 16:30:57
...
前言
安装kafka前提,需要依赖zookper,所以需要先安装 zookper
Zookeeper安装配置
- 下载最新镜像容器
docker pull zookeeper
- 查看本地镜像
docker images
- 创建挂载目录
- 运行容器,启动zookeeper服务
sudo docker run -itd \
-p 12181:2181 \
--name zk-service \
-v /data/zookeeper/data/:/data/ \
-v /data/zookeeper/datalog/:/datalog/ \
-v /data/zookeeper/logs/:/logs/ \
zookeeper
- 查看启动的容易列表
docker ps -a
安装配置kafka
- 下载最新版本的或者需要的版本
docker pull wurstmeister/kafka
- 查看本地镜像容器列表
docker images
- 启动kafka容器服务
docker run -itd \
--restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka \
-p 19092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=39.101.190.227:12181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://39.101.190.227:19092 \
-e KAFKA_LISTENERS=PLAINTEXT://x.x.x.x:19092 \
-v /etc/localtime:/etc/localtime \
wurstmeister/kafka
- 拷贝kafka配置信息
docker cp kafka:/opt/kafka/config/ /data/kafka/
docker cp kafka:/opt/kafka/libs/ /data/kafka/
docker cp kafka:/kafka/ /data/kafka/
- 停止/删除kafka容器
docker stop kafka #停止kafka容器实例
docker rm kafka #删除kafka实例
- 启动挂载本地配置的kafka实例
sudo docker run -itd \
--name kafka \
-p 9092:9092 \
-v /data/kafka/config/:/opt/kafka/config/ \
-v /data/kafka/libs/:/opt/kafka/libs/ \
-v /data/kafka/logs/:/kafka/ \
-v /etc/localtime:/etc/localtime \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=[your.host]:12181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[your.host]:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
wurstmeister/kafka
- 参数说明:
-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=[your.host]:2181/kafka 配置zookeeper管理kafka的路径[your.host]:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[your.host]:9092 把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间
- 验证kafka是否可用
1) 进入容器
docker exec -it kafka bash
2)进入 /opt/kafka_2.12-2.3.0/bin/ 目录下
cd /opt/kafka_2.12-2.3.0/bin/
3)运行kafka生产者发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic sun
发送消息:
> {"datas":[{"channel":"","metric":"temperature","producer":"ijinus","sn":"IJA0101-00002245","time":"1543207156000","value":"80"}],"ver":"1.0"}
- 运行kafka消费者接收消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
上一篇: 关于在liunx服务器上的一些小知识点
下一篇: jsf之登陆