Kafka+Spark Streaming+Redis小项目_自己实践成功

自己实践成功后的代码放在以下百度网盘账号下:

链接:https://pan.baidu.com/share/init?surl=WD1Kjfw5GOpdmQIk3KnyaA
提取码:4g8c

这个项目主题思路是:
    手机客户端会收集用户的行为事件(我们以点击事件为例),将数据发送到数据服务器,
我们假设这里直接进入到Kafka消息队列
    后端的实时服务会从Kafka消费数据,将数据读出来并进行实时分析,
这里选择Spark Streaming,因为Spark Streaming提供了与Kafka整合的内置支持
    经过Spark Streaming实时计算程序分析,将结果写入Redis,
可以实时获取用户的行为数据,并可以导出进行离线综合统计分析

需要用到的工具: 
安装zookeer: 
http://blog.csdn.net/w3045872817/article/category/7231592 
安装redis: 
http://blog.csdn.net/w3045872817/article/details/78728946 
安装kafka: 
http://blog.csdn.net/w3045872817/article/category/7231591 
安装spark: 
http://blog.csdn.net/w3045872817/article/details/78289805 
redis客户端管理工具: 
https://redisdesktop.com/

kafka客户端管理工具: 
http://www.kafkatool.com/download.html

项目的github路径:https://github.com/Ericjeff/kafka-sparkStreaming-redis

原文地址:https://blog.csdn.net/w3045872817/article/details/78729085

 

扩展:上面的Spark Streaming的分析代码,是在本地执行的(  .setMaster("local[*]"))。如何将代码部署到Spark 集群中作为一个Application执行呢?

(1)   val conf = new SparkConf().setAppName("UserClikAnalysis")
    //在spark集群上跑的时候注释掉!!!!
    //      .setMaster("local[*]")

(2)把pom.xml中依赖的jar都打进Export的jar包中。在pom.xml中加入   

<plugin>
	<artifactId>maven-assembly-plugin</artifactId>
	<executions>
		<execution>
			<phase>package</phase>
			<goals>
				<goal>single</goal>
			</goals>
		</execution>
	</executions>
	<configuration>
		<descriptorRefs>
			<!-- 将依赖一起打包到 JAR -->
			<descriptorRef>jar-with-dependencies</descriptorRef>
		</descriptorRefs>
	</configuration>
</plugin>

加入以上代码后,在项目上右键=》export =》jar,

(3)spark上执行jar包命令:./bin/spark-submit --class com.imooc.streaming.UserClikAnalysis --master spark://master:7077 --deploy-mode cluster --supervise --executor-memory 1G --total-executor-cores 1 /usr/local/spark-2.1.2//myjars/kafka_sparkStreaming_redis-1.0-SNAPSHOT-jar-with-dependencies.jar 100

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据应用场景提供明显的加速。存储层:HDFS作为底层存储,Hive作为数据仓库 (Hive Metastore:Hive管理数据的schema) 离线数据处理:SparkSQL (做数据查询引擎<===> 数据ETL) 实时数据处理:Kafka + Spark Streaming 数据应用层:MLlib 产生一个模型 als算法 数据展示和对接:Zeppelin 选用考量: HDFS不管是在存储的性能,稳定性 吞吐量 都是在主流文件系统中很占有优势的 如果感觉HDFS存储还是比较慢,可以采用SSD硬盘等方案。存储模块:搭建和配置HDFS分布式存储系统,并Hbase和MySQL作为备用方案。 ETL模块:加载原始数据,清洗,加工,为模型训练模块 和 推荐模块 准备所需的各种数据。 模型训练模块:负责产生模型,以及寻找最佳的模型。 推荐模块:包含离线推荐和实时推荐,离线推荐负责把推荐结果存储到存储系统中实时推荐负责产生实时的消息队列,并且消费实时消息产生推荐结果,最后存储在存储模块中。 数据展示模块:负责展示项目中所用的数据。 数据流向:数据仓库怎么理解?两种东西,其一是IBM微软数据产品为代表的,其二是Hadoop+Hive+Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和JDBC驱动程序以将用户连接到Hive。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值