设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于hadoop的音乐实时推荐系统 毕业论文
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目录

一、任务要求

1.1目的

1.2内容

1.3组员任务分配

二、实现步骤

2.1 Hadoop集群搭建和服务器配置

2.1.1搭建虚拟机

2.1.2配置主节点

2.1.3克隆虚拟机

2.1.4配置SSH免密登陆

2.1.5 hadoop环境变量及文件配置

2.1.6 启动所有进程

2.1.7 搭建失败修复方法

2.1.8 验证搭建成功

2.2数据上传步骤和操作命令

2.3系统环境部署

MongoDB安装

zookeeper安装

Kafka安装

Flume安装

Redis安装

2.4 系统实现

各模块以及算法实现

统计推荐模块

系统离线推荐模块

实时推荐模块

2.5 系统部署启动

5.3.1 MongoDB服务启动

5.3.2 zookeeper服务启动

5.3.3 Kafka服务启动

5.3.4 Flume服务监控

5.3.5 Redis服务启动

5.3.6 后端推荐系统启动

5.3.7 业务系统启动

三、结果展示

一、任务要求

1.1目的

实现音乐实时推荐系统

1.2内容

hadoop搭建文档和服务器配置

数据上传步骤和操作命令

数据清洗过滤转换

阿里云数据操作分析的sql文档

数据可视化连接

二、实现步骤

2.1 Hadoop平台搭建(单机模式)和服务器配置

2.1.1搭建虚拟机

安装VMware ,务必以管理员的身份操作(CentOS6.5)的配置。在虚拟机上安装linux虚拟机

2.1.2配置主节点

设置IP,安装JDK配置环境变量,虚拟机IP和主机VMware Network Adapter VMnet1网络地址在同一网段内。

修改hosts和主机名,并关闭防火墙。

关闭防火墙,使用命令service iptables stop

关闭防火墙的自动启动,使用命令chkconfig iptables off

2.1.5 hadoop环境变量及文件配置

安装hadoop2.x并进行环境变量配置。修改hadoop-env.sh,core-site.xml,hdfs-site.xml,yrn-site.xml,mapred-site.xml(需要拷贝一份并重命名)文件配置。

修改配置文件

首先,需要进入到/usr/local/soft/hadoop-2.6.0/etc/hadoop 目录下,命令cd /usr/local/soft/hadoop-2.6.0/etc/Hadoop.

1.修改hadoop-env.sh文件,在文件中加入一句export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

3.修改core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://shixun01:8020</value>

</property>

<!--指定临时文件存放目录-->

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/soft/hadoop/hadoop-2.6.5/tmp</value>

</property>

</configuration>

4.修改 hdfs-site.xml 将dfs.replication设置为1

5.修改文件yarn-site.xml

<configuration>

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>shixun01</value>

</property>

<!-- reducer获取数据的方式 -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

6.修改 mapred-site.xml(将mapred-site.xml.template 复制一份为 mapred-site.xml)

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

2.1.6 启动所有进程

在主节点执行start-all.sh命令,利用jps查看结果,正确结果如下:

     

2.1.7 搭建失败修复方法

如果启动失败,stop-all.sh命令关闭所有进程,删除hadoop目录下tmp文件并执行命令hdfs namenode -format,重新启动。

2.1.8 验证搭建成功

2.2数据上传步骤和操作命令

2.2.1利用xshell软件上传数据到/root目录下。

2.2.2在命令行中用 ./bin/hadoop fs -mkdir -p /test/input 命令在hdfs的test目录下,新建input目录,以便信息的上传。

2.2.3在命令行中用hadoop fs -put /test/input 命令把数据上传到hdfs上并重命名为input。

2.3系统环境部署

2.3.1MongoDB安装

#在线下载linux版本的mongodb [root@master packages]# wget https://fastdl.mongodb.org/linux/mongodb-linuxx86_64-rhel62-4.0.9.tgz

完成MongoDB的安装后,启动MongoDB服务器:

#启动MongoDB服务器 [root@master mongodb]# bin/mongod -config /usr/local/soft/mongodb/data/mongodb.conf

2.3.2Redis安装

#在线下载linux版本的redis [root@master packages]# wget http://download.redis.io/releases/redis4.0.2.tar.gz

2.3.3Zookeeper安装

#上传压缩包并解压到指定目录 [root@master packages]# tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/soft/

2.3.4Kafka安装

#上传压缩包并解压指定目录 [root@master packages]# tar -zxvf kafka_2.11-1.0.0.tgz -C /usr/local/soft/

2.3.5 Flume安装

#上传压缩包并解压指定目录 [root@master packages]# tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /usr/local/soft/

2.4系统实现

2.4.1各模块以及算法实现

打开IDEA,创建一个maven项目,命名为MusicRecommendSystem。为了方便后期的联调,我们会把业务系统的代码也添加进来,所以我们可以以MusicRecommendSystem作为父项目,并在其下建一个名为recommender的子项目,然后再在下面搭建多个子项目用于提供不同的推荐服务。2.4.2统计推荐模块

在recommender下新建子项目StatisticsRecommender,pom.xml文件中只需引入spark、scala 和mongodb的相关依赖:

2.4.3离线统计模块

在resources文件夹下引入log4j.properties,然后在src/main/scala下新建scala 单例对象 com.shujia.statistics.StatisticsRecommender。 同样,我们应该先建好样例类,在main()方法中定义配置、创建SparkSession并加载数据,最后关闭 spark。代码如下:

2.4.4实时推荐模块

实时计算与离线计算应用于推荐系统上最大的不同在于实时计算推荐结果应该反映最近一段时间用  户近期的偏好,而离线计算推荐结果则是根据用户从第一次评分起的所有评分记录来计算用户总体的偏 好。

用户对物品的偏好随着时间的推移总是会改变的。比如一个用户u 在某时刻对商品p 给予了极高的评分,那么在近期一段时候,u 极有可能很喜欢与商品p 类似的其他商品;而如果用户u 在某时刻对商品q 给予了极低的评分,那么在近期一段时候,u 极有可能不喜欢与商品q 类似的其他商品。所以对于实时推荐,当用户对一个商品进行了评价后,用户会希望推荐结果基于最近这几次评分进行一定的更    新,使得推荐结果匹配用户近期的偏好,满足用户近期的口味。

如果实时推荐继续采用离线推荐中的ALS 算法,由于算法运行时间巨大,不具有实时得到新的推荐结果的能力;并且由于算法本身的使用的是评分表,用户本次评分后只更新了总评分表中的一项,使得 算法运行后的推荐结果与用户本次评分之前的推荐结果基本没有多少差别,从而给用户一种推荐结果一 直没变化的感觉,很影响用户体验。

另外,在实时推荐中由于时间性能上要满足实时或者准实时的要求,所以算法的计算量不能太大,  避免复杂、过多的计算造成用户体验的下降。鉴于此,推荐精度往往不会很高。实时推荐系统更关心推  荐结果的动态变化能力,只要更新推荐结果的理由合理即可,至于推荐的精度要求则可以适当放宽。

2.5系统部署启动

2.5.1MongoDB服务启动

#启动MongoDB服务器 [root@master mongodb]# bin/mongod -config /usr/local/soft/mongodb/data/mongodb.conf

2.5.2 Zookeeper服务启动

#启动zookeeper [root@master zookeeper-3.4.6]# bin/zkServer.sh start

#查看zookeeper的状态 [root@master zookeeper-3.4.6]# bin/zkServer.sh status

2.5.3 Kafka服务启动

启动kafka服务 启动之前需要启动Zookeeper服务 [root@master kafka_2.11-1.0.0]# bin/kafka-server-start.sh -daemon ./config/server.properties

2.5.4 Flume服务启动

等待项目部署时启动

2..5.5 Redis服务启动

#启动redis服务 [root@master bin]# ./redis-server redis.conf

#连接Redis服务器 [root@master bin]# redis-cli

#停止redis服务 [root@master bin]# redis-cli shutdown

2.5.6后端推荐系统启动

启动实时系统的基本组件 启动实时推荐系统OnlineRecommender以及mongodb、redis

2.5.6业务系统启动

三、结果展示

  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!