Skip to content

安装初始化

unknowwhite edited this page Jan 31, 2021 · 4 revisions

安装之前需要先准备好数据库,测试功能可以用mysql5.7。

!!!正式环境建议使用tidb或其他mysql兼容的newsql。

未来计划支持MaxCompute,Hive

Hello world:

1.打开/geoip/geo.py 文件,根据文件里的地址,下载ipcity和ipasn文件,并放到/geoip目录下。<--这一步必须做,否则会报错

2.配置/configs/db.py 里的数据库连接参数。

3.打开/configs/admin.py 修改查询密码和Kafka支持(默认关闭,直接写入数据)。如果开启Kafka支持,需要配置/configs/kafka.py和运行/kafka_consumer.py来订阅数据,否则收到的埋点信息只会写入kafka,并不会写入数据库。

4.打开/component/setup.py 在最后一行修改自己想要创建的项目名。运行setup.py程序,会完成数据表创建。至此鬼策服务端初始化完成。

5.运行/flask_main.py 可以开始接收数据了(如果启用kafka支持,需要再运行 /kafka_consumer.py)

其他可能需要执行的程序:


configs/admin.py下的参数

use_kafka <--确定是否使用kafka做缓冲,使用的时候需要额外运行kafka_consumer.py

independent_listener <--确定是否使用独立的触发器,使用时需要额外运行trigger.py


scheduler.py <--如果使用用户分群和召回模块,需要运行此程序

messenger.py <--如果使用召回模块,需要运行此程序

根据压力选型:

压力主要根据每天的事件量来定,事件量要看埋点设计的上报时机。一般情况下:

每天少于5万事件量或测试使用 ==> MySQL 5.7 。4C8G。鬼策可以部署在同一台机

每天少于50万 ==> TiDB 单机版(官方叫做实验环境)。8C16G 。鬼策可以部署在同一台机。

每天少于500万 ==> TiDB 最低配 8C32G x3 TiDB,TiKV,PD 混合部署(PD和TiDB都需要多于1个,不然滚动升级时业务会断),TiDB前可选负载均衡。鬼策和kafka需要独立部署在一台4C8G的机器上。

每天超过1000万及以上 ==> 增加TiDB中TiDB的数量,kafka和鬼策消费者(kafka_consumer.py)分开部署。

Clone this wiki locally