zoukankan      html  css  js  c++  java
  • flume安装配置

    1 下载安装包并解压

    下载地址:http://flume.apache.org/download.html

    解压:tar zxvf apache-flume-1.8.0-bin.tar.gz 

    2 配置环境变量

     vi ~/.bashrc

    配置环境变量:

    export FLUME_HOME=/hmaster/flume/apache-flume-1.8.0-bin
    export FLUME_CONF_DIR=$FLUME_HOME/con

    export PATH=$PATH:$FLUME_HOME/bin

    让配置生效

    source ..bashrc

     配置flume-env.sh文件的JavaHome

    export JAVA_HOME=/hmaster/javaenv/jdk1.8.0_181

    3 Flume部署示例

    1 Avro

    在/hmaster/flume/apache-flume-1.8.0-bin/conf目录下新建netcat.conf配置文件

    Flume可以通过Avro监听某个端口并捕获传输的数据,具体配置示例如下:

    #那么我们也给这个三个组件分别取名字
    a2.sources = r1
    a2.channels = c1
    a2.sinks = k1

    #定义具体的source内容
    #这里是执行命令以及下面对应的具体命令
    #这个命令执行后的数据返回给这个source
    a1.sources.r1.type = netcat

    a1.sources.r1.bind = localhost

    a1.sources.r1.port = 44444


    #定义具体的channel信息
    #我们source定义好了,就要来定义我们的channel
    a2.channels.c1.type = memory
    a2.channels.c1.capacity = 10000
    a2.channels.c1.transactionCapacity = 100

    #定义具体的sink信息
    #这个logger sink,就是将信息直接打印到控制台
    #就是打印日志
    a2.sinks.k1.type = logger

    #最后来组装我们之前定义的channel和sink
    a2.sources.r1.channels = c1
    a2.sinks.k1.channel = c1

    运行FlumeAgent,监听本机的44444端口

    -n  后面对应agent名称

    -c 配置文件目录

    -f 配置文件地址

    flume-ng agent -n a1 -c conf -f ../conf/netcat.conf

    // 打开另一终端,通过telnet登录localhost的44444,输入测试数据

    $ telnet localhost 44444

     

    // 查看flume收集数据情况

     

     

    2 Spool

    1 配置spool.conf用于监控目录userlogs 的文件,将文件内容发送到本地60000端口

    Spool用于监测配置的目录下新增的文件,并将文件中的数据读取出来。需要注意两点:拷贝到spool目录下的文件不可以再打开编辑、spool目录下不可包含相应的子目录。具体配置文件示例如下

    #定义agent名称,source,channel,sink的名称
    #a1就是我们给agent起的名字,我们知道有多个agent,那么我们就是通过这个来进行区别
    #我们知道agent包含了三个重要的组件,有source,channel,sink
    #那么我们也给这个三个组件分别取名字
    a2.sources = r1
    a2.channels = c1
    a2.sinks = k1

    #定义具体的source内容
    #这里是执行命令以及下面对应的具体命令
    #这个命令执行后的数据返回给这个source
    a2.sources.r1.type = spooldir
    a2.sources.r1.spoolDir = /home/hadoop/hadoop-2.9.0/userlogs

    #定义具体的channel信息
    #我们source定义好了,就要来定义我们的channel
    a2.channels.c1.type = memory
    a2.channels.c1.capacity = 10000
    a2.channels.c1.transactionCapacity = 100

    #定义具体的sink信息
    #就是将数据转换成Avro Event 然后发送到配置的rpc端口上
    a2.sinks.k1.type = avro
    a2.sinks.k1.hostname= localhost
    a2.sinks.k1.port= 60000

    #最后来组装我们之前定义的channel和sink
    a2.sources.r1.channels = c1
    a2.sinks.k1.channel = c1

    2 配置spool2.conf用于从本地60000端口获取数据并写入HDFS

    #定义agent名称,source,channel,sink的名称
    a3.sources = r1
    a3.channels = c1
    a3.sinks = k1

    #定义具体的source内容
    a3.sources.r1.type= avro
    a3.sources.r1.bind= localhost
    a3.sources.r1.port= 60000
    #定义具体的channel信息
    #我们source定义好了,就要来定义我们的channel
    a3.channels.c1.type = memory
    a3.channels.c1.capacity = 10000
    a3.channels.c1.transactionCapacity = 100

    #定义具体的sink信息
    a3.sinks.k1.type = hdfs
    a3.sinks.k1.hdfs.path = hdfs://192.168.79.2:9000/flume/event2
    a3.sinks.k1.hdfs.filePrefix = events-
    a3.sinks.k1.hdfs.fileType = DataStream

    #最后来组装我们之前定义的channel和sink
    a3.sources.r1.channels = c1
    a3.sinks.k1.channel = c1

  • 相关阅读:
    Eletron 打开文件夹,截图
    nodejs 与 json
    drupal sql 源码解析query.inc 文件
    The maximum column size is 767 bytes (Mysql)
    php 过滤emoji
    Mysql delete操作
    Mysql update 一个表中自己的数据
    form 表单排序
    jquery parents用法
    MYSQL数据库重点:流程控制语句
  • 原文地址:https://www.cnblogs.com/yjjyves/p/9503107.html
Copyright © 2011-2022 走看看