Sometimes you may try to aggregate data from different sources and dump it into a common location, say your HDFS. In such a scenario it will be useful to create a directory inside the HDFS corresponding to each host machine. To do this FLEME-NG
provide a suitable escape sequence, the %{host}
. Unfortunately it was not working with early releases of FLUME-NG. In such case the only solution was to create a custom interceptor that adds a host header key to each event, along with the corresponding hostname as the header value.
But, luckily guys at Clouders did a great job and contributed an Interceptor to provide this feature out of the box. Now we just have to add few lines in our configuration file and we are good to go. For example, suppose we are collecting Apache web server logs from different hosts into a directory called flume
inside the HDFS
. It would be quite fussy to figure out which log is coming from which host. So we''ll use %{host}
in our agent configuration files
for
the
agents
running on each machine. This will create a separate directory
for each host inside the flume directory
and store the logs from that host there itself. A simple configuration file may look like this :
agent1.sources = tail
agent1.channels = MemoryChannel-2
agent1.sinks = HDFS
agent1.sources.tail.type = exec
agent1.sources.tail.command = tail -F /var/log/apache2/access.log.1
agent1.sources.tail.channels = MemoryChannel-2
agent1.sources.tail.interceptors = hostint
agent1.sources.tail.interceptors.hostint.type = org.apache.flume.interceptor.HostInterceptor$Builder
agent1.sources.tail.interceptors.hostint.preserveExisting = true
agent1.sources.tail.interceptors.hostint.useIP = false
agent1.sinks.HDFS.channel = MemoryChannel-2
agent1.sinks.HDFS.type = hdfs
agent1.sinks.HDFS.hdfs.path = hdfs://localhost:9000/flume/%{host}
agent1.sinks.HDFS.hdfs.file.Type = DataStream
agent1.sinks.HDFS.hdfs.writeFormat = Text
agent1.channels.MemoryChannel-2.type = memory
Pay attention to the bold lines. And if you want to name the directories with the IP address
of each host instead of its hostname then do this :
agent1.sources.tail.interceptors.hostint.useIP = true
- 浏览: 2094778 次
- 性别:
- 来自: 北京
最新评论
-
伍大都督:
解释太到位了,感谢分享
理解Linux系统中的load average(图文版) -
rfjian123:
非常感谢,用你的方法解决了问题。
Server sent unexpected return value (403 Forbidden) in response to OPTIONS -
yuhaifei12:
今天遇到同样的问题了。设置的是每分钟执行一次。结果发现每分钟执 ...
解决Linux下crontab同一时间重复执行问题 -
BigBird2012:
想问一下,使用ExecutorService每次都要调用 sh ...
spring quartz使用多线程并发“陷阱” -
zhuqx1130:
有用,谢谢
解决Sublime Text 3中文显示乱码(tab中文方块)问题
相关推荐
MySQL:使用mysqldump在Windows数据库定时备份-- mysqldump --opt --single-transaction=TRUE --user=%user% --password=%password% --host=%host% --protocol=tcp --port=%port% --default-character-set=%charSet%...
eeefdsafdsafdsafdsafdsfdsafdsafdsafdsafdsafsda
入门克隆存储库安装最新的Maven并通过“ mvn软件包”构建源通过'MVN依赖:生成类路径'生成类路径在$ FLUME_HOME / conf / flume-env.sh中附加类路径根据配置添加接收器定义组态type: org.riderzen.flume.sink....
如果一个命令长度大于 131 字节,命令文本将要被分割,使用分隔符(CR code, CHR$(13))来代替在每一个命令结尾的结束符直到最后一桢,结束符应当在最后一桢发送。 HostLink 命令的发送和接收过程包括: 1. 主控...
hostmonitor是一个免费的非常强大的网络监控软件,可用于数据中心和机房的网络运维,此次是hostmonitor的中文教程中文手册(亲测可用)
- **启动命令:** 在Flume安装目录下使用命令`./bin/flume-ng agent --conf /conf --conf-file /conf/exec.conf --name a1`启动agent实例。其中,`-conf`选项指定配置文件目录,`-conf-file`选项指定执行的配置文件...
代理列表允许在分布式环境中通过其他主机执行测试。通用属性包括报警规则、通知方式(如邮件、短信)以及是否启用日志记录。 测试者和测试名称字段用于标识和区分不同的监控任务,评论部分可以记录用户对特定测试的...
1. Agent配置:在flume-conf.properties文件中配置agent1的sources、sinks和channels。 2. Source配置:配置spooldir、tail-F和netcat三种类型的source。 3. Sink配置:配置logger和hdfs两种类型的sink,hdfs sink...
### 如何在GNS3中配置Host与路由器互连 #### 实验背景 GNS3是一款功能强大的网络仿真软件,广泛应用于网络工程师的学习与实验之中。通过GNS3,用户可以模拟复杂的网络环境,进行各种网络配置实验。本文将详细介绍...
修改host,切换host工具,host修改软件,host修改修改host文件工具软件自动切换host工具_HostHelper_V1.1 host切换工具-host助手 做开发和测试时经常遇到切换host的情况,如果每次手动去打开host文件,然后点击用...
几名操作员可以在不同系统上开始使用RCC,也可以与HostMonitor同时使用。 工具和辅助软件 除核心软件网络监视器之外,一个Advanced Host Monitor还包括以下辅助组件: IP-Tools provides 19 TCP/IP utilities IP...
在描述中提到的"hostmonitor2015最新版"可能是指9.9之前的某个2015年的版本,但这里我们主要讨论的是9.9。 HostMonitor的主要功能包括但不限于: 1. **实时监控**:它可以实时监测服务器的CPU使用率、内存占用、...
但是,在使用 Mysql 时,很容易遇到一些问题,例如 Mysql root 用户对应的 host 字段缺少 localhost 导致本地无法访问数据库问题。这种问题的产生是由于 root 用户对应的 host 值没有设置为 localhost,导致本地无法...
使用CH32V307开发板 USB host 驱动CDC设备(usb 转串口) 芯片为FT232, CP210 和CH340原理相同不在赘述。 使用MounRiver 打开。相比STM32,CH32更具有优势,价格便宜,内置高速PHY,非常适合做USB开发。完全裸机不调用...
在探讨《开发板SmartARM3250\OTG转USB HOST数据线使用注意事项》这一主题之前,我们首先需要理解OTG(On-The-Go)技术以及它在嵌入式系统开发中的应用,特别是与SmartARM3250开发板相关的部分。OTG是一种允许USB设备...
通过在`spi_host.c`中使用定时器或循环延迟函数,我们可以控制SCK引脚的高电平和低电平时间,从而产生所需的时钟频率。 3. **数据传输**: 主机与从机之间的数据交换通过MOSI和MISO线完成。在写操作中,主机在SCK...
在提供的“usb_host.rar”压缩包中,很可能包含了USB HOST驱动的相关代码、库文件或示例,帮助开发者理解和实现USB主机功能。这些资源可能涵盖初始化、设备枚举、数据传输等方面,对于学习和应用USB HOST技术具有很...
本文将详细介绍如何在Windows系统上配置Hostmonitor以及在系统迁移过程中如何进行数据备份与恢复。 #### 二、Hostmonitor安装与配置 ##### 2.1 安装准备 - **下载地址**:首先从官网...
在.NET Framework 4.5.2及以上版本中,C#开发者可以使用`SelfHost`功能来自行构建HTTP服务器,这为快速开发和测试提供了极大的便利。`SelfHost`允许我们将Web服务部署到非IIS环境,例如桌面应用程序或独立的服务进程...
在这个名为"hostlink.rar"的压缩包中,包含了C++语言实现的Hostlink协议,供开发者在Windows系统下进行串口通信。 C++是一种通用、面向对象的编程语言,它提供了丰富的库支持和高效性能,适合用于开发复杂的工业...