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中加入   


	maven-assembly-plugin
	
		
			package
			
				single
			
		
	
	
		
			
			jar-with-dependencies
		
	

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

Kafka+Spark Streaming+Redis小项目_自己实践成功_第1张图片

(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

 

你可能感兴趣的:(Spark+Kafka)