大数据日志分析:
1.背景
1.1 黑马论坛日志,数据分为两部分,原来是一个大文件56G,以后每天生成一个文件
1.2日志格式是apache common日志格式
1.3分析一些核心指标,供运营决策者使用
1.4开发该系统的目的是为了获取一些业务相关的指标,这些指标在第三方工具(谷歌统计,百度统计,cnzz统计)中无法获得。
2.开发步骤
2.1把日志数据上传到HDFS中进行处理
如果是日志服务器数据较小,压力较小,可以直接使用shell命令直接把数据上传到HDFS中
如果日志服务器数据较大,压力较大,使用NFS在另一台服务器上上传数据
如果日志服务器数据非常多,数据量大,使用flume进行数据处理
2.2使用MapRedece对HDFS中的原始数据进行清洗
2.3使用HIVE对清洗后的数据进行统计分析
2.4使用Sqoop把Hive产生的统计结果导出到mysql中
2.5如果用户需要查看详细数据的话,可以使用HBase进行展现
3.详情代码
3.1使用shell命令把数据从linux磁盘上传到HDFS中
3.1.1在hdfs中创建目录,命令如下
$HADOOP_HOME/bin/hadoop fs -mkdir /hmbbs_logs
3.1.2写_一个shell脚本,叫做upload_to_hdfs.sh,内容大致如下:
yesterday='day --date='1 days ago' =%Y_%m_%d'
$HADOOP_HOME/bin/hadoop fs -put /apache_logs/access_${yesterday}.log /hmbbs_logs
3.1.3 把upload_to_hdfs.sh配置到crontab中,执行命令crontab -e,写法如下
* 1 * * * updata_to_hdfs.sh(晚上一点定时上传到hdfs中)