美文网首页
08 flume级联

08 flume级联

作者: 张力的程序园 | 来源:发表于2020-06-22 20:26 被阅读0次

    本小节将展示flume的级联。所谓级联,是指一个flume的sink作为另一个flume的source,常用于收集其他服务器的日志到日志服务器。

    1、前提约束

    • 有两台服务器[虚拟机也可以],假设这两台服务器的ip、域名分别为:
      192.168.100.141 hadoop1
      192.168.100.142 hadoop2
      且已经设置免密登录和关闭防火墙,且已安装jdk并配置环境变量
    • 已经安装flume服务器
      https://www.jianshu.com/p/3e4f7db8080f
      假设该flume服务是安装在192.168.100.141服务器的/root路径下,且已关闭

    2、操作步骤

    执行以下命令,将完成把142中的日志数据同步到141:
    (1)在141执行以下命令,拷贝flume安装包到hadoop2

    scp -r /root/apache-flume-1.8.0-bin root@hadoop2:/root
    

    (2)修改141中的flume配置文件flume-conf-avro.properties

    a2.sources = r1
    a2.sinks = k1
    a2.channels = c1
    a2.sources.r1.type = avro
    a2.sources.r1.bind = 192.168.100.141
    a2.sources.r1.port = 44444
    a2.sources.r1.interceptors = i1
    a2.sources.r1.interceptors.i1.type = timestamp
    a2.sinks.k1.type = file_roll
    a2.sinks.k1.sink.directory = /root/test
    a2.sinks.k1.sink.rollInterval = 0
    a2.channels.c1.type = memory
    a2.channels.c1.capacity = 1000
    a2.channels.c1.transactionCapacity = 100
    a2.sources.r1.channels = c1
    a2.sinks.k1.channel = c1  
    

    注意,需要在141中创建/root/test文件夹。
    (3)在141中启动flume服务,此时141服务器中44444端口将处于监听状态

     /root/apache-flume-1.8.0-bin/flume-ng agent -c ../conf -f ../conf/flume-conf-avro.properties  -n a2&
    

    (4)修改142中的flume配置文件flume-conf-avro.properties

    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1
    a1.sources.r1.type = avro
    a1.sources.r1.bind = localhost
    a1.sources.r1.port = 55555
    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = 192.168.100.141
    a1.sinks.k1.port = 44444
    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100
    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1
    

    (5)在142中启动flume服务,此时142服务器中55555端口将处于监听状态

     /root/apache-flume-1.8.0-bin/flume-ng agent -c ../conf -f ../conf/flume-conf-avro.properties  -n a1 
    

    (6)在142中创建/root/info.log,内容如下

    ali
    xiaoli
    zhangli
    

    在142中执行以下命令,将以avro协议方式发送log日志数据到142的55555端口

    /root/apache-flume-1.8.0-bin/flume-ng avro-client -H localhost -p 55555 -F /root/info.log
    

    (7)查看141中的/root/test目录,我们将看到同步好的数据。
    以上就是flume级联操作。

    相关文章

      网友评论

          本文标题:08 flume级联

          本文链接:https://www.haomeiwen.com/subject/djuffktx.html