Task01:熟悉新闻推荐系统的基本流程

  • 0.代码版本
  • 1.系统信息
  • 2.`python`环境
  • 3.`MySQL`数据库
  • 4.`MongoDB`
  • 5.`Redis`
  • 6.`Node.js`
  • 7. 复现结果
  • 8. 后续报错

0.代码版本

该专栏的博客当中涉及的所有代码,均为组队学习期间的版本,大概在2021年12月12日左右,某一个可能的参考版本链接如下:

https://github.com/datawhalechina/fun-rec/tree/9bcfafaae339c443cc7911b9070bf52adef9e994

1.系统信息

首先,关于我服务器的系统信息

[root@VM-0-12-centos news_rec_server]# uname -a
Linux VM-0-12-centos 3.10.0-1160.6.1.el7.x86_64 #1 SMP Tue Nov 17 13:59:11 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@VM-0-12-centos news_rec_server]# uname -r
3.10.0-1160.6.1.el7.x86_64
[root@VM-0-12-centos news_rec_server]# cat  /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

2.python环境

然后去装后端环境,先处理python

conda create -n news python=3.7conda activate newspip install -r requirements.txt

3.MySQL数据库

根据1的步骤,装MySQL,上来就报错

[root@VM-0-12-centos opt]# rpm -qa | grep mariadb
error: rpmdb: BDB0113 Thread/process 16720/140613789161536 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
error: rpmdb: BDB0113 Thread/process 16720/140613789161536 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages database in /var/lib/rpm

查阅2,方案如下:

[root@VM-0-12-centos opt]# cd /var/lib/rpm
# [root@VM-0-12-centos opt]# ll
# 删除之前可以先查看
[root@VM-0-12-centos opt]# rm -rf _db*
[root@VM-0-12-centos opt]# rpm --rebuilddb

后面就正常执行一些命令

rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.27-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.27-1.el7.x86_64.rpm --nodeps --force

注意结尾处的force前面有两个英文的-,原博客当中第一句和第四局只写了一个中文的

接着继续报错:

[root@VM-0-12-centos opt]# mysqld --initialize
mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

参考3进行处理:

yum install -y libaio
yum -y install numactl

往后就正常的设置密码一类的,注意要与服务端的代码保持一致:

# fun-rec/codes/news_recsys/news_rec_server/conf/dao_config.py
# 默认配置
mysql_username = "root"
mysql_passwd = "123456"
mysql_hostname = "localhost"
mysql_port = "3306"

4.MongoDB

按照教程4进行安装,使用默认端口,没有问题

[root@VM-0-12-centos mongodb]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.10.tgz
[root@VM-0-12-centos mongodb]# export PATH=/opt/mongodb/mongodb-linux-x86_64-rhel70-4.4.10/bin:$PATH

这里不知道为什么,只对当前的shell有效,开新的shell就无法使用mongo命令

所以我将export "PATH=/opt/mongodb/mongodb-linux-x86_64-rhel70-4.4.10/bin"添加到了~/.bashrc文件的末尾

5.Redis

按照教程下载源代码进行编译安装,没有问题5

[root@VM-0-12-centos redis-4.0.9]# make PREFIX=/opt/redis-4.0.9 install

6.Node.js

参照6使用yum安装,或者也可以下载压缩包进行安装7

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash
sudo yum -y install nodejs

如果使用包管理器安装,可以用命令卸载;压缩包安装则需要手动卸载:8

yum remove nodejs npm -y

我在安装的过程当中可能出了一点问题,不知道怎地就更改了package.json。更神奇的是,这不是我手动更改的,可能输错了某个命令。后来恢复原代码之后,一遍成功。

7. 复现结果

8. 后续报错

OSError: [Errno 98] Address already in use

这个报错应该是服务器端没有正常结束,导致端口还在占用当中,所以重启服务器端的生活无法使用端口。解决的办法就是找到PID,然后杀死这个进程。

netstat -tlnp | grep 8686
# 查看使用8686端口的进程

详见9

“Can’t connect to MySQL server on ‘localhost’ ([Errno 111] Connection refused)”

这个是MySQL数据库相关的问题,我这里的原因是数据库莫名关闭了,重启就好。

service mysqld start

当时我是先按照10尝试登录账户,发现不行,报错:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)

然后查阅11,感觉是MySQL没有启动

参阅12重启即可


  1. Centos7.6.1810安装MySQL8.0.27图文详解 ↩︎

  2. 记录error: rpmdb: BDB0113 Thread/process 61227/140631941699392 failed: BDB1507 Thread died in Berkeley ↩︎

  3. centos7安装mysql8报错mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared ↩︎

  4. fun-rec/docs/第二章 推荐系统实战/2.2新闻推荐系统实战/docs/2.2.1.2 MongoDB基础.md ↩︎

  5. CentOS7上安装Redis4.0.9 ↩︎

  6. yum安装新版nodejs ↩︎

  7. Node.js 安装配置 ↩︎

  8. centos node卸载 ↩︎

  9. OSError: [Errno 98] Address already in use解决办法 ↩︎

  10. 如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题 ↩︎

  11. 连接本地mysql时出现2003-Can’t connect to MySql server on ‘localhost’(10061)错误 ↩︎

  12. 如何在linux下启动mysql数据库_在linux系统下启动 mysql数据库操作 ↩︎

Task01:熟悉新闻推荐系统的基本流程(代码复现)相关推荐

  1. Task01:熟悉新闻推荐系统的基本流程(项目结构)

    Task01:熟悉新闻推荐系统的基本流程(项目结构) 0.代码版本 1. 文件说明 2. 流程图示 3. 架构图示[^1] 0.代码版本 该专栏的博客当中涉及的所有代码,均为组队学习期间的版本,大概在 ...

  2. 推荐系统-Task01熟悉新闻推荐系统基本流程

    参考资料: 项目流程讲解:https://datawhale.feishu.cn/minutes/obcnzns778b725r5l535j32ohttps://datawhale.feishu.cn ...

  3. 一、熟悉新闻推荐系统基本流程

    一.悉新闻推荐系统基本流程 环境搭建: vmware + ubuntu20.04(虚拟机) 前端框架: Vue. 后端框架: Flask 数据库: MySQL.MongoDB.redis IDE:vs ...

  4. 推荐系统实践Task1:熟悉新闻推荐系统基本流程

    1 环境搭建 操作系统:Windows10 MySQL:8.0.25 Redis:5.0.14 Mongodb:5.0.5 Python 3.8 前端IDE:WebStorm2021.1 2 项目导入 ...

  5. 【新闻推荐系统】(task1)系统搭建基本流程

    学习总结 sparrow电影推荐系统和我们本次要搭建的新闻推荐系统类似: 首先是离线处理部分: 获取数据:爬取数据后画像处理.用户画像和物品画像,物料存入MongoDB中的SinaNews数据库中:M ...

  6. 新闻推荐系统:基于内容的推荐算法——TFIDF、衰减机制(github java代码)

    转自: 因为开发了一个新闻推荐系统的模块,在推荐算法这一块涉及到了基于内容的推荐算法(Content-Based Recommendation),于是借此机会,基于自己看了网上各种资料后对该分类方法的 ...

  7. 新闻推荐系统-项目介绍(PRD)

    新闻推荐系统 b站链接 制作不易,6月后开源全部代码以及数据,记得一键三联哦! 开源代码: github代码库 mysql: 链接:https://pan.baidu.com/s/1jLzfYbpsf ...

  8. 推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

    搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...

  9. 【组队学习】【32期】推荐系统-新闻推荐系统实践

    推荐系统-新闻推荐系统实践 航路开辟者:罗如意 领航员:肖桐 航海士:汪志鸿.吴忠强.赖敏材.王辰玥.毛伟.宋禹成.陈雨龙.管柯琴 基本信息 开源内容:https://github.com/dataw ...

最新文章

  1. jquery遍历json与数组方法总结each()
  2. python6翻_洗礼灵魂,修炼python(6)--活起来的代码+列表
  3. Rust程序员一觉醒来都懵了:审核团队集体辞职,发生甚么事了?
  4. 固态硬盘怎么看出厂日期_闲置的M.2固态硬盘怎么办?做个小巧便携高速的移动固态硬盘吧...
  5. 你的密码安全吗?——索尼事件的教训
  6. GitHub学习一-本地电脑与GitHub绑定
  7. Java设计模式学习总结(13)——结构型模式之享元模式
  8. 【转贴】CSS Sticky Footer: 完美的CSS绝对底部
  9. java spring 下载文件_springboot下载文件(使用流)
  10. day07 深浅拷贝
  11. 设置ubuntu Android sdk JDK环境变量
  12. Android 中文API (37) —— AbsoluteLayout
  13. 一种数字全息散斑干涉测量仿真模拟系统
  14. 服务端程序的keeplive
  15. 一个简单的makefile编写(gcc)
  16. Unity 正交相机和透视相机的屏幕适配
  17. 变限积分求导公式总结_变限积分求导公式是什么?
  18. foxpro mysql_Foxpro数据库命令汇总
  19. N76E003 驱动 UC1705并口屏(8080)
  20. EBS提交取消请求、请求集程序fnd_request

热门文章

  1. FTDI FTD2XX 驱动学习笔记(一)
  2. 超级强大的淘宝开源平台(taobao-code)
  3. 电脑内存不够?磁盘、硬盘
  4. LVGL8学习之row and a column layout with flexbox
  5. unity粗体字+android,[Unity] UGUI加粗字体小记
  6. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  7. 李峋同款爱心代码(附源码,前端代码,python代码)
  8. 李峋同款爱心代码 python版
  9. 王川:小米盒子的产品观
  10. 微信短视频怎么提取gif?三步教你在线提取gif动画