查看kafka运行状态_提效 | Local环境下的kafka服务

54bc893c7de73357f76f1896c8323cb8.png

在当前微服务横行的大环境下, 除了单测对单个方法的逻辑做验证外, 在本机环境能正常运行, 减少三方环境的依赖也是提效的一个重要环节.

而对kafka的依赖更是常见, 本文就总结下本机docker环境下的kafka服务运行.

本文会介绍两种方式:

(一) 基于docker的kafka镜像服务

(二) 基于docker-compose的kafka镜像服务

一. 基于docker的kafka镜像服务

启动zookeeper镜像, 并将镜像命名为zookeeper

docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14

查看zookeeper启动状态

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                  NAMES
569ba23c3038        zookeeper           "/docker-entrypoint.…"   12 seconds ago      Up 9 seconds        2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, 8080/tcp   zookeeper

查看zookeeper 容器IP元数据:IPAddress, 为后面启动kafka时做准备.

docker inspect zookeeper
"NetworkSettings": {
 ...
            "Ports": {
                "2181/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "2181"
                    }
                ],
                "2888/tcp": null,
                "3888/tcp": null,
                "8080/tcp": null
            },
 ...
            "IPAddress": "172.17.0.2",
 ...
        }

启动kafka容器

需要配置一下两个环境变量

配置zookeeperIP地址, 值为zookeeper元数据IPAddress对应值

KAFKA_ZOOKEEPER_CONNECT

配置主机IP地址

KAFKA_ADVERTISED_HOST_NAME

启动kafka容器

docker run -d --name kafka -p 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=172.17.0.2:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.3.201 --env KAFKA_ADVERTISED_PORT=9092  wurstmeister/kafka:latest

测试

进入kafka容器, 需根据情况修改容器ID

docker exec -it 157 bash

Kafka bin所在目录

cd /opt/kafka/bin

查看topic列表

kafka-topics.sh --list --zookeeper 172.17.0.2:2181

创建topic

kafka-topics.sh --create --zookeeper 172.17.0.2:2181 --replication-factor 1 --partitions 1 --topic test1

生产信息

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

消费信息

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

(二)基于docker-compose的kafka镜像服务

docker-compose方式相对docker原生启动, 配置和启动都更加简单.

zookeeper和kafka服务docker-compose.yml

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.1.7
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

修改配置文件中以下配置项为本机IP

KAFKA_ADVERTISED_HOST_NAME

进入文件所在目录, 执行命令启动服务集群

docker-compose up -d

查看集群状态

docker-compose ps
          Name                        Command               State                         Ports                       
----------------------------------------------------------------------------------------------------------------------
kafka-docker_kafka_1       start-kafka.sh                   Up      0.0.0.0:9092->9092/tcp                            
kafka-docker_zookeeper_1   /bin/sh -c /usr/sbin/sshd  ...   Up      0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcp

添加更多kafak brokers节点

docker-compose scale kafka=3

服务集群销毁

docker-compose stop

测试

进入kafka容器, 需根据情况修改容器ID

docker exec -it 157 bash

Kafka bin所在目录

cd /opt/kafka/bin

topic查看

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

创建topic

kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test3

生产信息

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

消费信息

 kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic test3 --from-beginning

ca303e9099c89e18f6ff4834db83d48c.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值