docker安装kafka

前言

最近在用kafka做项目,所以本地搭建下kafka,但是又嫌java安装和安装kafka太麻烦,所以想到用docker来部署。

镜像

wurstmeister/kafka
维护较为频繁的一个Kafka镜像。只包含了Kafka,因此需要另行提供ZooKeeper,推荐使用同一作者提交的wurstmeister/zookeeper。
现在已经提供较新的1.1.0版本。

搭建开发环境

1 ZooKeeper &1 Kafka

这里以我自己最常用的wurstmeister/kafka为例,使用docker-compose运行一个只有一个ZooKeeper node和一个Kafka broker的开发环境:

docker-compose.yml

version: ‘2‘

services:
  zoo1:
    image: wurstmeister/zookeeper
    restart: unless-stopped
    hostname: zoo1
    ports:
      - "2181:2181"
    container_name: zookeeper

  # kafka version: 1.1.0
  # scala version: 2.12
  kafka1:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
      KAFKA_BROKER_ID: 1
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_CREATE_TOPICS: "test1_topic,test2_topic"
    depends_on:
      - zoo1
    container_name: kafka

这里利用了wurstmeister/kafka提供的环境参数KAFKA_CREATE_TOPICS使Kafka运行后自动创建topics,当时你不修改kafka的配置(auto.create.topics.enable),扔到新的topic也会自动创建。

启动容器

在docker-compose.yml所在的目录执行以下命令:

docker-compose up -d

运行

docker ps -a

与容器内的开发环境交互

可以使用docker exec命令直接调用kafka容器内的脚本来进行创建/删除topic,启动console producer等等操作。
如果本地存有与容器内相同的Kafka版本文件,也可以直接使用本地脚本文件。如上述docker-compose.yml文件所示,kafka1的hostname即是kafka1,端口为9092,通过kafka1:9092就可以连接到容器内的Kafka服务。

列出所有topics (在本地kafka路径下)

$ bin/kafka-topics.sh --zookeeper localhost:2181 --list

列出所有Kafka brokers

$ docker exec zookeeper bin/zkCli.sh ls /brokers/ids

PHP 使用kafka 实践

golang 使用kafka 实践

参考文档

  1. https://www.jianshu.com/p/ac03f126980e
  2. https://www.jianshu.com/p/da54e9cee038

原文地址:https://blog.51cto.com/onebig/2484633

时间: 2024-12-20 18:58:28

docker安装kafka的相关文章

常见应用docker安装

==============docker安装mysql=========1.docker pull mysql:5.62.docker images3.docker run -itd -P mysql:5.6 bash4.docker ps -- 查看正在运行的容量,获取容器ID5.docker exec -it $ID bash(进入容器,进入容器后应当启动mysql: service mysql start)6.Ctrl+D:退出容器 注:docker中运行的mysql映射到本地的IP是36

Docker快速安装kafka

Docker快速安装kafka | 沈健的技术博客 盒子 盒子 博客 分类 标签 友链 搜索 文章目录 同样基于docker-compose安装,Docker快速部署nginx中有讲到,不在重述 1. 编写docker-compose.yml 个人习惯放在/opt/下,如/opt/kafka, /opt/nginx, docker-compose.yml如下 123456789101112131415 version: '3'services: zookeeper: image: 大专栏  Do

ubuntu下docker安装与版本升级

ubuntu 下docker安装与版本升级 一.系统环境 系统:ubuntu-server 14.04 x86_64 内核:3.13.0-32-generic 二.Docker安装 --------------------------------------------------------------------------------- 要想安装最新版本的Docker需要使用Docker源来安装 $ sudo su - root # apt-get -y installapt-transp

CentOS Docker 安装

CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位.系统内核版本为 2.6.32-431 或者更高版本. 使用 yum 安装

docker安装

CentOS 系列安装 Docker 实验环境: 开一台centos6.5 和centos7 内存4G ,网卡桥接 CentOS6.5: 在RedHat/CentOS环境下安装Docker.官方文档要求Linux kernel至少3.8以上,且docker只能运行在64位的系统中.由于RHEL6和CentOS6的内核版本为2.6,因此必须要先升级内核. 升级内核(记住一定要升级,要不然会出现很多莫名奇怪的问题,建议用yum安装) 1.yum安装带aufs模块的3.10内核 #cd /etc/yu

Docker 安装

CentOS安装Docker Docker支持CentOS及以后的版本. 对于CentOS系统可以试用EPEL库安装Docker,命令如下: $sudo yum install -y http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm $sudo yum install -y docker-io 对于CentOS7系统,由于CentOS-Extras源中已内置Docker,可以直接使用yum命令进行安装: $sud

Docker安装及配置管理

一.Docker介绍: Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点. 容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离.虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短.容器使用宿主操作系统的内核,而虚拟机使用独立的内核. Docker 目前的局限性之一是,只能用在 64

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d

Win10系统使用Docker安装oracle并通过Navicat for oracle进行登录

一.安装Docker Linux系统可以直接采用命令进行Docker安装: Win7系统安装Dokcer实际通过Boot2Docker在Windows下安装一个VirtualBox来实现: Boot2Docker对于Win10系统的支持不太友好,好消息是现在有了专门为Win10准备的Docker安装包:docker-tollbox; docker-tollbox下载地址:https://www.docker.com/products/docker-tollbox DockerToolbox.ex