Flume环境搭建_五种案例(转)

Flume环境搭建_五种案例

http://flume.apache.org/FlumeUserGuide.html

A simple example

Here, we give an example configuration file, describing a single-node Flume deployment. This configuration lets a user generate events and subsequently logs them to the console.

# example.conf: A single-node Flume configuration# Name the components on this agent
a1.sources = r1
a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = netcat a1.sources.r1.bind = localhost a1.sources.r1.port = 44444 # Describe the sink a1.sinks.k1.type = logger # Use a channel which buffers events in memory a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1 

This configuration defines a single agent named a1. a1 has a source that listens for data on port 44444, a channel that buffers event data in memory, and a sink that logs event data to the console. The configuration file names the various components, then describes their types and configuration parameters. A given configuration file might define several named agents; when a given Flume process is launched a flag is passed telling it which named agent to manifest.

Given this configuration file, we can start Flume as follows:

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

Note that in a full deployment we would typically include one more option: --conf=<conf-dir>. The <conf-dir> directory would include a shell script flume-env.sh and potentially a log4j properties file. In this example, we pass a Java option to force Flume to log to the console and we go without a custom environment script.

From a separate terminal, we can then telnet port 44444 and send Flume an event:

$ telnet localhost 44444
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Hello world! <ENTER>
OK

The original Flume terminal will output the event in a log message.

12/06/19 15:32:19 INFO source.NetcatSource: Source starting
12/06/19 15:32:19 INFO source.NetcatSource: Created serverSocket:sun.nio.ch.ServerSocketChannelImpl[/127.0.0.1:44444] 12/06/19 15:32:34 INFO sink.LoggerSink: Event: { headers:{} body: 48 65 6C 6C 6F 20 77 6F 72 6C 64 21 0D Hello world!. } 

Congratulations - you’ve successfully configured and deployed a Flume agent! Subsequent sections cover agent configuration in much more detail.

 

 

 

以下为具体搭建流程

Flume搭建_案例一:单个Flume

 

 

安装node2上

1.   上传到/home/tools,解压,解压后移动到/home下

 

2.   重命名,并修改flume-env.sh

vi flume-env.sh
 
3.   配置Flume的环境变量
vi /etc/profile
source /etc/profile
查看Flume的版本,看Flume的环境变量是否配置成功
4.    在/home下创建tests_flume, 并创建flume配置文件
cd test_flume
vi flume1
5.    命令测试Flume是否安装成功
flume-ng agent --conf /home/test_flume --conf-file /home/test_flume/flume1 --name a1 -Dflume.root.logger=INFO,console
安装telnet
随意输入 
hi flume
切换窗口查看
退出 ctrl+]  quit

 

 

Flume搭建_案例二:两个Flume做集群

安装node1,node2上
  1. MemoryChanel配置
  2. capacity:默认该通道中最大的可以存储的event数量是100
  3. trasactionCapacity:每次最大可以从source中拿到或者送到sink中的event数量也是100
  4. keep-aliveevent添加到通道中或者移出的允许时间
  5. byte**:即event的字节量的限制,只包括eventbody
1.   node1,node2,上传压缩包到/home/tools下,解压,
2.     
修改conf下的flume-env.sh中的java环境变量,
3.
     在/etc/profile下 
配置Flume的环境变量
4.
 
    node1,node2下创建测试目录test_flume,并分别在node1,node2下创建配置文件——flume21,flume22
node1下创建flume21
node2下创建flume22
5.   node1,node2分别启动flume(注意因为node2在后面,所以先启动node2中flume,再启动node1中flume)
  1. 先启动node02Flume
  2. flume-ng agent -n a1 -c conf -f avro.conf -Dflume.root.logger=INFO,console
  3. flume-ng agent -n a1 -c conf -/home/test_flume/flume22 -Dflume.root.logger=INFO,console
  4. 再启动node01Flume
  5. flume-ng agent -n a1 -c conf -f simple.conf2 -Dflume.root.logger=INFO,console
  6. flume-ng agent -n a1 -c conf -/home/test_flume/flume21 -Dflume.root.logger=INFO,console
node2:
node1:
6.   打开telnet测试,node2输出结果
 

 

 

 

 

 

Flume搭建_案例三:如何监控一个文件的变化?

安装node2上
1.   node2,上传压缩包到/home/tools下,解压,
2.     
修改conf下的flume-env.sh中的java环境变量,
3.
     在/etc/profile下 
配置Flume的环境变量
4.
 
    
node2下创建测试目录test_flume,node2下创建配置文件——flume3
mkdir test_flume
vi flume3
5.    node2启动flume
  1. 启动Flume
  2. flume-ng agent -n a1 -c conf -f exec.conf -Dflume.root.logger=INFO,console
  3. flume-ng agent -n a1 -c conf -/home/test_flume/flume3 -Dflume.root.logger=INFO,console
6.    测试
在/home/test_flume下创建空文件演示 touch flume.exec.log
循环添加数据
for i in {1..50}; do echo "$i hi flume" >> flume.exec.log ; sleep 0.1; done

Flume搭建_案例四: 如何监控一个文件:目录的变化?

安装node2上
1.   node2,上传压缩包到/home/tools下,解压,
2.     
修改conf下的flume-env.sh中的java环境变量,
3.
     在/etc/profile下 
配置Flume的环境变量
4.
 
     
node2下创建测试目录test_flume,node2下创建配置文件——flume4
mkdir test_flume
vi flume4
5.    node2启动flume
6.    测试

 

Flume搭建_案例五: 如何定义一个HDFS类型的Sink?

安装node2上

Flume搭建_案例五_配置项解读

1.   Flume中日期的格式
什么时候会用?
Flume收集的时候根据时间来创建,比如今天的产生的数据就创建20170216,昨天的就放在20170215下
!注意
2.   Flume是如何找到HDFS?
Flume如果配置的是hdfs,它会根据系统中配置的环境变量去找
3.   Flume什么时候滚动生成新文件?
滚动的间隔,大小,数量
hdfs.rollInterval30Number of seconds to wait before rolling current file (0 = never roll based on time interval)
hdfs.rollSize1024File size to trigger roll, in bytes (0: never roll based on file size)
hdfs.rollCount10Number of events written to file before it rolled (0 = never roll based on number of events)

 

4.   多长时间没有操作,Flume将一个临时文件生成新文件?

hdfs.idleTimeout0Timeout after which inactive files get closed (0 = disable automatic closing of idle files)

 

5.   多长时间生成一个新的目录?(比如每10s生成一个新的目录)

      四舍五入,没有五入,只有四舍

      (比如57分划分为55分,5,6,7,8,9在一个目录,10,11,12,13,14在一个目录)

hdfs.roundfalseShould the timestamp be rounded down (if true, affects all time based escape sequences except %t)
hdfs.roundValue1Rounded down to the highest multiple of this (in the unit configured using hdfs.roundUnit), less than current time.
hdfs.roundUnitsecondThe unit of the round down value - secondminute or hour.

 

1.   node2,上传压缩包到/home/tools下,解压,
2.     
修改conf下的flume-env.sh中的java环境变量,
3.
     在/etc/profile下 
配置Flume的环境变量
4.
 
     
node2下创建测试目录test_flume,node2下创建配置文件——flume5
mkdir test_flume

 

vi flume5

 

超越永无止境

转载于:https://www.cnblogs.com/wangbin/p/8192950.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux配置服务器超时退出,Linux下实现不活动用户登录超时后自动登出

摘要&#xff1a;方法一&#xff1a;通过修改.bashrc或.bash_profile文件来实现通过修改home目录下的.bashrc或.bash_profile文件...方法一&#xff1a;通过修改.bashrc或.bash_profile文件来实现通过修改home目录下的.bashrc或.bash_profile文件来实现。这两个文件选择其中一个…

只读属性怎么来的初值_设置Mysql表只读,关键时刻或许能救你一命

作为一名数据库运维人员&#xff0c;应该遇到过表记录被异常全表更新&#xff0c;这个时候该怎么办。作为Mysql数据库运维人员&#xff0c;第一反应&#xff0c;应该就是上报&#xff0c;然后联系开发人员&#xff0c;确认此表作用&#xff0c;然后再确定恢复方案。在这里举一个…

天龙架设linux环境配置,《果子资源》-天龙八部-手工纯端架设教程 - T-天龙八部 - Powered by Discuz!...

宝塔纯端架设天龙八部3D教程1.我这边使用CENOTS7 系统(6系统没时间测试)2.安装宝塔3.进入宝塔 安装MySQL5.5(我这边测试MYSQL 5.7 会创建不了角色) PHP 和NGINX3.进入SSH 输入yum install unixODBC -y4. 添加mysql账号账号: app_mtlbb密码: dskfjl29091dfk导入sql目录里的数据库…

mac安装需要的骚操作

显示隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool true; KillAll Finder 允许任何来源sudo spctl --master-disable 安装command line toolsxcode-select --install 使用locatesudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.pl…

自动打包linux,Linux环境下Springboot自动打包发布功能

实现核心功能&#xff1a;完成Linux环境下Springboot自动打包发布功能详细功能&#xff1a;自动更新Svn最新代码删除原有打包文件自动打包将打包之后的项目文件复制到其他服务器关闭本地项目进程重新启动本地项目服务使用到的相关技术&#xff1a;SVN&#xff0c;Maven&#xf…

miui12怎么自定义开机动画_MIUI12正式发布:视觉/功能大升级

点击上方蓝字【安兔兔】关注我文章每天不断更&#xff01;在今天下午举行的线上发布上&#xff0c;小米正式发布了MIUI12系统。从官方描述来看&#xff0c;MIUI12可以说是MIUI近几年来最重磅的一次更新&#xff0c;在UI界面、动画以及功能等方面都作出了升级。按照官方说法&…

已触发了一个断点 vs_VSCode源码分析-断点调试

背景今年年初&#xff0c;有幸参与了阿里集团IDE 共建项目组&#xff0c;打造阿里生态体系内的公共IDE底层&#xff0c;而作为一款面向开发者的IDE&#xff0c;调试能力的支持一定程度上决定着一款IDE的开发体验&#xff1b;VSCode作为微软体系下一款当前最热的IDE开发工具&…

什么端口可以抓LINUX,linux下开启某个端口的方法:可用于SQL

php生成随机字符串SDUST 软件工程2016-作业4-A 百钱买鸡问题解决百钱买鸡问题原本并不困难,关键的是这道题对其进行了升级,测试数据太大,传统的解法,像三重循环,二重循环都会导致超时. 这道题正确的解法应该是结合数学方程进行化简,将其转化为1层循环: xyz ...BootStrap最常用的…

azure linux 磁盘,在Azure Linux VM中,还有什么?什么磁盘收费?

MikeWo..7我还没有使用过Linux的IaaS实例,但我想我可以根据我对基础设施如何工作的理解来回答其中一些问题.当您创建VM时,您拥有操作系统磁盘(它映射到上面的根目录,我相信启动也可以,但我认为这是一个基于Linux的工件,并且在使用Windows时不存在).此OS磁盘作为VHD,页面BLOB存储…

python网页爬虫循环获取_Python 爬虫第三篇(循环爬取多个网页)

本篇是 python 爬虫的第三篇&#xff0c;在前面两篇 Python 爬虫第一篇&#xff08;urllibregex&#xff09; 和 Python 爬虫第二篇&#xff08;urllibBeautifulSoup&#xff09; 中介绍了如何获取给定网址的网页信息&#xff0c;并解析其中的内容。本篇将更进一步&#xff0c;…

移动web——touch事件介绍

基本概念 1、在移动web端点击事件或者滑动屏幕、捏合等动作都是由touchstar、touchmove、touchend这三个事件组合在一起使用的 2、click事件在移动端会有0.2秒的延迟&#xff0c;下面是测试click在移动web端的延迟&#xff0c;最好在手机浏览器中测试 <script>window.onl…

如何计算一年总共有多少周_一年有几个周?怎么计算周数及闰年?

用这一年的天数除以7。因为一周有七天。分析过程如下&#xff1a;假设这一年是2018年&#xff0c;2018年是一个平年&#xff0c;因为2018/4504……2。平年的全年有365天&#xff0c;365752……1。由此可得2018年有52周多1天。扩展资料&#xff1a;闰年的计算方法&#xff1a;1、…

linux系统安装应用商店失败,在Deepin/UOS系统应用商店中安装KiCad失败的解决方法...

在Deepin/UOS系统应用商店中搜索并安装KiCad可能会提示安装失败&#xff0c;原因就是缺少必要的依赖包及KiCad的封装库文件。下面分享解决方法及附上Deepin系统安装KiCad5的方法。参考深度商店应用Inkscape、KiCad、MyPaint、中望CAD Linux预装版。解决方法在系统中通过终端执行…

在Oracle中利用SQL_TRACE跟踪SQL的执行

当你在执行一条SQL语句非常慢的时候,你是不是想问Oracle怎么执行这条语句的呢? Oracle提供的SQL_TRACE工具可以让你知道你执行的SQL究竟做了什么.执行的过程会被 输出到trace文件中. 下面用例子来跟踪一个SQL语句的执行情况: SQL> create table t as select rownum as id,o…

python可以测试java的代码吗_使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹...

使用Jython对Java做单元测试&#xff0c;当然&#xff0c;为了测试开发java代码。这涉及到引入第三包的问题&#xff0c;如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/article/details/37739207 这里的实现的函数&#xff0c;扫描指定文件夹下的jar包&#…

linux ubantu扩展空间,ubuntu 扩展存储空间

今天解决了一个Ubuntu存储空间不足的问题。我在网上查了很多资料&#xff0c;都没有什么让我满意的方法。我是菜鸟级的用户&#xff0c;当然使用最菜的方法。以下是我的解决方案&#xff0c;供大家参考。方法步骤&#xff1a;第一步&#xff0c;在Ubuntu系统下&#xff0c;进入…

从使用到原理学习Java线程池

来源&#xff1a;SilenceDut http://www.codeceo.com/article/java-threadpool-learn.html线程池的技术背景 在面向对象编程中&#xff0c;创建和销毁对象是很费时间的&#xff0c;因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此&#xff0c;虚拟机将试图跟…

docker 镜像修改的配置文件自动还原_PVE部署LXC运行docker

PVE部署Ubuntu20.04 LXC容器用于安装docker&#xff0c;LXC部署完成后可以进行如下操作。1、PVE打开LXC的嵌套&#xff0c;不然运行docker会报错 https://lala.im/6793.htmlLXC需要勾选“无特权的容器”在创建完成后需要到“选项-签名”下勾选“嵌套”&#xff0c;这个主要是可…

linux下c 链接mongodb,Linux下mongoDB下载与安装

百度网盘下载&#xff1a;https://pan.baidu.com/s/1r0JoOtoYzJEC_HOe-NALwg 提取码&#xff1a;rm12 此处提供的是mongodb-linux-x86_64-4.0.11.tgz 版本java开发工具下载地址及安装教程大全&#xff0c;点这里。更多深度技术文章&#xff0c;在这里。二、安装1、上传到linux系…

oracle12 pl/sql

pl/sql块介绍 介绍 块(block)是pl/sql的基本程序单元&#xff0c;编写pl/sql程序实际上就是编写pl/sql块&#xff0c;要完成相对简单的应用功能&#xff0c;可能只需要编写一个pl/sql块&#xff0c;但是如果想要实现复杂的功能&#xff0c;可能需要在一个pl/sql块中嵌套其它的p…