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

目录:

概述编辑

通过运维平台部署FineBI项目时,需要提前为项目准备服务器。

本文详尽的介绍这些服务器必须满足的资源要求。

服务器数量编辑

注:FineOps运维平台,和FineBI项目,不要部署在同一服务器下。

       如果FineOps和项目处于同一环境下,当项目服务器发生异常时,FineOps可能也出现故障,从而无法起到运维的作用。

项目类型
配置方案说明
单机推荐配置

建议准备2 台服务器

这两台服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性

  • 工程独占一个服务器,作为主应用服务器

  • 其他组件独占一个服务器,即组件服务器(如果不安装nginx、mysql和elasticsearch套件,则无需准备该服务器

最低配置

至少准备1个服务器

这一台服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性

  • 整个FineBI项目独占一个服务器(只有1个服务器的情况下,所有组件均安装在该服务器中)

集群推荐配置

建议按照「节点数量+5」准备服务器数量

这些服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性

  • 每个工程节点独占一个服务器,作为主应用服务器,节点数量仅支持1~5

  • redis、nginx、mysql、minio、es组件各自独占一个服务器,作为组件服务器

  • 如部署nginx集群,需额外再准备一个服务器

最低配置

至少按照「节点数量+1」准备服务器数量

这些服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性

  • 每个工程节点独占一个服务器,作为主应用服务器

  • 其他组件独占一个服务器,即组件服务器。该服务器中安装外接配置库(mysql)、负载均衡(nginx)、集群组件(redis、minio)、es组件(elasticsearch)以及运维组件

  • 如部署nginx集群,需额外再准备一个服务器

  • 另:如果服务器资源充足,可以多准备一些组件服务器,在部署时会随机分配上述组件到各个服务器中,确保项目高可用

操作系统要求编辑

配置
推荐支持/最低要求
操作系统类型LinuxLinux
操作系统架构X86_64X86_64
操作系统内核

3.10版本及以上

3.10版本及以上

操作系统软件

Ubuntu 22 版本

Ubuntu 18.04.4 及以上版本

CentOS 7.3~7.9 版本

redhat 7.6 及以上版本

资源配置要求编辑

部署FineBI项目的服务器应当满足下表条件:

注:本节仅描述服务器最低配置要求,推荐配置请参考:确定FineBI节点数量

项目类型配置
最低要求
每个主应用服务器CPU最低8核
磁盘类型XFS
剩余空闲
磁盘大小

服务器中存在一个分区剩余可用空间大于 500G

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

剩余空闲
物理内存
32G以上
每个组件服务器CPU最低4核
磁盘类型XFS
剩余空闲
磁盘大小
服务器中存在一个分区剩余可用空间大于 50G

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

剩余空闲
物理内存
8G以

若为集群项目,仅准备了一个1个组件服务器,建议16G以上

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

组件
CPU使用上限
内存使用上限内存配置xmx磁盘
FineBI16Core-

默认内存为:

机器内存减掉10G后的内存大小

最大不会超过32G

500G
ops_agent1Core-1G-
filebeat0.1Core0.1G--
elasticsearch1Core-2G50G
nginx1Core---
mysql2Core--50G
redis1Core-4G-
minio1Core--100G

用户权限要求编辑

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

  • 优先推荐使用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执行

权限配置说明:

1)编辑/etc/sudoers 文件

2)修改用户的sudo权限,允许用户"dev"在任何主机上以root身份使用sudo权限执行后续配置的命令(自行修改dev为你的用户名)

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

sudoers 文件示例:

# User privilege specification

root    ALL=(ALL:ALL)       ALL


# Disable requiretty for user dev

Defaults:dev !requiretty


# Allow dev user to run specific commands as root

dev     ALL=(root)NOPASSWD:  /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