入门级推荐系统resys-one发布了!

一、系统目的

  • 展示基础的实时计算和离线计算隔离的方案
  • 展示基础的业务工程和算法工程隔离的方案

二、系统需要的组件

  • hbase
  • hive
  • hadoop
  • kafka
  • activemq
  • couchbase
  • mongodb

三、系统架构




按照系统部署场景分,可以分为三块:前端、中间层和云环境。这样分割的原因:
- 前端和云环境部署环境不同,前端组件可以自由部署且没有环境限制,云环境下的组件和任务程序必须部署在hadoop集群或可以自由访问hadoop集群的服务器上。
- 安全性不同,前端环境和云环境对开发人员、运维人员的安全要求不同,部署后,开发人员需要对系统进行持续的优化,这会与运维人员的工作产生冲突。

## 四、两类数据流
1、标签/新闻数据流

2、用户行为日志数据流

五、运行步骤:

  • 启动前端工程

    1
    2
    3
    4
    5
    6
    7
    8
    ○ 确保下面的组件是正常运行:
    ■ mongodb
    ■ couchbase
    ■ kafka
    ■ activemq
    ○ 如果上述组件运行正常,启动下面两个工程(顺序不限):
    ■ resys-one-server
    ■ resys-one-view
  • 启动中间工程

    1
    2
    3
    4
    5
    ○ 确保下面的组件是正常运行的:
    ■ kafka
    ■ activemq
    ○ 如果上述组件运行正常,启动下面这个工程:
    ■ resys-one-stream
  • 启动各个计算脚本

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ○ 确保下面的组件是正常运行的:
    ■ hadoop
    ■ zookeeper
    ■ hbase
    ■ couchbase
    ○ 全量导入所有新闻
    ■ run_import_news_all
    ○ 全量导入词典
    ■ run_import_dictionary
    ○ 计算新闻热度
    ■ run_cal_news_click.sh
    ■ run_cal_hot_news_one.sh
    ■ run_cal_hot_news_two.sh
    ■ run_serve_hot_news.sh
    ○ 计算新闻相关性
    ■ run_cal_news_token.sh
    ■ run_cal_news_invert.sh
    ■ run_cal_news_correlation.sh
    ■ run_serve_news_correlation.sh

六、下载地址

前往github下载