美文网首页
docker部署kafka

docker部署kafka

作者: 蔡欣圻 | 来源:发表于2019-05-10 14:35 被阅读0次

1、下载镜像

> $ docker pull wurstmeister/zookeeper

> $ docker pull wurstmeister/kafka

在命令行中等待两个镜像下载完成,然后验证镜像是否存在

> $ docker images

REPOSITORY                    TAG                        IMAGE ID            CREATED            SIZE

wurstmeister/kafka            latest                      c364cbed5b86        3 weeks ago        421MB

wurstmeister/zookeeper        latest                      3f43f72cb283        3 months ago        510MB

2、启动kafka

(1)首先启动zookeeper

> $ docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

b25e225ef2c4f83bb88724b88d4c3097f471e6c93e8fc7ac691017882d733668

(2)再启动kafka

> $ docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.44.158 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest

0fd8281b5254b5be9e43209431107f189fa834165ad72404d5511a496d90694c

可以通过通过下面命令来查看kafka是否启动

> $ docker ps -a

CONTAINER ID        IMAGE                                  COMMAND                  CREATED            STATUS                  PORTS                                                NAMES

0fd8281b5254        wurstmeister/kafka:latest              "start-kafka.sh"        2 hours ago        Up 2 hours              0.0.0.0:9092->9092/tcp                              kafka

b25e225ef2c4        wurstmeister/zookeeper                "/bin/sh -c '/usr/sb…"  2 hours ago        Up 2 hours              22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp  zookeeper

3、测试发送消息

(1)在终端输入container ID,进入容器,如下:

  > $ docker exec -it 0fd8281b5254 /bin/bash

  > bash-4.4#

  (2)进入kafka默认目录

> bash-4.4# cd /opt/kafka_2.12-2.2.0/

> bash-4.4# ls

LICENSE    NOTICE    bin        config    libs      logs      site-docs

(3)在下面就和kafka的功能一样,首先创建主题(mykafka)

    > bash-4.4# bin/kafka-console-producer.sh --broker-list 192.168.44.158:9092 --topic mykafka

      Created topic mykafka.

(4)查看我创建主题

    > bash-4.4# bin/kafka-topics.sh --list --zookeeper 192.168.44.158:2181

        mykafka

  (5) 发送消息

  首先在第一个终端输入下面命令 ,等待输入

            > bash-4.4# bin/kafka-console-producer.sh --broker-list 192.168.44.158:9092 --topic mykafka

            >

其次,在第二个终端同样进入kafka的后台,等待接受消息

          > bash-4.4# bin/kafka-console-consumer.sh --bootstrap-server 192.168.44.158:9092 --topic mykafka

在第一终端输入 this is a message

          > bash-4.4#  bin/kafka-console-producer.sh --broker-list 192.168.44.158:9092 --topic mykafka

          >this is a message

第二终端展示

          > bash-4.4# kafka-console-consumer.sh --bootstrap-server 192.168.44.158:9092 --topic mykafka

          > this is a message

本文参考:http://blog.csdn.net/snowcity1231/article/details/54946857

相关文章

网友评论

      本文标题:docker部署kafka

      本文链接:https://www.haomeiwen.com/subject/oikwgqtx.html