栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

macos docker搭建kafka实践

macos docker搭建kafka实践

参考博文:Docker案例:MacOS搭建单节点Kafka服务_Crane的博客-CSDN博客 

拉取镜像
$ docker pull zookeeper

$ docker pull wurstmeister/kafka

$ docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
zookeeper            latest              ab3f783cf9c4        5 days ago          278MB
wurstmeister/kafka   latest              11142da99906        3 weeks ago         505MB
创建容器

Kafka依赖Zookeeper,这里使用docker-compose创建和启动容器。

需要创建docker-compose.yml文件,使用官方zookeeper镜像创建zookeeper容器,并与kafka容器建立关联。

(因宿主机有搭建dnmp环境,dnmp目录下存在docker-compose.yml文件,这里新建一个kafka目录,目录下新建docker-compose.yml文件)

docker-compose.yml文件内容如下:

version: '2'

services:
  zk:
    image: zookeeper
    restart: unless-stopped
    hostname: zk
    ports:
      - "2181:2181"
    container_name: zookeeper

  kfk:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_ZOOKEEPER_CONNECT: "zk:2181"
      KAFKA_BROKER_ID: 1
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    depends_on:
      - zk
    container_name: kafka
    

启动容器

进入docker-compose.yml文件所在目录(即cd kafka目录),执行下面命令启动容器:

#不清楚docker-compose up -d启动全部服务是否对dnmp中启动的服务造成影响,因此单独启动zk和kfk服务
#命令执行成功后,下边是执行日志,实时追踪展示。关闭此终端窗口并不影响生产者和消费者生产消费
$ docker-compose up zk kfk
Creating network "kafka_default" with the default driver
Creating zookeeper ... done
Creating kafka     ... done
Attaching to zookeeper, kafka
zookeeper | ZooKeeper JMX enabled by default
zookeeper | Using config: /conf/zoo.cfg
kafka  | [Configuring] 'port' in '/opt/kafka/config/server.properties'
kafka  | [Configuring] 'advertised.host.name' in '/opt/kafka/config/server.properties'
kafka  | Excluding KAFKA_HOME from broker config

验证安装结果

打开新的终端窗口,查看kafka及zookeeper版本,命令如下:

$ docker exec -it kafka find / -name *kafka_* | head -1
/opt/kafka_2.13-2.7.1

$ docker exec -it zookeeper pwd
/apache-zookeeper-3.7.0-bin

命令行方式使用kafka



创建topic

创建一个名为crane,分区数量为3,副本数量为1的主题。

#新建topic  表示命令没有执行完,回车继续输入命令
#Created新建成功
$ docker exec kafka 
> kafka-topics.sh 
> --create --topic crane 
> --partitions 3 
> --zookeeper zookeeper:2181 
> --replication-factor 1
Created topic crane.

#查看topic  表示命令没有执行完,回车继续输入命令
#可以查看到新建的topic:crane
$ docker exec kafka 
> kafka-topics.sh --list 
> --zookeeper zookeeper:2181
crane
创建生产者及消费者
创建生产者

创建主题为crane的生产者。

(可看到>符号,即生产者在等待消息输入)

$ docker exec -it kafka 
> kafka-console-producer.sh 
> --topic crane 
> --broker-list kafka:9092
>
创建消费者

另外开一个终端窗口,创建监听主题为crane的消费者。

$ docker exec kafka 
> kafka-console-consumer.sh 
> --topic crane 
> --bootstrap-server kafka:9092
   
生产者消费者交互

在生产者窗口下随便输入信息,回车,则生产者往Kafka中发送了输入的消息;

在消费者窗口中可看到消费的消息。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389500.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号