flume 监控hive日志文件

  • flume 监控hive 日志文件

一: flume 监控hive的日志

1.1 案例需求:

1. 实时监控某个日志文件,将数据收集到存储hdfs 上面, 此案例使用exec source ,实时监控文件数据,使用Memory Channel 缓存数据,使用HDFS Sink 写入数据
2. 此案例实时监控hive 日志文件,放到hdfs 目录当中。
hive 的日志目录是
hive.log.dir = /home/hadoop/yangyang/hive/logs

1.2 在hdfs 上面创建收集目录:

bin/hdfs dfs -mkdir /flume 

1.3 拷贝flume 所需要的jar 包

cd /home/hadoop/yangyang/hadoop/

cp -p share/hadoop/hdfs/hadoop-hdfs-2.5.0-cdh5.3.6.jar /home/hadoop/yangyang/flume/lib/

cp -p share/hadoop/common/hadoop-common-2.5.0-cdh5.3.6.jar
/home/hadoop/yangyang/flume/lib/

cp -p share/hadoop/tools/lib/commons-configuration-1.6.jar
/home/hadoop/yangyang/flume/lib/

cp -p share/hadoop/tools/lib/hadoop-auth-2.5.0-cdh5.3.6.jar /home/hadoop/yangyang/flume/lib/

1.4 配置一个新文件的hive-test.properties 文件:

cp -p test-conf.properties hive-conf.properties

vim hive-conf.properties

# example.conf: A single-node Flume configuration

# Name the components on this agent
a2.sources = r2
a2.sinks = k2
a2.channels = c2

# Describe/configure the source
a2.sources.r2.type = exec
a2.sources.r2.command = tail -f /home/hadoop/yangyang/hive/logs/hive.log
a2.sources.r2.bind = namenode01.hadoop.com
a2.sources.r2.shell = /bin/bash -c 

# Describe the sink
a2.sinks.k2.type = hdfs 

a2.sinks.k2.hdfs.path = hdfs://namenode01.hadoop.com:8020/flume/%Y%m/%d
a2.sinks.k2.hdfs.fileType = DataStream
a2.sinks.k2.hdfs.writeFormat = Text
a2.sinks.k2.hdfs.batchSize = 10

# 设置二级目录按小时切割
a2.sinks.k2.hdfs.round = true
a2.sinks.k2.hdfs.roundValue = 1
a2.sinks.k2.hdfs.roundUnit = hour

# 设置文件回滚条件
a2.sinks.k2.hdfs.rollInterval = 60
a2.sinks.k2.hdfs.rollsize = 128000000
a2.sinks.k2.hdfs.rollCount = 0
a2.sinks.k2.hdfs.useLocalTimeStamp = true
a2.sinks.k2.hdfs.minBlockReplicas = 1
# Use a channel which buffers events in memory
a2.channels.c2.type = memory
a2.channels.c2.capacity = 1000
a2.channels.c2.transactionCapacity = 100

# Bind the source and sink to the channel
a2.sources.r2.channels = c2
a2.sinks.k2.channel = c2 

1.5 运行agent 处理

bin/flume-ng agent --conf conf --conf-file conf/hive-conf.properties --name a2 

1.6 写入hive 的log日志文件测试:

cd /home/hadoop/yangyang/hive/logs
echo "111" >> hive.log 

每隔一段时间执行上面的命令测试

1.7 去hdfs 上面去查看:

原文地址:http://blog.51cto.com/flyfish225/2097381

时间: 2024-10-10 12:48:59

flume 监控hive日志文件的相关文章

Flume采集处理日志文件

Flume简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力. 系统功能 日志收集 Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据. 数据处理 Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的

实时监听hive日志文件,并将内容打印到控制台上

1:在flume/job下配置flume-file-logger.conf配置文件 2:在flume根目录下开启监听(注意,如果当天没有使用hive产生过日志文件的话先操作hive产生当天日志文件) 3:操作hive产生日志文件,查看控制台 原文地址:https://www.cnblogs.com/lihui001/p/12684383.html

MS SQL 监控数据/日志文件增长

前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统业务猛增导致数据量暴增,还是历史数据累计原因....分析总得有数据来支撑吧,但是现在只有那些数据文件的当前大小信息,没有数据文件的历史增长变化信息,所以,今天就想实现这么一个功能,每天(频率可以调整)去收集一下数据文件的信息,放到一个表里面,这样方便我们

Zabbix监控网络设备日志文件及字段报警

一.首先就是配置网络设备日志传送到zabbix存放日志的指定目录,一般目录为/var/log/需要配置rsyslog.conf根据需求添加tcp或者udp或者都添加字段 # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514添加定义存放目录文件字段:# Save Debug Messa

日志文件报警监控脚本(可用于zabbix监控文件)测试中...

因业务要求,需要对某些日志文件中出现的关键字进行监控,所以写了个脚本用于直接用zabbix调用并返回超出阈值的监控项. 主要用来替代zabbix自带的文件监控项.可以对一台机器上的多个日志文件,多个触发阈值进行监控.不用配置多条zabbix监控项及触发器. 也许将来会逐步增加其他奇怪的监控内容 脚本代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- # Author: ColinShi import sys, os import datetim

flume 增量上传日志文件到HDFS中

1.采集日志文件时一个很常见的现象 采集需求:比如业务系统使用log4j生成日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs中. 1.1.根据需求,首先定义一下3大要素: 采集源,即source-监控日志文件内容更新:exec 'tail -F file' 下沉目标,即sink-HDFS文件系统:hdfs sink Source和sink之间 1.采集日志文件时一个很常见的现象 采集需求:比如业务系统使用log4j生成日志,日志内容不断增加,需要把追加到日志文件中的数据实时

消费滚动滴log日志文件(flume监听,kafka消费,zookeeper协同)

第一步:数据源 手写程序实现自动生成如下格式的日志文件: 15837312345,13737312345,2017-01-09 08:09:10,0360 打包放到服务器,使用如下命令执行,模拟持续不断的日志文件: java -cp ct_producter-1.0-SNAPSHOT.jar producter.ProductLog ./awen.tsv 第二步:监听log.tsv日志 使用Flume监控滚动的awen.tsv日志,编写flume # Name the components on

大数据技术之_18_大数据离线平台_02_Nginx+Mysql+数据收集+Web 工程 JS/JAVA SDK 讲解+Flume 故障后-如何手动上传 Nginx 日志文件至 HDFS 上

十一.Nginx11.1.介绍11.2.常见其他 Web 服务器11.3.版本11.4.Nginx 安装11.5.目录结构11.6.操作命令十二.Mysql12.1.介绍12.2.关系型数据库(SQL)种类12.3.特征12.4.术语12.4.与非关系型数据库比较(Not Only SQL)12.4.1.种类12.4.2.特征12.4.3.总结十三.数据收集13.1.收集方式13.2.数据的事件类型13.2.1.Launch 事件13.2.2.PageView 事件13.3.Nginx 日志收集

用于监控日志文件的是否被修改的脚本

最近一段需要监控观察web服务器上的日志文件是否有写入,用来判断是否服务进程是否是正常,为此就简单写了一个脚本: #!/bin/bash #check_logfile_io.sh #Used to monitor logs I/O #writer jim #histor #2017.3.22 log_file_path=/usr/local/apache/log/access.log First_md5sum=$(/usr/bin/md5sum $log_file_path | awk '{pr