zoukankan      html  css  js  c++  java
  • 分布式实时日志系统(二) 环境搭建之 flume 集群搭建/flume ng资料

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式处理,采用 flume 收集日志,发送到 kafka 队列做缓冲,storm 分布式实时框架进行消费处理,短期数据落地到 hbase、mongo中,长期数据进入 hadoop 中存储。 接下来打算将这其间所遇到的问题、学习到的知识记录整理下,作为备忘,作为分享,带给需要的人。

    学习flume ng的过程中还是遇到一些障碍的,可是在搜索引擎搜到的所有的flume的资料都是以前的flume og(flume orign generation),而这个不是我们要用的,我们要使用 flume ng(flume next generation),所以你要搜资料最好搜索 flume ng 来查找,详细看一下这两个版本的区别:
    Flume NG:Flume 发展史上的第一次革命
    讲的非常详细,包括 两代的变化,安装配置等,可以仔细阅读下。

    关于使用 flume ng 来收集日志,美团网有两篇不错的文章,可以参考:
    基于Flume的美团日志收集系统(一) 架构和设计
    基于Flume的美团日志收集系统(二) 改进和优化

    关于学习 flume-ng ,官方用户文档 是最好的资料,阅读英文还有些困难的情况下,@javachen 写的这篇文章,讲清楚了文档中大部分场景,xirong 极为推荐,Flume-ng 的原理和使用

    阅读完上面的文章对 flume 有了一些概念后,可以看一下这篇 PPT,来自于 yahoo 的工程师分享:(slideshare PPT 分享服务在大陆是被墙的,不能科学上网?查看使用shadowsocks服务享受自由网络学习方法)

    flume-ng 集群搭脚本

    flume-ng 的搭建还是很简单的,如下脚本所示,每台机器上执行以下就ok了,重要的是根据自己生产环境机器的不同所做的配置,在 javachen 的文章中有详细的讲述配置的地方,可以进行相关阅读。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #!/bin/bash

    # author: xirong
    # date : 2015-02-06

    ##### 搭建 flume 集群的脚本
    # 注意:
    # 1. 需要 jdk7 环境,如果没有 Java 环境,请配置
    # 2. 有 /home/work 目录,否则无法安装
    #
    ####

    # 压缩文件解压
    tar -zxf apache-flume-1.5.2-bin.tar.gz -C /home/work/flume_cluster/

    # 配置flume环境
    echo '## flume configuration ' >> /etc/profile
    echo 'export FLUME_HOME=/home/work/flume_cluster/apache-flume-1.5.2-bin' >> /etc/profile
    echo 'export PATH=.:$PATH::$FLUME_HOME/bin' >> /etc/profile

    source /etc/profile

    # 添加Java 环境变量
    cp -f $FLUME_HOME/conf/flume-env.sh.template $FLUME_HOME/conf/flume-env.sh
    echo 'JAVA_HOME=/opt/jdk1.7.0_75/' >> $FLUME_HOME/conf/flume-env.sh

    echo 'confgratulations! fluem has been installed and flume-env.sh has been set!'

    # 测试是否成功
    flume-ng version

    ## Flume 1.5.2
    ## Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
    ## Revision: 229442aa6835ee0faa17e3034bcab42754c460f5
    ## Compiled by hshreedharan on Wed Nov 12 12:51:22 PST 2014
    ## From source with checksum 837f81bd1e304a65fcaf8e5f692b3f18

    实践文章 ,包括生产环境上面的优化配置,常见问题,详细查看 flume ng 实战配置

    flume 后台启动:,使用nohup命令,即 nohup flume-ng agent --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/flume_weblog.conf --name agent1 & ,详细参考: Linux 技巧:让进程在后台可靠运行的几种方法

    如之前 Jstorm的搭建一样,提供一键安装的脚本,zip包中包含所需要的文件,百度网盘 ,密码为usfc ,欢迎下载体验。
    如有任何问题,请留言或者在右侧找到我的联系方式,联系我

    原文http://www.ixirong.com/2015/05/18/how-to-install-flume-ng/

  • 相关阅读:
    为什么学微信小程序开发
    mac 上配置sublime text3插件
    获取元素的宽度和高度
    移动端页面SEO优化需要注意的10个要点
    gulp详细入门教程
    HTTP协议详解
    深入了解 Flexbox 伸缩盒模型
    移动前端之viewport
    如何设置“用eclipse开发时自动在顶端产生import”?
    认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别
  • 原文地址:https://www.cnblogs.com/yudar/p/4883213.html
Copyright © 2011-2022 走看看