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

实时计算业务介绍实时日志分析相关推荐

  1. Spark Streaming实时计算框架介绍

    随着大数据的发展,人们对大数据的处理要求也越来越高,原有的批处理框架MapReduce适合离线计算,却无法满足实时性要求较高的业务,如实时推荐.用户行为分析等. Spark Streaming是建立在 ...

  2. 大数据实时计算流程介绍

    实时计算是常见的大数据计算场景.业务部门需要实时反馈产品的被点击.浏览.收藏.购买.评价等数据,对时延的要求一般是秒级,甚至毫秒级.而批处理计算引擎一般需要几分钟或者几小时才能返回结果,显然无法满足该 ...

  3. Python黑马头条推荐系统第三天 实时计算和召回业务、推荐业务流实现与ABTest

    实时计算业务 4.1 实时计算业务介绍 学习目标 目标 了解实时计算的业务需求 知道实时计算的作用 应用 无 4.1.1 实时计算业务需求 实时(在线)计算: 解决用户冷启动问题 实时计算能够根据用户 ...

  4. 实时计算 Flink 版总体介绍

    简介:实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache F ...

  5. 基于 Apache Flink 的实时计算数据流业务引擎在京东零售的实践和落地

    摘要:本文整理自京东零售-技术研发与数据中心张颖&闫莉刚在 ApacheCon Asia 2022 的分享.内容主要包括五个方面: 京东零售实时计算的现状 实时计算框架 场景优化:TopN 场 ...

  6. 如何使用实时计算 Flink 搞定实时数据处理难题?

    简介:如何使用实时计算 Flink 搞定实时数据处理难题?本文由阿里巴巴高级技术专家邓小勇老师分享,从实时计算的历史回顾着手,详细介绍了阿里云实时计算 Flink 的核心优势与应用场景,文章内容主要分 ...

  7. Oceanus:基于Apache Flink的一站式实时计算平台

    Flink Forward是由Apache官方授权,用于介绍Flink社区的最新动态.发展计划以及Flink相关的生产实践经验的会议.2018年12月20日,Flink Forward首次来到中国举办 ...

  8. kylin如何支持flink_日均万亿条数据如何处理?爱奇艺实时计算平台这样做

    1.爱奇艺 Flink 服务现状 爱奇艺从 2012 年开始开展大数据业务,一开始只有二十几个节点,主要是 MapReduce.Hive 等离线计算任务.到 2014 年左右上线了 Storm.Spa ...

  9. 实时化或成必然趋势?新一代 Serverless 实时计算引擎

    作者:高旸(吾与),阿里巴巴高级产品专家 本文由阿里巴巴高级产品专家高旸(吾与)分享,主要介绍新一代Serverless实时计算引擎的产品特性及核心功能. 一.实时计算 Flink 版 – 产品定位与 ...

最新文章

  1. 虚拟机下判断文件或目录是否存在
  2. boost::mpl模块实现copy相关的测试程序
  3. 超小型php框架,MiniFramework
  4. img解包工具_3、Linux基础命令篇、压缩打包工具
  5. 进程的退出方式以及僵尸进程和孤儿进程
  6. jaxb xsd生成xml_使用JAXB从XSD生成XML
  7. 找出二维数组中每行的最小数但最小数的列不能相同
  8. 【Java】扑克牌の顺子Judge
  9. 传智播客 Html基础知识学习笔记
  10. (四)为深度伪造预处理数据集
  11. php算法两数之和 复杂度,每天一道leetcode算法题:两数之和-php版
  12. 【verilog教程】第9篇:verilog常见问题合集
  13. Pandas学习笔记(6)Renaming and Combining
  14. progress GAN
  15. python : folium
  16. 水文气象学数据可视化——Panoply软件的下载
  17. tshark常用命令
  18. python:逻辑与或(and、or),按位与或异或(、|、^),逻辑短路
  19. 前端学习(8)下拉框、文本域、文件域
  20. CSS Sprites定位实现

热门文章

  1. 当出现Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this
  2. ruok is not executed because it is not in the whitelist.
  3. js 跳转到指定页面
  4. Uber 背后的 PB 级数据治理之路
  5. 史上最详细log4j使用文档
  6. php twig if,如何使用短语法使用Twig检查变量是否存在以及是否为空
  7. 【Linux设置系统时间】
  8. 【论文阅读】深度学习去雾1——论文精选
  9. 【keras】keras教程(参考官方文档)
  10. ubuntu中git安装与配置 / git clone git@github.com失败