zoukankan      html  css  js  c++  java
  • 基于docker环境搭建kafka集群(单机版)

    1.Docker下查看是否有kafka的镜像

      1 docker images |grep kafka

    2.拉取kafka镜像(如果没有kafka的镜像)
    2.1.拉取zookeeper镜像

                在Linux下查看是否有zookeeper的镜像

      1 docker images | grep zookeeper

                  如果没有 zookeeper 镜像,则拉去zookeeper镜像

      1 docker pull wurstmeister/zookeeper
                如果拉取报错:

    Error response from daemon: Get https://registry-1.docker.io/v2/wurstmeister/zookeeper/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Awurstmeister%2Fzookeeper%3Apull&service=registry.docker.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
                 则需要提前去查找一下镜像:

      1 docker search wurstmeister/zookeeper
                再执行
      1 docker pull wurstmeister/zookeeper
                 就会成功。

    2.2.拉取 kafka镜像

      1 docker pull wurstmeister/kafka
                如果拉取报错:

      1 Error response from daemon: Get https://registry-1.docker.io/v2/wurstmeister/kafka/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Awurstmeister%2Fkafka%3Apull&service=registry.docker.io: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
                则同理去查询一次镜像:

      1 docker search wurstmeister/kafka
                再执行
      1 docker pull wurstmeister/kafka
                就会成功。

    3.查看是否成功拉取了zookeeper和kafka的镜像

      1 docker images
                如下图

    4.启动zookeeper和kafka的镜像

    4.1.启动zookeeper镜像

      1 docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper


    4.2.启动kafka镜像

               (切记 192.168.101.139是我虚拟机ip,各位需要更换为自己的kafka镜像所在主机的ip)

      1 docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.101.139 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka

    4.3.查看两个镜像是否启动成功

      1 docker ps

    5.测试kafka(生产/消费)消息
    5.1进入容器内部

                查看kafka的 CONTAINER ID :

      1 docker ps|grep kafka

                假设获取到的ID为:ba2540992d9e

               使用ID进入容器:

      1 docker exec -it ba2540992d9e /bin/bash

    5.2测试消息发送
                在容器命令界面(具体进入/opt/kafkaxxxx 要ls一下 查看自己拉取的哪个版本的镜像产生的容器):

      1 cd /opt/kafka_2.12-2.1.0/

                创建一个主题名为netmusic:

      1 bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic netmusic

                运行一个生产者:

      1 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic netmusic

                 在另一个窗口打开容器命令窗口,运行一个消费者:172.17.0.3 是 kafka容器的ip。

                可以通过进入kafka容器的命令窗口(docker exec -it ba2540992d9e /bin/bash),使用ifconfig查看ip。

      1 bin/kafka-console-consumer.sh --bootstrap-server 172.17.0.3:9092 --topic netmusic


    在生产者的窗口生产消息,就可以在消费者窗口消费消息看到消息。



    归类 :自动化运维


  • 相关阅读:
    NPOI单元格公式不刷新
    DIV+CSS HACK
    简答好用的邮件服务器hMailServer(转)
    C# 后台POST和GET 获取数据
    Quartz.Net1.0.2.3 配置记录
    ASP.NET自定义控件VS2012中添加失败(下列控件已成功添加到工具箱中,但未在活动设计器中启用)
    NPOI 1.2.5复制行(包括格式)
    Javascript中Null和Undefined的区别[转]
    测试流程(立项会)
    测试计划
  • 原文地址:https://www.cnblogs.com/lz1996/p/12626481.html
Copyright © 2011-2022 走看看