实时计算业务介绍实时日志分析
4.1 实时计算业务介绍
学习目标
- 目标
- 了解实时计算的业务需求
- 知道实时计算的作用
- 应用
- 无
4.1.1 实时计算业务需求
实时(在线)计算:
- 解决用户冷启动问题
- 实时计算能够根据用户的点击实时反馈,快速跟踪用户的喜好
4.1.2 实时计算业务图
4.2 实时日志分析
学习目标
- 目标
- 了解实时计算的业务需求
- 知道实时计算的作用
- 应用
- 无
日志数据我们已经收集到hadoop中,但是做实时分析的时候,我们需要将每个时刻用户产生的点击行为收集到KAFKA当中,等待spark streaming程序去消费。
4.2.1 Flume收集日志到Kafka
- 目的:收集本地实时日志行为数据,到kafka
- 步骤:
- 1、开启zookeeper以及kafka测试
- 2、创建flume配置文件,开启flume
- 3、开启kafka进行日志写入测试
- 4、脚本添加以及supervisor管理
开启zookeeper,需要在一直在服务器端实时运行,以守护进程运行
/root/bigdata/kafka/bin/zookeeper-server-start.sh -daemon /root/bigdata/kafka/config/zookeeper.properties
以及kafka的测试:
/root/bigdata/kafka/bin/kafka-server-start.sh /root/bigdata/kafka/config/server.properties
测试
开启消息生产者
/root/bigdata/kafka/bin/kafka-console-producer.sh --broker-list 192.168.19.19092 --sync --topic click-trace开启消费者
/root/bigdata/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.19.137:9092 --topic click-trace
2、修改原来收集日志的文件,添加flume收集日志行为到kafka的source, channel, sink
a1.sources = s1
a1.sinks = k1 k2
a1.channels = c1 c2a1.sources.s1.channels= c1 c2
a1.sources.s1.type = exec
a1.sources.s1.command = tail -F /root/logs/userClick.log
a1.sources.s1.interceptors=i1 i2
a1.sources.s1.interceptors.i1.type=regex_filter
a1.sources.s1.interceptors.i1.regex=\\{.*\\}
a1.sources.s1.interceptors.i2.type=timestamp# channel1
a1.channels.c1.type=memory
a1.channels.c1.capacity=30000
a1.channels.c1.transactionCapacity=1000# channel2
a1.channels.c2.type=memory
a1.channels.c2.capacity=30000
a1.channels.c2.transactionCapacity=1000# k1
a1.sinks.k1.type=hdfs
a1.sinks.k1.channel=c1
a1.sinks.k1.hdfs.path=hdfs://192.168.19.137:9000/user/hive/warehouse/profile.db/user_action/%Y-%m-%d
a1.sinks.k1.hdfs.useLocalTimeStamp = true
a1.sinks.k1.hdfs.fileType=DataStream
a1.sinks.k1.hdfs.writeFormat=Text
a1.sinks.k1.hdfs.rollInterval=0
a1.sinks.k1.hdfs.rollSize=10240
a1.sinks.k1.hdfs.rollCount=0
a1.sinks.k1.hdfs.idleTimeout=60# k2
a1.sinks.k2.channel=c2
a1.sinks.k2.type=org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k2.kafka.bootstrap.servers=192.168.19.137:9092
a1.sinks.k2.kafka.topic=click-trace
a1.sinks.k2.kafka.batchSize=20
a1.sinks.k2.kafka.producer.requiredAcks=1
3、开启flume新的配置进行测试, 开启之前关闭之前的flume程序
#!/usr/bin/env bashexport JAVA_HOME=/root/bigdata/jdk
export HADOOP_HOME=/root/bigdata/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin/root/bigdata/flume/bin/flume-ng agent -c /root/bigdata/flume/conf -f /root/bigdata/flume/conf/collect_click.conf -Dflume.root.logger=INFO,console -name a1
开启kafka脚本进行测试,把zookeeper也放入脚本中,关闭之前的zookeeper
#!/usr/bin/env bash# /root/bigdata/kafka/bin/zookeeper-server-start.sh -daemon /root/bigdata/kafka/config/zookeeper.properties/root/bigdata/kafka/bin/kafka-server-start.sh /root/bigdata/kafka/config/server.properties/root/bigdata/kafka/bin/kafka-topics.sh --zookeeper 192.168.19.137:2181 --create --replication-factor 1 --topic click-trace --partitions 1
4.2.2 super添加脚本
[program:kafka]
command=/bin/bash /root/toutiao_project/scripts/start_kafka.sh
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/root/logs/kafka.log
loglevel=info
stopsignal=KILL
stopasgroup=true
killasgroup=true
supervisor进行update
4.2.3 测试
开启Kafka消费者
/root/bigdata/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.19.137:9092 --topic click-trace
写入一次点击数据:
echo {\"actionTime\":\"2019-04-10 21:04:39\",\"readTime\":\"\",\"channelId\":18,\"param\":{\"action\": \"click\", \"userId\": \"2\", \"articleId\": \"14299\", \"algorithmCombine\": \"C2\"}} >> userClick.log
观察消费者结果
[root@hadoop-master ~]# /root/bigdata/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.19.137:9092 --topic click-trace
{"actionTime":"2019-04-10 21:04:39","readTime":"","channelId":18,"param":{"action": "click", "userId": "2", "articleId": "14299
实时计算业务介绍实时日志分析相关推荐
- Spark Streaming实时计算框架介绍
随着大数据的发展,人们对大数据的处理要求也越来越高,原有的批处理框架MapReduce适合离线计算,却无法满足实时性要求较高的业务,如实时推荐.用户行为分析等. Spark Streaming是建立在 ...
- 大数据实时计算流程介绍
实时计算是常见的大数据计算场景.业务部门需要实时反馈产品的被点击.浏览.收藏.购买.评价等数据,对时延的要求一般是秒级,甚至毫秒级.而批处理计算引擎一般需要几分钟或者几小时才能返回结果,显然无法满足该 ...
- Python黑马头条推荐系统第三天 实时计算和召回业务、推荐业务流实现与ABTest
实时计算业务 4.1 实时计算业务介绍 学习目标 目标 了解实时计算的业务需求 知道实时计算的作用 应用 无 4.1.1 实时计算业务需求 实时(在线)计算: 解决用户冷启动问题 实时计算能够根据用户 ...
- 实时计算 Flink 版总体介绍
简介:实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache F ...
- 基于 Apache Flink 的实时计算数据流业务引擎在京东零售的实践和落地
摘要:本文整理自京东零售-技术研发与数据中心张颖&闫莉刚在 ApacheCon Asia 2022 的分享.内容主要包括五个方面: 京东零售实时计算的现状 实时计算框架 场景优化:TopN 场 ...
- 如何使用实时计算 Flink 搞定实时数据处理难题?
简介:如何使用实时计算 Flink 搞定实时数据处理难题?本文由阿里巴巴高级技术专家邓小勇老师分享,从实时计算的历史回顾着手,详细介绍了阿里云实时计算 Flink 的核心优势与应用场景,文章内容主要分 ...
- Oceanus:基于Apache Flink的一站式实时计算平台
Flink Forward是由Apache官方授权,用于介绍Flink社区的最新动态.发展计划以及Flink相关的生产实践经验的会议.2018年12月20日,Flink Forward首次来到中国举办 ...
- kylin如何支持flink_日均万亿条数据如何处理?爱奇艺实时计算平台这样做
1.爱奇艺 Flink 服务现状 爱奇艺从 2012 年开始开展大数据业务,一开始只有二十几个节点,主要是 MapReduce.Hive 等离线计算任务.到 2014 年左右上线了 Storm.Spa ...
- 实时化或成必然趋势?新一代 Serverless 实时计算引擎
作者:高旸(吾与),阿里巴巴高级产品专家 本文由阿里巴巴高级产品专家高旸(吾与)分享,主要介绍新一代Serverless实时计算引擎的产品特性及核心功能. 一.实时计算 Flink 版 – 产品定位与 ...
最新文章
- 虚拟机下判断文件或目录是否存在
- boost::mpl模块实现copy相关的测试程序
- 超小型php框架,MiniFramework
- img解包工具_3、Linux基础命令篇、压缩打包工具
- 进程的退出方式以及僵尸进程和孤儿进程
- jaxb xsd生成xml_使用JAXB从XSD生成XML
- 找出二维数组中每行的最小数但最小数的列不能相同
- 【Java】扑克牌の顺子Judge
- 传智播客 Html基础知识学习笔记
- (四)为深度伪造预处理数据集
- php算法两数之和 复杂度,每天一道leetcode算法题:两数之和-php版
- 【verilog教程】第9篇:verilog常见问题合集
- Pandas学习笔记(6)Renaming and Combining
- progress GAN
- python : folium
- 水文气象学数据可视化——Panoply软件的下载
- tshark常用命令
- python:逻辑与或(and、or),按位与或异或(、|、^),逻辑短路
- 前端学习(8)下拉框、文本域、文件域
- CSS Sprites定位实现
热门文章
- 当出现Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this
- ruok is not executed because it is not in the whitelist.
- js 跳转到指定页面
- Uber 背后的 PB 级数据治理之路
- 史上最详细log4j使用文档
- php twig if,如何使用短语法使用Twig检查变量是否存在以及是否为空
- 【Linux设置系统时间】
- 【论文阅读】深度学习去雾1——论文精选
- 【keras】keras教程(参考官方文档)
- ubuntu中git安装与配置 / git clone git@github.com失败