实时监控 Hive 日志,并上传到 HDFS 中

实现步骤

1、Flume 要想将数据输出到 HDFS,必须持有 Hadoop 相关 jar 包

commons-configuration-1.6.jar、hadoop-auth-2.7.2.jar、hadoop-common-2.7.2.jar、hadoop-hdfs-2.7.2.jar、commons-io-2.4.jar、htrace-core-3.1.0-incubating.jar

准备好以上这些包拷贝到/opt/module/flume/lib 文件夹下。

2、创建 flume-file-hdfs.conf 文件

进入flume下的job目录创建文件

cd /opt/module/flume/jobvim flume-file-hdfs.conf

添加如下内容

# Name the components on this agenta2.sources = r2a2.sinks = k2a2.channels = c2# Describe/configure the sourcea2.sources.r2.type = execa2.sources.r2.command = tail -F /opt/module/hive/logs/hive.loga2.sources.r2.shell = /bin/bash -c# Describe the sinka2.sinks.k2.type = hdfsa2.sinks.k2.hdfs.path = hdfs://hadoop101:9000/flume/%Y%m%d/%H#上传文件的前缀a2.sinks.k2.hdfs.filePrefix = logs-#是否按照时间滚动文件夹a2.sinks.k2.hdfs.round = true#多少时间单位创建一个新的文件夹a2.sinks.k2.hdfs.roundValue = 1#重新定义时间单位a2.sinks.k2.hdfs.roundUnit = hour#是否使用本地时间戳a2.sinks.k2.hdfs.useLocalTimeStamp = true#积攒多少个 Event 才 flush 到 HDFS 一次a2.sinks.k2.hdfs.batchSize = 1000#设置文件类型,可支持压缩a2.sinks.k2.hdfs.fileType = DataStream#多久生成一个新的文件a2.sinks.k2.hdfs.rollInterval = 60#设置每个文件的滚动大小a2.sinks.k2.hdfs.rollSize = 134217700#文件的滚动与 Event 数量无关a2.sinks.k2.hdfs.rollCount = 0# Use a channel which buffers events in memorya2.channels.c2.type = memorya2.channels.c2.capacity = 1000a2.channels.c2.transactionCapacity = 100# Bind the source and sink to the channela2.sources.r2.channels = c2a2.sinks.k2.channel = c2

(1)要想读取 Linux 系统中的文件,就得按照 Linux 命令的规则执行命令。由于 Hive 日志在 Linux 系统中所以读取文件的类型选择:exec 即 execute 执行的意思。表示执行 Linux命令来读取文件。

(2)对于所有与时间相关的转义序列,Event Header 中必须存在以 “timestamp”的 key(除非hdfs.useLocalTimeStamp 设置为 true,此方法会使用 TimestampInterceptor 自动添加timestamp)。

a3.sinks.k3.hdfs.useLocalTimeStamp = true

3、运行 Flume

cd /opt/module/flumebin/flume-ng agent --conf conf/ --name a2 --conf-file job/flume-file-hdfs.conf

4、开启 Hadoop 和 Hive 并操作 Hive 产生日志

[hd@hadoop101 hadoop-2.7.2]$ sbin/start-dfs.sh[hd@hadoop102 hadoop-2.7.2]$ sbin/start-yarn.sh[hd@hadoop103 hive]$ bin/hivehive (default)

5、在 HDFS 上查看文件。

hive读取hdfs存放文件_数据获取层之Flume快速入门(一) 实时监控单个追加文件相关推荐

  1. hive读取hdfs存放文件_Hive基本概念

    1.1 Hive简介 1.1.1 什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.1.2 为什么使用Hive 直接 ...

  2. python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解

    使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...

  3. apk图标存放位置_安卓系统下安装完apk程序后,具体的文件夹位置在哪里呢?

    展开全部 有的程序的文件夹是自动建立在sd卡上的,有的程序是没有文件夹的,程序位于32313133353236313431303231363533e59b9ee7ad9431333365666238d ...

  4. influxdb tsm文件_利用InfluxDB+Grafana搭建Flink on YARN作业监控大屏

    Flink 从入门到精通 系列文章 前言 虽然笔者之前写过基于Prometheus PushGateway搭建Flink监控的过程,但是在我们的生产环境中,使用的是InfluxDB.InfluxDB是 ...

  5. java中io流如何创建一个文件_,Java中Io流操作-File类的常用操作-创建文件,创建文件夹...

    package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...

  6. creo打不开stp文件_为什么stp网站打不开 creo打不开stp文件

    把stp文件后缀改成step怎么打不开,怎么样才能打开? 文件后缀为STEP的格式是可用于交换CAD,计算机辅助制造,计算机辅助工程,产品数据管理/ EDM等的CAx系统之间的数据的ISO标准交换格式 ...

  7. mac 命令行 解压7z文件_如何在Mac上快速压缩和解压文件?Mac上解压和压缩文件的方法...

    苹果mac电脑怎么压缩和解压文件?Mac电脑仅默认支持把文件压缩成zip格式,解压成zip.tar.gz,bz2等格式,有些操作需要安装第三方软件来完成,这篇文章为大家带来几种关于在Mac上解压和压缩 ...

  8. 怎么更新opengl.dll文件_微信又更新了:群接龙怎么玩?文件如何备份?怎么发高清大视频?...

    微信又更新了,这些新功能好用吗https://www.zhihu.com/video/1169996029444481024 微信在前两天又更新了,这次带来了几个全新的功能,比如微信电脑端可以直接打开 ...

  9. 翻录cda文件_翻录电视连续剧DVD并转换为单独的H.264 MP4文件

    翻录cda文件 Would you like to rip an entire TV Series disc set and convert the episodes to individual MP ...

最新文章

  1. spring中AnnotationUtils的设计
  2. python fromfile_python之numpy文件操作
  3. Spring MVC 和 Spring 总结
  4. python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值
  5. 数据库02_字段类型
  6. JavaScript的运动 —— 缓冲运动及其应用篇
  7. HTML与CSS基础之伪类选择器(三)
  8. 魅族16T“巨型”包装盒引人注目:旁边的16s Pro不要面子啊
  9. 全网首发:制作LINUX安装软件包,要处理哪些系统目录和文件(3)
  10. Pyqt之exec()和show()与弹出自定义对话框
  11. 【python文本分析】——基于股评文本的情绪分析
  12. Java开发揭秘!java反射和映射机制
  13. ASP.NET Core使用Session
  14. Java图书管理系统登陆界面
  15. android字体文件制作教程,Android使用自定义字体
  16. app模式会被第三方平台模式取代吗_第三方APP逐渐被替代?网友:手机自带的足够用了...
  17. cpua55和a53哪个好_OPPOA55和OPPOA53哪个好-参数对比-更值得入手
  18. python 表示2的n次方
  19. 洛谷P1244 青蛙过河 DP/思路
  20. IDEA 警告 the package is not inside non-bundled dependency

热门文章

  1. 华为服务器上传文件后怎么通过链接查看,远程服务器文件上传后的操作
  2. python类中变量作用域_Python中的变量作用域
  3. 【Python基础知识-pycharm版】第四节-元组
  4. 小案例:编写立方体六个面,合成一张全景图后端
  5. ab的plc跟西门子哪个好些_2020滚筒洗衣机哪个牌子好?想买滚筒洗衣机的看过来!...
  6. 论文阅读翻译(全)【一直更新】
  7. 一份从入门到精通NLP的完整指南 | NLPer
  8. 阿里P8架构师谈:JVM的内存分配、运行原理、回收算法机制
  9. 论文浅尝 | 以知识图谱为基础的开放域对话生成的目标规划
  10. 以史为鉴 | 为什么要将「知识图谱」追溯到1956年?