IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 程序部署与运行——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(十) -> 正文阅读

[大数据]程序部署与运行——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(十)

系列文章目录

  1. 初识推荐系统——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(一)
  2. 利用用户行为数据——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(二)
  3. 项目主要效果展示——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(三)
  4. 项目体系架构设计——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(四)
  5. 基础环境搭建——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(五)
  6. 创建项目并初始化业务数据——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(六)
  7. 离线推荐服务建设——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(七)
  8. 实时推荐服务建设——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(八)
  9. 综合业务服务与用户可视化建设——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(九)
  10. 程序部署与运行——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(十)

项目资源下载

  1. 电影推荐系统网站项目源码Github地址(可Fork可Clone)
  2. 电影推荐系统网站项目源码Gitee地址(可Fork可Clone)
  3. 电影推荐系统网站项目源码压缩包下载(直接使用)
  4. 电影推荐系统网站项目源码所需全部工具合集打包下载(spark、kafka、flume、tomcat、azkaban、elasticsearch、zookeeper)
  5. 电影推荐系统网站项目源数据(可直接使用)
  6. 电影推荐系统网站项目个人原创论文
  7. 电影推荐系统网站项目前端代码
  8. 电影推荐系统网站项目前端css代码


前言

??今天给大家带来本系列的最后一篇博文,也意味着我们就要拜拜啦(不是,还有其他博文质量也不错,大家也可以关注哈哈),今天的主要内容就是我们的系统已经完全实现了,但是我们还差最后一步,就是给他部署到服务器上面,没有服务器的读者可以用自己的虚拟机部署,当然,本篇博文内容不是刚需,供有需要的读者阅读。下面就开始今天的学习吧!


一、发布项目

  1. 编译项目:执行root项目的clean package阶段
    在这里插入图片描述
  2. 编译完成如下:
    在这里插入图片描述

二、安装前端项目

  1. 将website-release.tar.gz解压到/var/www/html目录下,将里面的文件放在根目录,如下:
    在这里插入图片描述
  2. 启动Apache服务器,访问http://你的IP地址:80

三、安装业务服务器

  1. 将BusinessServer.war放在tomcat的webapp目录下,并将解压出来的文件,放到ROOT目录下:
    在这里插入图片描述
  2. 启动Tomcat服务器

四、Kafka配置与启动

  1. 启动Kafka。在Kafka中创建两个Topic,一个为log,一个为recommender。启动kafkaStream程序,用于在log和recommender两个topic之间进行数据格式化
[bigdata@linux ~]$ java -cp kafkastream.jar com.IronmanJay.kafkastream.Application linux:9092 linux:2181 log recommender

五、Flume配置与启动

  1. 在Flume安装目录下的conf文件夹下,创建log-kafka.properties
agent.sources = exectail
agent.channels = memoryChannel
agent.sinks = kafkasink

# For each one of the sources, the type is defined
agent.sources.exectail.type = exec
# 下面这个路径是需要收集日志的绝对路径,改为自己的日志目录
agent.sources.exectail.command = tail -f 自己的日志目录路径
agent.sources.exectail.interceptors=i1
agent.sources.exectail.interceptors.i1.type=regex_filter
# 定义日志过滤前缀的正则
agent.sources.exectail.interceptors.i1.regex=.+MOVIE_RATING_PREFIX.+
# The channel can be defined as follows.
agent.sources.exectail.channels = memoryChannel

# Each sink's type must be defined
agent.sinks.kafkasink.type = org.apache.flume.sink.kafka.KafkaSink
agent.sinks.kafkasink.kafka.topic = log
agent.sinks.kafkasink.kafka.bootstrap.servers = linux:9092
agent.sinks.kafkasink.kafka.producer.acks = 1
agent.sinks.kafkasink.kafka.flumeBatchSize = 20


#Specify the channel the sink should use
agent.sinks.kafkasink.channel = memoryChannel

# Each channel's type is defined.
agent.channels.memoryChannel.type = memory

# Other config values specific to each type of channel(sink or source)
# can be defined as well
# In this case, it specifies the capacity of the memory channel
agent.channels.memoryChannel.capacity = 10000
  1. 启动Flume
[bigdata@linux apache-flume-1.7.0-kafka]$ bin/flume-ng agent -c ./conf/ -f ./conf/log-kafka.properties -n agent

六、部署流式计算服务

  1. 提交SparkStreaming程序:
[bigdata@linux spark-2.1.1-bin-hadoop2.7]$ bin/spark-submit --class com.IronmanJay.streamingRecommender.StreamingRecommender streamingRecommender-1.0-SNAPSHOT.jar

七、Azkaban调度离线算法

  1. 创建调度项目
    在这里插入图片描述
  2. 创建两个Job文件。Azkaban-stat.job和Azkaban-offline.job:
type=command
command=/home/bigdata/cluster/spark-2.1.1-bin-hadoop2.7/bin/spark-submit --class com.IronmanJay.offline.RecommenderTrainerApp
 offlineRecommender-1.0-SNAPSHOT.jar
type=command
command=/home/bigdata/cluster/spark-2.1.1-bin-hadoop2.7/bin/spark-submit --class com.IronmanJay.statisticsRecommender.StatisticsApp
 statisticsRecommender-1.0-SNAPSHOT.jar
  1. 将Job文件达成ZIP包上传到Azkaban:
    在这里插入图片描述

4.如下图所示:
在这里插入图片描述
4. 分别为每一个任务指定时间即可,如下图所示:
在这里插入图片描述
5. 定义完成之后,点击Scheduler即可


总结

??这篇博文的结束也标志着整个基于Spark平台的协同过滤实时电影推荐系统项目系列博客完结啦,本篇博客对于有需要的读者可以阅读,部署到自己的服务器或虚拟机上面,按照我的步骤操作即可。就不再下篇博文见,而是下个系列见啦!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:06:45  更:2022-05-06 11:07:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:07:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码