注:该文的作文是 mrwilson ,原文地址为 Using Docker with Apache Flume - Part 1
在 Unruly,我们使用 Apache Flume 处理我们 event-streaming 架构的一部分,因为它很容易设置和减少自定义 sources 和 sinks,在我的创新时间,我尝试设置一些 Flume 拓扑来学习 Docker 和 集装箱化。
设置基础镜像
Docker 有镜像的概念,从镜像中我们可以启动一个容器,因此,第一步就是创建一个 Flume pre-installed 的镜像。Flume 仅仅依赖 JAVA(它是一个 JAVA 工程),我从 Ubuntu 基础镜像中创建它,将执行以下步骤:
- 安装 java 和 wget
- 下载和解压 flume 工程到
/opt/flume
- 设置 JAVA_HOME 并且把 flume-ng 加入 PATH
下面是我们需要做的
FROM ubuntu
# install wget + java
RUN apt-get update -q
RUN DEBIAN_FRONTEND=noninteractive apt-get install \
-qy --no-install-recommends \
wget openjdk-7-jre
# download and unzip Flume
RUN mkdir /opt/flume
RUN wget -qO- \
https://archive.apache.org/dist/flume/stable/apache-flume-1.4.0-bin.tar.gz \
| tar zxvf - -C /opt/flume --strip