Flume:Agent应用--实时监控读取日志数据,存储hdfs文件系统

一、任务描述
1.收集hive 运行的log日志(source)
      /opt/cloudera/hive/logs/hive.log
      读取文件内容目录命令:tail -f
2.内存(channel)
3.存储在HDFS上(sink)
二、创建agent文件

创建一个agent配置文件:agent.conf

$ cd flume/conf
$ sudo cp flume-conf.properties.template agent.conf
$ sudo vim agent.conf

修改agent.conf文件内容如下所示:

# 定义一个agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -f /opt/cloudera/hive/logs/hive.log
a1.sources.r1.shell = /bin/sh -c

# Describe the sink 
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://Master:9000/user/hadoop/flume/hive-log
a1.sinks.k1.hdfs.fileType = DataStream
a1.sinks.k1.hdfs.writeFormat = Text
a1.sinks.k1.hdfs.batchSize = 10

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# 通过channel将source与sink连接起来 
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
三、执行命令
$ cd flume
$ ./bin/flume-ng agent \
> --conf conf \
> --name agent \
> --conf-file agent.conf

结果显示:

2018-08-15 05:13:20,988 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.hdfs.BucketWriter.open(BucketWriter.java:251)] Creating hdfs://Master:9000/user/hadoop/flume/hive-log/FlumeData.1534335148147.tmp
2018-08-15 05:13:21,002 (hdfs-k1-call-runner-7) [DEBUG - org.apache.flume.sink.hdfs.AbstractHDFSWriter.reflectGetNumCurrentReplicas(AbstractHDFSWriter.java:200)] Using getNumCurrentReplicas--HDFS-826
2018-08-15 05:13:21,002 (hdfs-k1-call-runner-7) [DEBUG - org.apache.flume.sink.hdfs.AbstractHDFSWriter.reflectGetDefaultReplication(AbstractHDFSWriter.java:228)] Using FileSystem.getDefaultReplication(Path) from HADOOP-8014
2018-08-15 05:13:21,006 (SinkRunner-PollingRunner-DefaultSinkProcessor) [DEBUG - org.apache.flume.sink.hdfs.BucketWriter.shouldRotate(BucketWriter.java:618)] rolling: rollCount: 10, events: 10
2018-08-15 05:13:21,007 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.hdfs.BucketWriter.close(BucketWriter.java:393)] Closing hdfs://Master:9000/user/hadoop/flume/hive-log/FlumeData.1534335148147.tmp
2018-08-15 05:13:21,010 (hdfs-k1-call-runner-2) [INFO - org.apache.flume.sink.hdfs.BucketWriter$8.call(BucketWriter.java:655)] Renaming hdfs://Master:9000/user/hadoop/flume/hive-log/FlumeData.1534335148147.tmp to hdfs://Master:9000/user/hadoop/flume/hive-log/FlumeData.1534335148147

此时,我们通过进入hive命令行执行相关命令,产生日志,则flume则可进行收集。

$ cd hive/
$ ./bin/hive
hive (default)> show tables;

查看hdfs上,在agent.conf中配置的文件夹:/user/hadoop/flume/hive-log

$ cd hadoop/
$ ./bin/hdfs dfs -ls /user/hadoop/flume/hive-log
结果显示如下:
Found 5 items
-rw-r--r--   1 hadoop supergroup       1158 2018-08-15 05:06 /user/hadoop/flume/hive-log/FlumeData.1534334788517
-rw-r--r--   1 hadoop supergroup       1036 2018-08-15 05:06 /user/hadoop/flume/hive-log/FlumeData.1534334788518
-rw-r--r--   1 hadoop supergroup       1036 2018-08-15 05:07 /user/hadoop/flume/hive-log/FlumeData.1534334788519
-rw-r--r--   1 hadoop supergroup       1225 2018-08-15 05:07 /user/hadoop/flume/hive-log/FlumeData.1534334788520
-rw-r--r--   1 hadoop supergroup        847 2018-08-15 05:07 /user/hadoop/flume/hive-log/FlumeData.1534334788521.tmp

查看收集文件的内容:

$ ./bin/hdfs dfs -cat /user/hadoop/flume/hive-log/FlumeData.1534334788517
结果显示如下(hive运行日志信息):
2018-08-15 05:03:31,525 INFO  [main]: ql.Driver (Driver.java:compile(570)) - Semantic Analysis Completed
2018-08-15 05:03:31,526 INFO  [main]: ql.Driver (Driver.java:getSchema(303)) - Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:tab_name, type:string, comment:from deserializer)], properties:null)
2018-08-15 05:03:31,530 INFO  [main]: ql.Driver (Driver.java:compile(690)) - Completed compiling command(queryId=hadoop_20180815050303_474cafaf-4338-4a93-b861-11e0d1297a42); Time taken: 0.01 seconds
2018-08-15 05:03:31,531 INFO  [main]: ql.Driver (Driver.java:checkConcurrency(223)) - Concurrency mode is disabled, not creating a lock manager
2018-08-15 05:03:31,531 INFO  [main]: ql.Driver (Driver.java:execute(1656)) - Executing command(queryId=hadoop_20180815050303_474cafaf-4338-4a93-b861-11e0d1297a42): show tables
2018-08-15 05:03:31,531 INFO  [main]: ql.Driver (Driver.java:launchTask(2050)) - Starting task [Stage-0:DDL] in serial mode
2018-08-15 05:03:31,561 INFO  [main]: ql.Driver (Driver.java:execute(1958)) - Completed executing command(queryId=hadoop_20180815050303_474cafaf-4338-4a93-b861-11e0d1297a42); Time taken: 0.03 seconds

至此结束!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容

  • title: Flume构建日志采集系统date: 2018-02-03 19:45tags: [flume,k...
    溯水心生阅读 16,132评论 3 25
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,267评论 0 34
  • 心安静在山水间,无喜无忧也无烦恼,尽情享受在自然的怀抱,尽情把心情释放。隐隐的疼痛渐渐化疗、浓浓的相思渐渐随着白云...
    浅烟_老刚阅读 180评论 2 1
  • 你有没有像《致青春》里那样,为了一个人穿梭在城市之间,看着轨道由弯曲变得垂直,看着夕阳变成晨光?你有没有把几个月省...
    熊猫微刊阅读 265评论 1 4
  • 那应该是我最勇敢,最拼命的一次。学校举办故事大赛,每个班级要选出几个人参加,而我,无一例外地成为参赛者之一...
    Sara_馨阅读 245评论 0 0