最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式处理,采用 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/

分布式实时日志系统(二) 环境搭建之 flume 集群搭建/flume ng资料的更多相关文章

  1. 分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建

    一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...

  2. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  3. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档  摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...

  4. 大数据之虚拟机配置和环境准备及hadoop集群搭建

    一.VMnet1和VMnet8路由器 VMware-workstation软件选择默认安装时,会自动创建VMnet1和VMnet8路由器设备.(安装失败使用CCleaner清理vm软件) VMnet1 ...

  5. Flume集群搭建

    0. 软件版本下载 http://mirror.bit.edu.cn/apache/flume/   1. 集群环境 Master 172.16.11.97 Slave1 172.16.11.98 S ...

  6. consul分布式集群搭建&简单功能测试&故障恢复【h】

    环境准备五台机器: 操作系统 IP Ubuntu 16.04.3 LTS x86_64 192.168.1.185 Ubuntu 16.10 x86_64 192.168.3.152 Ubuntu 1 ...

  7. 和我一起打造个简单搜索之ElasticSearch集群搭建

    我们所常见的电商搜索如京东,搜索页面都会提供各种各样的筛选条件,比如品牌.尺寸.适用季节.价格区间等,同时提供排序,比如价格排序,信誉排序,销量排序等,方便了用户去找到自己心里理想的商品. 站内搜索对 ...

  8. Hadoop-HA(高可用)集群搭建

    Hadoop-HA集群搭建 一.基础准备工作 1.准备好5台Linux系统虚拟服务器或物理服务器 我这里演示采用虚拟服务器搭建Hadoop-HA集群,各自功能分配如下: NameNode节点:vt-s ...

  9. redis5.0.0集群搭建【实战经历】

    redis集群搭建 作者:陈土锋 时间:2020年6月2日 目录 一.环境介绍... 1 1.机器准备... 1 2.关闭防护墙和selinux. 1 3.时间同步... 1 二.Redis Clus ...

随机推荐

  1. (转)st(state-threads) coroutine和stack分析

     目录(?)[-] STACK分配 THREAD初始化栈 Thread启动和切换 Thread退出 Thread初始线程 Thread生命周期 st(state-threads) https://gi ...

  2. Xianfeng轻量级Java中间件平台:用户管理

    用户管理:简单地说,就是管理系统用户的账号信息.在典型的业务系统中,用户管理往往不包含用户隶属组织机构相关属性(比如部门.岗位等)的维护,而是由组织机构管理专门去维护.因此在用户管理的功能中,主要就维 ...

  3. Xianfeng轻量级Java中间件平台:属性管理、字典管理

    属性管理:主要功能是维护一些系统定义的.业务定义的属性数据,至于属性是什么,简单的说就是由键key和值value组成的数据,属性查询列表页面如下: 表格实现了直接编辑的功能 字典管理:主要功能是维护一 ...

  4. git默认忽略文件的大小写

  5. sql 查找最后一条记录

    1.通过row select * from tablewhere rownum<(select count(*)+1 from table)minusselect * from tablewhe ...

  6. win8 关闭防火墙

    http://jingyan.baidu.com/article/b87fe19eddb4da5218356894.html

  7. Eclipse中项目全部报错----项目全部打红叉的解决办法

    今天遇到一个超级郁闷的事情,Eclipse新建的项目全部都打有红叉,我起初以为自 己可能是因为这两天一直在配置NDK开发环境方面的东西,是不是一不小心把那个地方给配置了,然后新建项目时项目都会出现红叉 ...

  8. Line云端全自动加好友机器人

    一个 LINE 帐号可以加入 5,000 名好友,让这些 5,000 名好友收到 LINE 的主动提醒,好友会看到我的头像.主页照片.姓名与状态消息等,这种行为称为 LINE 的曝光. 如果我们要针对 ...

  9. HTML标签嵌套规则

    摘要:  最近在整理项目时发现有些同事写的页面代码嵌套的太多,而且有些嵌套不对,比如<a><div>内容</div></a>.虽然功能实现了,但是对于浏 ...

  10. Tomcat------如何查看80端口是否被占用

    1.Window + R,打开“运行”窗口,输入cmd 2.输入netstat -nao,回车,一般来说80端口会被PID为4的程序占用 3.启动任务管理器,点击“查看”->“选择列” 4.勾选 ...