Docker安装kafka服务器端,记一次liunx服务器下的操作流程

前言

安装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"}
  1. 运行kafka消费者接收消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小达人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值