概述编辑
通过运维平台部署FineBI项目时,需要提前为项目准备服务器。
本文详尽的介绍这些服务器必须满足的资源要求。
服务器数量编辑
注:FineOps运维平台,和FineBI项目,不要部署在同一服务器下。
如果FineOps和项目处于同一环境下,当项目服务器发生异常时,FineOps可能也出现故障,从而无法起到运维的作用。
项目类型 | 配置方案 | 说明 |
---|---|---|
单机 | 推荐配置 | 建议准备2 台服务器 这两台服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性
|
最低配置 | 至少准备1个服务器 这一台服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性
| |
集群 | 推荐配置 | 建议按照「节点数量+5」准备服务器数量 这些服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性
|
最低配置 | 至少按照「节点数量+1」准备服务器数量 这些服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性
|
操作系统要求编辑
配置 | 推荐 | 支持/最低要求 |
---|---|---|
操作系统类型 | Linux | Linux |
操作系统架构 | X86_64 | X86_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 | 磁盘 |
---|---|---|---|---|
FineBI | 16Core | - | 默认内存为: 机器内存减掉10G后的内存大小 最大不会超过32G | 500G |
ops_agent | 1Core | - | 1G | - |
filebeat | 0.1Core | 0.1G | - | - |
elasticsearch | 1Core | - | 2G | 50G |
nginx | 1Core | - | - | - |
mysql | 2Core | - | - | 50G |
redis | 1Core | - | 4G | - |
minio | 1Core | - | - | 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) /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