最新历史版本 :确认FineBI项目服务器配置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

概述编辑

运维平台支持部署FineBI6.1项目。

本文按照抽取数据为主的情况进行推荐。如FineBI工程全部使用直连数据,可适当缩小worker节点内存,将bi与worker节点的xmx配置互换,其他保持不变。

用户必须先确保服务器满足最低配置要求,然后按照工程的数据量和日活用户数,选择合适的部署方案,确认最佳节点内存CPU要求

节点说明:

节点
说明
BIBI业务节点
Master引擎元数据节点
Worker引擎计算节点
MinIO数据存储节点

最低配置编辑

基础配置

配置
最低要求
操作系统类型
Linux
操作系统架构X86_64
操作系统内核3.10版本及以上
操作系统软件

推荐:

Ubuntu 22 版

支持:

Ubuntu 18.04.4 及以上版本

CentOS 7.3~7.9 版本

redhat 7.6 及以上版本

基础配置

1)准备 2 台全新服务器,用于部署FineBI项目

额外有 1 台服务器,用于部署FineOps运维平台(非FineBI资源,仅列入下表方便理解)

可使用命令「df -h」查询磁盘空间,必须要有任一分区满足条件,不可将分区容量加和

服务器类型

CPU

核数

剩余

物理内存

剩余空闲
磁盘大小
部署组件
主应用服务器16核64G

500G

1BI+1Worker+1Master+1MinIO
如不部署MinIO数据存储组件,磁盘要求可降低到300G
组件服务器4核16G50GNginx+配置库+ES+集群组件
运维平台服务器4核16G120GOps
2)如资源不足,可准备 2 台服务器,其中组件服务器部署ops+FineBI部分组件

可使用命令「df -h」查询磁盘空间,必须要有任一分区满足条件,不可将分区容量加和

服务器类型

CPU

核数

剩余

物理内存

剩余空闲
磁盘大小
部署组件
主应用服务器16核64G

500G

1BI+1Worker+1Master+1MinIO

如不部署MinIO数据存储组件,磁盘要求可降低到300G

组件服务器8核32G150GNginx+配置库+ES+集群组件+OPS
CPU主频最低2.5GHz
磁盘类型

XFS

如不使用XFS,会出现磁盘未满,但无法写入数据的情况

磁盘性能

最小持续传输速率≥400MB/s:磁盘每秒可以传输至少 400MB 的数据

随机读写 IOPS(4K)> 2W:磁盘每秒可以执行至少 2w 个以上的 4KB 数据块的读写操作

顺序读写 IOPS(1024K)> 315.5MB:磁盘每秒可以传输至少 315.5MB 的数据

内网时延<1ms
服务器带宽≥2.5Gbps(312.5MB/s)

用户权限

在部署项目时,需要提供服务器用户名称与密码,用于项目的部署和运行。请提前确认服务器用户的权限是否满足需求。

  • 优先推荐使用root超管用户进行项目部署和运行

  • 如需使用非超管root用户进行项目的部署和运行,至少需要拥有以下权限:

权限名
使用场景

sh

用于一次性执行多个需要sudo权限的命令

echo

sed

cp

sysctl

用于修改一些配置文件和内核参数,主要用于修改/etc/sysctl.conf

如果这些参数已经配置成了目标值,只会令这些参数生效,不会再去修改文件

例如:vm.max_map_count、net.bridge.bridge-nf-call-iptables、net.ipv4.conf.all.forwarding、net.ipv4.ip_forward、vm.overcommit_memory

swapoff用于关闭交换空间,提高性能
rm部署失败或其他场景下,用于清理残留文件
kill让docker进程热加载配置文件

mkdir

chown

安装docker和组件

docker临时安装在用户的home目录,最终安装在/usr/bin目录

docker数据和组件安装在前台填写的项目挂载目录

groupadd

gpasswd

添加docker用户组,并将当前用户添加到docker用户组中
modprobe

docker网络通信需要加载br_netfilter模块

modprobe命令只在br_netfilter模块未加载时需要

systemctl配置docker service启动
sudo使用sudo -l 检测某个命令是否有sudo权限时,sudo本身也要用sudo执行

权限配置说明:请自行编辑 /etc/sudoers 文件,确保满足以下两项

步骤说明
修改用户的sudo权限

自行修改dev为你的用户名

1)允许用户"dev"在任何主机上以root身份使用sudo权限执行后续配置的命令

dev     ALL=(root) /bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo

2)如果仍然权限不足,还可以配置NOPASSWD的sudo权限(自选)

dev     ALL=(root)NOPASSWD: (root) /bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo

对用户禁用requiretty选项

注释掉原本的requiretty相关内容

确保 dev 用户在执行 sudo 命令时不需要 TTY 会话,否则无法通过脚本/远程命令使用sudo

#Defaults: requiretty

sudoers 文件示例:(本文件仅作为示例,请勿直接拷贝覆盖,请逐一参考上文修改)

# User privilege specification

root    ALL=(ALL:ALL)       ALL


Defaults requiretty


# Allow dev user to run specific commands as root

dev     ALL=(root) /bin/sh,/bin/mkdir,/bin/rm,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed,/usr/sbin/swapoff,/bin/sudo

推荐配置编辑

本节根据常见日活用户数量和表数量,给出推荐的部署方案和服务器配置。

注1:运维平台部署的FineBI项目,强制部署1个Master节点,bi与worker节点均衡部署(1:1/1:2),无法自定义节点数配比。

注2:如果需要配置读写分离,引擎节点数需要额外增加,服务需要高可用,至少保证节点数≥2

日活登录

用户数量

表数量

(基础表+分析表)

部署方案

服务器配

(如资源不足,组件服务器可与ops服务器共用)

<100

1万张

1k万行数据

1bi-web

1worker

1master

1bi-minio

主应用服务器:

1台,16c64g ,部署「1bi+1worker+1master+1bi-minio

组件服务器(可共用ops服务器):

1台,8c32g,部署「Nginx+配置库+ES+集群组件」

200

1万张

1k万行数据

2bi-web

2worker

1master

1bi-minio

主应用服务器:

1台,16c64g,部署「1bi+1worker+1master+1bi-minio

1台,16c64g,部署「1bi+1worker

组件服务器:

1台,8c32g,部署「Nginx+配置库+ES+集群组件」

5001万张

1k万行数据

2bi-web

2worker

1master

1bi-minio

主应用服务器:

1台,24c96g部署「1bi+1worker+1master+1bi-minio

1台,24c96g部署「1bi+1worker

组件服务器:

1台,12c48g,部署「Nginx+配置库+ES+集群组件」

1K

1万张

1k万行数据

2bi-web

2worker

1master

1bi-minio

主应用服务器:

1台,32c128g部署「1bi+1worker+1master+1bi-minio

1台,32c128g部署「1bi+1worker

组件服务器:

1台,16c64g,部署「Nginx+配置库+ES+集群组件」

2K

5万张

1亿行数据

3bi-web

3worker

1master

1bi-minio

主应用服务器:

1台,48c192g部署「1bi+1worker+1master+1bi-minio

1台,48c192g部署「1bi+1worker

1台,48c192g部署「1bi+1worker

组件服务器:

1台,24c96g,部署「Nginx+配置库+ES+集群组件」

4K10万张

1亿行数据

3bi-web

3worker

1master

1bi-minio

主应用服务器:

1台,64c256g部署「1bi+1worker+1master+1bi-minio

1台,64c256g部署「1bi+1worker

1台,64c256g部署「1bi+1worker

组件服务器:

1台,32c128g,部署「Nginx+配置库+ES+集群组件」

之所以需要上表的配置,是因为FineBI项目的每个组件,有最低运行配置要求,如下表所示

组件
CPU使用上限
内存使用上限内存配置xmx磁盘
bi-web16Core12G8G100G
bi-engine-worker16Core13G2G100G
bi-engine-master4Core3G1.5G
100G
bi-minio(数据存储)2Core--200G
ops_agent(运维组件)1Core-1G-
filebeat(运维组件)0.1Core0.1G--
elasticsearch(日志服务)1Core-2G50G
nginx(内网关)1Core---
mysql(配置库)2Core--50G
redis(状态服务)1Core-4G-
minio(文件服务)1Core--100G