<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Hadoop入門進階課程12--Flume介紹、安裝與應(yīng)用案例

      本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,博主為石山園,博客地址為 http://www.rzrgm.cn/shishanyuan  。該系列課程是應(yīng)邀實驗樓整理編寫的,這里需要贊一下實驗樓提供了學習的新方式,可以邊看博客邊上機實驗,課程地址為 https://www.shiyanlou.com/courses/237

      【注】該系列所使用到安裝包、測試數(shù)據(jù)和代碼均可在百度網(wǎng)盤下載,具體地址為 http://pan.baidu.com/s/10PnDs,下載該PDF文件

      1搭建環(huán)境

      部署節(jié)點操作系統(tǒng)為CentOS,防火墻和SElinux禁用,創(chuàng)建了一個shiyanlou用戶并在系統(tǒng)根目錄下創(chuàng)建/app目錄,用于存放Hadoop等組件運行包。因為該目錄用于安裝hadoop等組件程序,用戶對shiyanlou必須賦予rwx權(quán)限(一般做法是root用戶在根目錄下創(chuàng)建/app目錄,并修改該目錄擁有者為shiyanlou(chown R shiyanlou:shiyanlou /app)。

      Hadoop搭建環(huán)境:

      l  虛擬機操作系統(tǒng): CentOS6.6  64位,單核,1G內(nèi)存

      l  JDK1.7.0_55 64

      l  Hadoop1.1.2

      2Flume介紹

      FlumeCloudera提供的日志收集系統(tǒng),Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,Flume提供對數(shù)據(jù)進行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。 Flume是一個分布式、可靠和高可用的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。

      Flume具有ReliabilityScalabilityManageabilityExtensibility特點:

      1.ReliabilityFlume提供3中數(shù)據(jù)可靠性選項,包括End-to-endStore on failureBest effort。其中End-to-end使用了磁盤日志和接受端Ack的方式,保證Flume接受到的數(shù)據(jù)會最終到達目的。Store on failure在目的不可用的時候,數(shù)據(jù)會保持在本地硬盤。和End-to-end不同的是,如果是進程出現(xiàn)問題,Store on failure可能會丟失部分數(shù)據(jù)。Best effort不做任何QoS保證。

      2.ScalabilityFlume3大組件:collectormasterstorage tier都是可伸縮的。需要注意的是,Flume中對事件的處理不需要帶狀態(tài),它的Scalability可以很容易實現(xiàn)。

      3.ManageabilityFlume利用ZooKeepergossip,保證配置數(shù)據(jù)的一致性、高可用。同時,多Master,保證Master可以管理大量的節(jié)點。

      4.Extensibility:基于Java,用戶可以為Flume添加各種新的功能,如通過繼承Source,用戶可以實現(xiàn)自己的數(shù)據(jù)接入方式,實現(xiàn)Sink的子類,用戶可以將數(shù)據(jù)寫往特定目標,同時,通過SinkDecorator,用戶可以對數(shù)據(jù)進行一定的預處理。

      2.1 Flume架構(gòu)

      clip_image001 

       

      上圖的Flume的架構(gòu)中最重要的抽象是data flow(數(shù)據(jù)流),data flow描述了數(shù)據(jù)從產(chǎn)生,傳輸、處理并最終寫入目標的一條路徑(在上圖中,實線描述了data flow)。 Agent用于采集數(shù)據(jù),agentflume中產(chǎn)生數(shù)據(jù)流的地方,同時,agent會將產(chǎn)生的數(shù)據(jù)流傳輸?shù)?span lang="EN-US">collector。對應(yīng)的,collector用于對數(shù)據(jù)進行聚合,往往會產(chǎn)生一個更大的流。

      Flume提供了從console(控制臺)、RPCThrift-RPC)、text(文件)、tailUNIX tail)、syslogsyslog日志系統(tǒng),支持TCPUDP2種模式),exec(命令執(zhí)行)等數(shù)據(jù)源上收集數(shù)據(jù)的能力。同時,Flume的數(shù)據(jù)接受方,可以是console(控制臺)、text(文件)、dfsHDFS文件)、RPCThrift-RPC)和syslogTCPTCP syslog日志系統(tǒng))等。

      其中,收集數(shù)據(jù)有2種主要工作模式,如下:

      1. Push Sources:外部系統(tǒng)會主動地將數(shù)據(jù)推送到Flume中,如RPCsyslog

      2. Polling SourcesFlume到外部系統(tǒng)中獲取數(shù)據(jù),一般使用輪詢的方式,如textexec

      注意,在Flume中,agentcollector對應(yīng),而sourcesink對應(yīng)。Sourcesink強調(diào)發(fā)送、接受方的特性(如數(shù)據(jù)格式、編碼等),而agentcollector關(guān)注功能。

      2.2 Flume管理方式

      Flume Master用于管理數(shù)據(jù)流的配置,如下圖。

      clip_image002 

      為了保證可擴展性,Flume采用了多Master的方式。為了保證配置數(shù)據(jù)的一致性,Flume引入了ZooKeeper,用于保存配置數(shù)據(jù),ZooKeeper本身可保證配置數(shù)據(jù)的一致性和高可用,另外,在配置數(shù)據(jù)發(fā)生變化時,ZooKeeper可以通知Flume Master節(jié)點。

      Flume Master間使用gossip協(xié)議同步數(shù)據(jù)。

      3安裝部署Flume

      3.1  Flume部署過程

      3.1.1 下載Flume

      可以到apache基金flume官網(wǎng)http://flume.apache.org/download.html,選擇鏡像下載地址http://mirrors.hust.edu.cn/apache/flume/下載一個穩(wěn)定版本,如下圖所示下載flume-1.5.2-bin.tar.gz

      clip_image004

      也可以在/home/shiyanlou/install-pack目錄中找到該安裝包,解壓該安裝包并把該安裝包復制到/app目錄中

      cd /home/shiyanlou/install-pack

      tar -xzf flume-1.5.2-bin.tar.gz

      mv apache-flume-1.5.2-bin /app/flume-1.5.2

      clip_image006

      3.1.2 設(shè)置/etc/profile參數(shù)

      編輯/etc/profile文件,聲明flumehome路徑和在path加入bin的路徑:

      export FLUME_HOME=/app/flume-1.5.2

      export FLUME_CONF_DIR=$FLUME_HOME/conf

      export PATH=$PATH:$FLUME_HOME/bin

      clip_image008

      編譯配置文件/etc/profile,并確認生效

      source /etc/profile

      echo $PATH

      3.1.3 設(shè)置flume-env.sh配置文件

      $FLUME_HOME/conf 下復制改名flume-env.sh.templateflume-env.sh,修改conf/flume-env.sh配置文件

      cd /app/flume-1.5.2/conf

      cp flume-env.sh.template flume-env.sh

      sudo vi flume-env.sh

      修改配置文件內(nèi)容 :

      JAVA_HOME=/app/lib/jdk1.7.0_55

      JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote"

      clip_image010

      3.2 部署驗證

      3.2.1 驗證安裝

      1. 修改flume-conf配置文件

      $FLUME_HOME/conf目錄下修改flume-conf.properties.template文件,復制并改名為flume-conf

      cd /app/flume-1.5.2/conf

      cp flume-conf.properties.template flume-conf.properties

      sudo vi flume-conf.properties

      修改flume-conf配置文件內(nèi)容

      # The configuration file needs to define the sources, the channels and the sinks.

      # Sources, channels and sinks are defined per agent, in this case called 'a1'

      a1.sources = r1

      a1.sinks = k1

      a1.channels = c1

       

      # For each one of the sources, the type is defined

      a1.sources.r1.type = netcat

      a1.sources.r1.bind = localhost

      a1.sources.r1.port = 44444

       

      #The channel can be defined as follows.

      a1.sources.r1.channels = c1

      # Each sink's type must be defined

      a1.sinks.k1.type = logger

       

      #Specify the channel the sink should use

      a1.sinks.k1.channel = c1

       

      # Each channel's type is defined.

      a1.channels.c1.type = memory

      # Other config values specific to each type of channel(sink or source)

      # can be defined as well

      # In this case, it specifies the capacity of the memory channel

      a1.channels.c1.capacity = 1000

      a1.channels.c1.transactionCapacity = 100

      clip_image012

      2. flume的安裝目錄/flume-1.5.2下運行

      cd /app/flume-1.5.2

      ./bin/flume-ng agent --conf ./conf/ --conf-file ./conf/flume-conf.properties --name a1 -Dflume.root.logger=INFO,console

      clip_image014

      3. 再打開一個終端,輸入如下命令:

      telnet localhost 44444

      hello world

      clip_image016

      :在CentOS6.5運行telnet提示"command not found",使用sudo yum install telnet進行安裝

      4. 在原來的終端上查看,可以收到來自于telnet發(fā)出的消息

      clip_image018

      3.2.2 測試收集日志到HDFS

      1. $FLUME_HOME/conf目錄下修改flume-conf.properties.template文件,復制并改名為flume-conf2.properties

      cd /app/flume-1.5.2/conf

      cp flume-conf.properties.template flume-conf2.properties

      sudo vi flume-conf2.properties

      clip_image020

      a1.sources = r1

      a1.sinks = k1

      a1.channels = c1

      a1.sources.r1.type = exec

      a1.sources.r1.channels = c1

      a1.sources.r1.command = tail -F /app/hadoop-1.1.2/logs/hadoop-shiyanlou-namenode-b393a04554e1.log

      a1.sinks.k1.type = hdfs

      a1.sinks.k1.channel = c1

      a1.sinks.k1.hdfs.path = hdfs://hadoop:9000/class12/out_flume

      a1.sinks.k1.hdfs.filePrefix = events-

      a1.sinks.k1.hdfs.round = true

      a1.sinks.k1.hdfs.roundValue = 10

      a1.sinks.k1.hdfs.roundUnit = minute

      a1.sinks.k1.hdfs.rollSize = 4000000

      a1.sinks.k1.hdfs.rollCount = 0

      a1.sinks.k1.hdfs.writeFormat = Text

      a1.sinks.k1.hdfs.fileType = DataStream

      a1.sinks.k1.hdfs.batchSize = 10

      a1.channels.c1.type = memory

      a1.channels.c1.capacity = 1000

      a1.channels.c1.transactionCapacity = 100

      clip_image022

      2.  flume的安裝目錄/flume-1.5.2下運行

      cd /app/flume-1.5.2

      ./bin/flume-ng agent --conf ./conf/ --conf-file ./conf/flume-conf2.properties --name a1 -Dflume.root.logger=INFO,console

      clip_image024

      3. 不斷收集hadoop-hadoop-namenode-hadoop1.log的數(shù)據(jù)寫入HDFS

      clip_image026

      4. 查看hdfs/class12/out_flume中的文件

      hadoop fs -ls /class12/out_flume

      hadoop fs -cat /class12/out_flume/events-.1433921305493

      clip_image028

      posted @ 2015-07-23 09:06  shishanyuan  閱讀(4618)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 亚州少妇无套内射激情视频| 无码人妻精品一区二区三区66 | 亚洲精品一区久久久久一品av| 艳妇乳肉豪妇荡乳在线观看| 国产寡妇偷人在线观看| 无码囯产精品一区二区免费| 五莲县| 91亚洲一线产区二线产区| 国产精品多p对白交换绿帽| 另类 专区 欧美 制服| 免费AV片在线观看网址| 四虎影视国产精品永久在线| 国产成人一卡2卡3卡四卡视频| 中国女人内谢69xxxx| 国产成人无码AV片在线观看不卡| 人妻内射视频麻豆| 亚洲夜色噜噜av在线观看| 久久午夜无码鲁丝片直播午夜精品 | 国产精品呻吟一区二区三区| 日本熟妇XXXX潮喷视频| 日韩狼人精品在线观看| 永久免费精品性爱网站| 精品国产午夜福利在线观看| 中文字幕乱码无码人妻系列蜜桃| 亚洲国产亚洲国产路线久久| 2019亚洲午夜无码天堂| 天天澡日日澡狠狠欧美老妇| 日韩一区二区三区在线观院| 国产精品综合色区av| 久久丁香五月天综合网| 国产成人高清亚洲综合| 黑森林福利视频导航| 人人妻人人澡人人爽| а∨天堂一区中文字幕| 884aa四虎影成人精品| 修武县| 国产日韩精品中文字幕| 男女性高爱潮免费网站| 色婷婷婷丁香亚洲综合| 久久综合国产色美利坚| 亚洲欧洲美洲无码精品va|