国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于 Docker 構(gòu)建 Flume -- Part1

ShowerSun / 996人閱讀

摘要:在,我們使用作為事件流架構(gòu)的一部分。在源斷和端,它使非常容易建立以及丟棄的。因此,第一步就是創(chuàng)建一個(gè)預(yù)安裝了的鏡像。一個(gè)基礎(chǔ)的拓?fù)湟粋€(gè)拓?fù)溆山M成,它有個(gè)核心概念和。

  

注:該文的原文為 Using Docker with Apache Flume - Part 1,由 Alex Wilson 編寫。

在 Unruly ,我們使用 Apache Flume 作為事件流架構(gòu)的一部分。在源斷和 sinks 端,它使非常容易建立以及丟棄的。在我的創(chuàng)新時(shí)間,我嘗試創(chuàng)立一些 Flume 技術(shù)來獲得 Docker 和集裝箱運(yùn)輸?shù)闹R(shí)。

建立一個(gè)基礎(chǔ)鏡像

Docker 有鏡像的概念,在這個(gè)鏡像中我們能運(yùn)行一個(gè)容器。因此,第一步就是創(chuàng)建一個(gè)預(yù)安裝了 Flume 的鏡像。Flume 僅僅依賴 java(它是一個(gè)java工程),我在一個(gè) Ubuntu 基礎(chǔ)鏡像的基礎(chǔ)上創(chuàng)建了它,創(chuàng)建它需要執(zhí)行以下步驟:

安裝 java 和 wget

下載和解壓 flume 工程到 /opt/flume 目錄下

設(shè)置 JAVA_HOME 和把 flume-ng 添加進(jìn) PATH

如下所做,創(chuàng)建一個(gè) dockerfile :

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 1

# set environment variables
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
ENV PATH /opt/flume/bin:$PATH

通過這個(gè) Dockerfile 構(gòu)建一個(gè)鏡像(使用 docker build -t flume .),將給我們一個(gè)基礎(chǔ)鏡像,以使 Flume 容器使用。它是可用的,你可以在 Docker index 找到它。

一個(gè)基礎(chǔ)的 Flume 拓?fù)?/b>

一個(gè) Flume 拓?fù)溆?agent 組成,它有3個(gè)核心概念:sources、channels 和 sinks。

我們從 sources 接收數(shù)據(jù),把它放入一個(gè)或是多個(gè)的 channels ,它能被 sinks 讀取和加工。大部分的基礎(chǔ)拓?fù)溆梢粋€(gè)節(jié)點(diǎn)組成,我們建立了以下一個(gè)由 Docker 創(chuàng)建的節(jié)點(diǎn),使用:

一個(gè) NetcatSource,從一個(gè)端口讀取數(shù)據(jù)并且變成事件

一個(gè) MemoryChannel,存放在內(nèi)存中的事件 buffering 。

一個(gè) LoggerSink,記錄它接收到的事件

這個(gè)拓?fù)涞呐渲梦募覀兎Q之為 flume-example.conf 配置文件像如下這樣:

docker.sinks = logSink
docker.sources = netcatSource
docker.channels = inMemoryChannel

docker.sources.netcatSource.type = netcat
docker.sources.netcatSource.bind = 0.0.0.0
docker.sources.netcatSource.port = 44444
docker.sources.netcatSource.channels = inMemoryChannel

docker.channels.inMemoryChannel.type = memory
docker.channels.inMemoryChannel.capacity = 1000
docker.channels.inMemoryChannel.transactionCapacity = 100

docker.sinks.logSink.type = logger
docker.sinks.logSink.channel = inMemoryChannel

我們將使用這個(gè)配置文件創(chuàng)建一個(gè)新容器,并且啟動(dòng) docker agent。

FROM probablyfine/flume

ADD flume-example.conf /var/tmp/flume-example.conf

EXPOSE 44444

ENTRYPOINT [ "flume-ng", "agent",
  "-c", "/opt/flume/conf", "-f", "/var/tmp/flume-example.conf", "-n", "docker",
  "-Dflume.root.logger=INFO,console" ]

ENTRYPOINT 塊的 flume-ng 的命令將在一個(gè)啟動(dòng)的容器中運(yùn)行(配置文件的目錄,配置文件,和agent 名字),并且 EXPOSE 指令使得端口在運(yùn)行期是可用的。NetcatSource 在監(jiān)聽這個(gè)端口。

一旦我們創(chuàng)建了這個(gè)新鏡像(我們叫做 flume-example),我們就可以通過使用命令 docker run -p 444:44444 -t flume-example 啟動(dòng)這個(gè)容器,p 444:44444 指令將讓容器中的 4444 端口和本機(jī)的 444 端口做映射。現(xiàn)在我們可以通過 echo foo bar baz | nc localhost 444 給它發(fā)送消息了,然后看被記錄的事件。

...
2014-05-05 19:26:13,218 (SinkRunner-PollingRunner-DefaultSinkProcessor)
  [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:70)]
  Event: { headers:{} body: 66 6F 6F 20 62 61 72 20 62 61 7A foo bar baz }
...

簡(jiǎn)直酷斃了!現(xiàn)在我們有一個(gè)工作的 Flume agent 可以獲取和處理數(shù)據(jù)了。

下一篇文章,將展示更多的有趣的 Flume 技術(shù),并且我們可以更早的把 Docker 的特性和 Flume 的建立整合起來(比如共享一個(gè)卷和只讀的掛載)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/35727.html

相關(guān)文章

  • 基于 Docker 構(gòu)建 Flume -- Part1

    摘要:在,我們使用作為事件流架構(gòu)的一部分。在源斷和端,它使非常容易建立以及丟棄的。因此,第一步就是創(chuàng)建一個(gè)預(yù)安裝了的鏡像。一個(gè)基礎(chǔ)的拓?fù)湟粋€(gè)拓?fù)溆山M成,它有個(gè)核心概念和。 注:該文的原文為 Using Docker with Apache Flume - Part 1,由 Alex Wilson 編寫。 在 Unruly ,我們使用 Apache Flume 作為事件流架構(gòu)的一部分...

    Youngdze 評(píng)論0 收藏0
  • 使用 Docker 與 Apache Flume - 第一部分

    摘要:注該文的作文是原文地址為在,我們使用處理我們架構(gòu)的一部分,因?yàn)樗苋菀自O(shè)置和減少自定義和,在我的創(chuàng)新時(shí)間,我嘗試設(shè)置一些拓?fù)鋪韺W(xué)習(xí)和集裝箱化。酷現(xiàn)在我們有一個(gè)工作的可以提取和處理數(shù)據(jù)了。第二部分的地址 注:該文的作文是 mrwilson ,原文地址為 Using Docker with Apache Flume - Part 1 在 Unruly,我們使用 Apache Fl...

    BlackFlagBin 評(píng)論0 收藏0
  • 基于kubernetes的docker集群實(shí)踐

    摘要:健康監(jiān)控檢查,可以說是集群中最重要的一部分了。我們?cè)谶@里沒有使用推薦的方式,我們自己將其與內(nèi)部的系統(tǒng)做了結(jié)合,通過來對(duì)整個(gè)集群進(jìn)行監(jiān)控報(bào)警自動(dòng)化操作。 在公司內(nèi)部,基于kubernetes實(shí)現(xiàn)了簡(jiǎn)單的docker應(yīng)用集群系統(tǒng),拿出來和大家分享下,在這個(gè)系統(tǒng)中,實(shí)現(xiàn)了應(yīng)用的自動(dòng)部署、動(dòng)態(tài)擴(kuò)容、節(jié)點(diǎn)切換、健康檢查、AB式版本更新等功能,也歡迎大家將各自的實(shí)現(xiàn)也分享給我。 整體架構(gòu) 整體架構(gòu)...

    meislzhua 評(píng)論0 收藏0
  • 基于kubernetes的docker集群實(shí)踐

    摘要:健康監(jiān)控檢查,可以說是集群中最重要的一部分了。我們?cè)谶@里沒有使用推薦的方式,我們自己將其與內(nèi)部的系統(tǒng)做了結(jié)合,通過來對(duì)整個(gè)集群進(jìn)行監(jiān)控報(bào)警自動(dòng)化操作。 在公司內(nèi)部,基于kubernetes實(shí)現(xiàn)了簡(jiǎn)單的docker應(yīng)用集群系統(tǒng),拿出來和大家分享下,在這個(gè)系統(tǒng)中,實(shí)現(xiàn)了應(yīng)用的自動(dòng)部署、動(dòng)態(tài)擴(kuò)容、節(jié)點(diǎn)切換、健康檢查、AB式版本更新等功能,也歡迎大家將各自的實(shí)現(xiàn)也分享給我。 整體架構(gòu) 整體架構(gòu)...

    Flink_China 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<