大数据工具篇之flume1.4-安装部署指南

本文介绍了flume-ng 1.4版本的日志收集系统的安装及配置过程,并针对安装过程中遇到的bug进行了修复,同时提供了详细的配置文件与运行命令实例。

一、引言

  flume-ng是一个分布式、高可靠和高效的日志收集系统,flume-ng是flume的新版本的意思,其中“ng”意为new generate(新一代),目前来说,flume-ng 1.4是最新的版本。flume-ng与flume相比,发生了很大的变化,因为之前一直在flume0.9的版本,一直没有升级到flume-ng,最 近因为项目需要,做了一次升级,发现了一些问题,特记录下来,分享给大家。

二、版本说明

  flume-ng 1.4.0

三、安装步骤

  下载、解压、安装JDK、设置环境变量部分已经有很多介绍性的问题,不做说明。需要特别说明之处的是,flume-ng不需要要zookeeper,无需设置。

四、flume-ng bug  

  安装完成后运行flume-ng会出现错误信息,这主要是因为shell脚本的问题,我将修改后的flume-ng完整的上传如下,其中标注:#zhangzl下面的行是需要修改的部分。完整脚本如下所示:  

View Code

五、测试配置文件

  在conf目录下创建example-conf.properties文件,属性如下所示:  

复制代码

 1 # Describe the source 
 2 a1.sources = r1 3 a1.sinks = k1 4 a1.channels = c1 5  6 # Describe/configure the source 7 a1.sources.r1.type = avro 8 a1.sources.r1.bind = localhost 9 a1.sources.r1.port = 4444410 11 # Describe the sink12 # 将数据输出至日志中13 a1.sinks.k1.type = logger14 15 16 # Use a channel which buffers events in memory17 a1.channels.c1.type = memory18 a1.channels.c1.capacity = 100019 a1.channels.c1.transactionCapacity = 10020 21 # Bind the source and sink to the channel22 a1.sources.r1.channels = c123 a1.sinks.k1.channel = c1

复制代码

六、运行命令

  6.1 启动代理

[hadoop@hadoop1 conf]$ flume-ng agent -n a1 -f example-conf.properties

  6.2 启动avro-client客户端向agent代理发送数据-需要单独启动新的窗口

[hadoop@hadoop1 conf]$ flume-ng avro-client -H localhost -p 44444 -F file01

七、结果查看

复制代码

1 14/01/16 22:26:34 INFO ipc.NettyServer: [id: 0x0100c7e4, /127.0.0.1:54289 => /127.0.0.1:44444] OPEN2 14/01/16 22:26:34 INFO ipc.NettyServer: [id: 0x0100c7e4, /127.0.0.1:54289 => /127.0.0.1:44444] BOUND: /127.0.0.1:444443 14/01/16 22:26:34 INFO ipc.NettyServer: [id: 0x0100c7e4, /127.0.0.1:54289 => /127.0.0.1:44444] CONNECTED: /127.0.0.1:542894 14/01/16 22:26:36 INFO ipc.NettyServer: [id: 0x0100c7e4, /127.0.0.1:54289 :> /127.0.0.1:44444] DISCONNECTED5 14/01/16 22:26:36 INFO ipc.NettyServer: [id: 0x0100c7e4, /127.0.0.1:54289 :> /127.0.0.1:44444] UNBOUND6 14/01/16 22:26:36 INFO ipc.NettyServer: [id: 0x0100c7e4, /127.0.0.1:54289 :> /127.0.0.1:44444] CLOSED7 14/01/16 22:26:36 INFO ipc.NettyServer: Connection to /127.0.0.1:54289 disconnected.8 14/01/16 22:26:38 INFO sink.LoggerSink: Event: { headers:{} body: 68 65 6C 6C 6F 20 77 6F 72 6C 64                hello world }

复制代码


转载于:https://my.oschina.net/pangzi/blog/193839

### 关于大数据平台中 Flume安装配置与运维 Flume 是一种分布式、可靠且高可用的日志收集系统,广泛应用于大数据平台中的日志数据采集和传输场景。以下是关于 Flume大数据平台中的安装、配置以及运维的一些关键点: #### 1. **Flume 的基本概念** Flume 主要由三个核心组件组成:Source(源)、Channel(通道)和 Sink(目标)。 - Source 负责接收事件并将其传递到 Channel 中。 - Channel 是一个临时缓冲区,用于存储来自 Source 的事件直到它们被传送到 Sink。 - Sink 将事件写入外部存储或发送到下一个 Flume Agent[^3]。 #### 2. **Flume安装过程** 在 Linux 环境下安装 Flume 可以通过以下方式完成: - 下载 Apache Flume 的官方版本包,并解压至指定目录。 - 设置环境变量 `FLUME_HOME` 和 `PATH` 来简化命令调用。 - 使用如下命令验证 Flume 是否成功安装: ```bash [root@master conf]# flume-ng version ``` 如果显示 Flume 版本号,则说明安装成功[^3]。 #### 3. **Flume 的配置方法** Flume 的配置主要依赖于其配置文件(通常是 `.conf` 文件),该文件定义了 Source、Channel 和 Sink 的具体实现及其参数设置。例如,下面是一个简单的 Flume 配置示例: ```properties agent.sources = netcat-source agent.sinks = logger-sink agent.channels = memory-channel agent.sources.netcat-source.type = netcat agent.sources.netcat-source.bind = localhost agent.sources.netcat-source.port = 44444 agent.sinks.logger-sink.type = logger agent.channels.memory-channel.type = memory agent.channels.memory-channel.capacity = 1000 agent.channels.memory-channel.transactionCapacity = 100 agent.sources.netcat-source.channels = memory-channel agent.sinks.logger-sink.channel = memory-channel ``` 此配置表示 Flume 接收网络输入并通过内存通道将数据记录到控制台日志中[^3]。 #### 4. **Flume 的运维实践** 为了确保 Flume 在生产环境中稳定运行,可以采取以下措施: - **性能优化**:调整 Channel 的容量 (`capacity`) 和事务大小 (`transactionCapacity`) 参数来适应不同的流量负载[^3]。 - **监控机制**:利用 Cloudera Manager 或 Ambari 等工具Flume 实时监控,查看吞吐量、延迟等指标[^4]。 - **错误恢复策略**:启用 Flume 的内置重试机制,在发生短暂连接失败时自动尝试重新发送数据[^3]。 #### 5. **常见问题排查** 当遇到 Flume 故障时,可以通过检查日志文件定位问题原因。一些典型的错误可能包括但不限于: - 数据丢失:可能是由于 Channel 缓存不足或者 Sink 写入速度过慢引起。 - 性能瓶颈:通常表现为 CPU 占用率过高或磁盘 I/O 延迟增加。 --- ### 示例代码 启动 Flume Agent 的命令如下所示: ```bash flume-ng agent --name agent --conf $FLUME_CONF_DIR --conf-file example.conf -Dflume.root.logger=INFO,console ``` 其中 `$FLUME_CONF_DIR` 表示 Flume 配置文件所在的路径,而 `example.conf` 则是具体的配置文件名称[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值