登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 624|回复: 0

【大数据每日一课】第九课 案例1:开发shell采集脚本

[复制链接]

 成长值: 35695

8169

主题

7094

帖子

6831

现金

黑狼创办人

Rank: 12Rank: 12Rank: 12

积分
6831
发表于 2017-10-13 05:24:06 | 显示全部楼层 |阅读模式 来自 美国
8.1需求说明

点击流日志每天都10T在业务应用服务器上,需要准实时上传数据仓库(Hadoop HDFS)上
8.2需求分析

一般上传文件都是在凌晨24点操作,由于很多种类的业务数据都要在晚上进行传输,为了减轻服务器的压力,避开高峰期
如果需要伪实时的上传,则采用定时上传的方式


8.3技术分析

HDFS SHELL: hadoop fs put xxxx.tar /data 还可以使用 Java Api
满足上传一个文件,不能满足定时、周期性传入。
定时调度器
Linux crontab
crontab -e
*/5 * * * * $home/bin/command.sh//五分钟执行一次
系统会自动执行脚本,每5分钟一次,执行时判断文件是否符合上传规则,符合则上传
8.4实现流程

8.4.1日志产生程序

日志产生程序将日志生成后,产生一个一个的文件,使用滚动模式创建文件名。
x5kk093b1a9R08A0.jpg
日志生成的逻辑由业务系统决定,比如在log4j配置文件中配置生成规则,如:xxxx.log 等于10G时,滚动生成新日志
log4j.logger.msg=info,msg
log4j.appender.msg=cn.maoxiangyi.MyRollingFileAppender
log4j.appender.msg.layout=org.apache.log4j.PatternLayout
log4j.appender.msg.layout.ConversionPattern=%m%n
log4j.appender.msg.datePattern='.'yyyy-MM-dd
log4j.appender.msg.Threshold=info
log4j.appender.msg.append=true
log4j.appender.msg.encoding=UTF-8
log4j.appender.msg.MaxBackupIndex=100
log4j.appender.msg.MaxFileSize=10GB
log4j.appender.msg.File=/home/hadoop/logs/log/access.log




上一篇:用Python从头开发一个自己的Shell(下)
下一篇:利用Shell开发跳板机
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-4-29 06:42 , Processed in 0.108297 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表