使用docker搭建kafka环境
Requirements
最近学习了下kafka,为方便搭建环境,使用docker进行部署。
需要首先安装docker的环境。要求操作系统是linux的64位系统。
docker的安装(适于rpm/deb安装):
curl -fsSL https://get.docker.com/ | sh
docker-compose的安装:
curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Kafka Image
Dockerfile
Dockerfile是用于描述镜像的制作过程。根据kafka的教程,编写对应的Dockerfile。
基础镜像使用了centos6的版本,当然根据需要也可以使用其他的版本。
FROM index.alauda.cn/tutum/centos:centos6
RUN yum install -y wget
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm
RUN rpm -ivh jdk-8u91-linux-x64.rpm
RUN mkdir -p /kafka && cd /kafka && wget http://mirrors.cnnic.cn/apache/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz && tar -xzf kafka_2.11-0.9.0.0.tgz && cd kafka_2.11-0.9.0.0
WORKDIR /kafka/kafka_2.11-0.9.0.0
有了这样的一个Dockerfile,可以在本地,也可以使用公有云进行镜像制作。在本地制作的话,可以使用该命令:
docker build -t index.alauda.cn/xuxinkun/kafka .
我使用了灵雀云的镜像服务进行build,可以在这里查看。
Docker-Compose
有了镜像之后,现在需要对服务进行启动。这里使用了docker的编排服务docker-compose,进行编排。
kafka主要包括两个服务,zookeeper和kafka。所以需要分别启动两个服务。这里将两个服务直接使用宿主机的网络。编写docker-compose.yaml如下:
zk:
image: index.alauda.cn/xuxinkun/kafka
net: host
stdin_open: true
tty: true
command: bin/zookeeper-server-start.sh config/zookeeper.properties
kafka:
image: index.alauda.cn/xuxinkun/kafka
net: host
stdin_open: true
tty: true
command: bin/kafka-server-start.sh config/server.properties
启动服务
现在可以一条命令启动所有的服务:
[root@node1 Dockerfile]# docker-compose up -d
Creating dockerfile_kafka_1
Creating dockerfile_zk_1
查看服务状态
对服务状态进行查看。
[root@node1 Dockerfile]# docker-compose ps
Name Command State Ports
----------------------------------------------------------------------
dockerfile_kafka_1 bin/kafka-server-start.sh ... Up
dockerfile_zk_1 bin/zookeeper-server-start ... Up
当然也可以使用docker ps -a进行查看。
停止服务
[root@node1 Dockerfile]# docker-compose stop zk kafka
Stopping dockerfile_kafka_1 ... done
Stopping dockerfile_zk_1 ... done
删除服务
[root@node1 Dockerfile]# docker-compose rm zk kafka
使用docker搭建kafka环境的更多相关文章
- docker搭建kafka环境&&Golang生产和消费
docker 搭建kafka环境 version: '2' services: zk1: image: confluentinc/cp-zookeeper:latest hostname: zk1 c ...
- mac下通过docker搭建LEMP环境
在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...
- 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境
CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...
- Mac下docker搭建lnmp环境 + redis + elasticsearch
之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...
- docker搭建lnmp环境(问题,资料,命令)
入门参考 http://www.runoob.com/docker/docker-install-nginx.html 十大常用命令玩转docker 1. #从官网拉取镜像 docker pull & ...
- Docker搭建disconf环境,三部曲之一:极速搭建disconf
Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...
- Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像
Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...
- Docker搭建disconf环境,三部曲之三:细说搭建过程
Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...
- 使用Docker搭建apache环境
Docker搭建apache环境 前言 操作机:ubuntu16 x64 Dockers servion 18.09.7 下载镜像 使用docker pull 拉取最新的 apache镜像 命令:do ...
随机推荐
- SqlDataReader的关闭问题
原文:SqlDataReader的关闭问题 昨天一个朋友使用Repeater绑定数据源时,老是出现"阅读器关闭时尝试调用 FieldCount 无效."错误. 我看了他的代码,使用 ...
- SQL点滴30—SQL中常用的函数
原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...
- C语言生成2000w行数据
最近一直抽空学习shell,脚本语言看多了多多少少有些蛋疼不适,所以捡起以前遇到的一个C语言的问题看看. 原先应该是在C++吧关注的一个帖子,楼主为了测试数据库性能需要如下形式的数据要求: 字符串长度 ...
- Objective-C和Swift
在项目中同时使用Objective-C和Swift 苹果发布的Swift语言可以和之前的Objective-C语言同时存在于一个项目中. 可能有人会认为是同一个类文件中既可以有Objective-C也 ...
- leetcode第15题--3Sum
Problem: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Fi ...
- IOS开发苹果官方Sample Code及下载地址
IOS开发苹果官方Sample Code及下载地址 在线浏览地址:https://developer.apple.com/library/ios/navigation/#section=Resourc ...
- 在Android中自动实现横竖屏切换的问题
http://developer.android.com/training/basics/supporting-devices/screens.html参照Google推荐的做法 在你项目的res 文 ...
- .NET Framework和C#版本历史概览
发布日期 .Net版本 C#版本 CLR版本 开发工具 功能介绍 2002 1.0 1.0 初始版本 Visual Studio .Net 初始版本 .NET框架结构,详见: 2003 1.1 ...
- svn外网访登录不进去提示证书错误Authorization Required
为了外网能访问内网svn.于是坐在外网端口映射.但是奇怪的是内网能访问,外网总也登录不进去.以为是浏览器版本低 但是其他浏览器也一样.最后客户端也登录不进去.提示报错: Authorization ...
- gradle测试与线上打包
首先,第一反应理所当然的是profile : <?xml version="1.0" encoding="UTF-8"?> <beans xm ...