本文档会列出热备集群部署所需的基础环境,其中 Linux 系统的用户,请直接使用 集群环境检测工具 对系统环境进行自动检测。
1. 系统要求
类别 | 操作系统 | 已验证版本号 |
---|---|---|
Linux | Centos6 | Centos 6.5、Centos 6.6、Centos 6.7、Centos 6.8、Centos 6.9 |
Centos7 | Centos 7.0、Centos 7.1、Centos 7.2、Centos 7.3、Centos 7.4 | |
RedHat6 | RedHat 6.5、RedHat 6.6、RedHat 6.7、RedHat 6.8、RedHat 6.9 | |
RadHat7 | RedHat 7.0、RedHat 7.1、RedHat 7.2、RedHat 7.3、RedHat 7.4 | |
Ubuntu10 | Ubuntu 10.04.4 | |
Amazon Linux | Amazon Linux AMI release 2018.03 | |
Windows | Windows Server | Windows Server 2008、Windows Server 2012 |
需要注意以下几点:
已知 Nginx 在 Windows Server 上不支持 healthcheck 模块,所以对于 Windwos 操作系统,建议使用 treafik 作为代理服务器,或者另外部署一台 Linux 虚拟机专门用于 nginx 的部署和工作。
FineReport10.0、FineBI5.0 系列均采用此套方案,要求 JDK 版本为:JDK 1.8 且小版本需在 JDK8u102 以上。
一套集群不支持一台服务器部署多个集群的节点工程。
2. ROOT 权限
Linux系统安装FTP时需要使用最高用户(root),否则不能进行,若不安装 FTP 则可不考虑这一要求。
3. GCC 编译器
Redis 和 Nginx 在 Linux 系统上的部署均依赖 GCC 编译器,所以须注意,若选用 Linux 服务器,请保证系统具备 GCC 编译环境
查询命令:gcc -v,若没有 gcc 环境则需要自行安装,联网安装命令:yum install gcc gcc-c++
4. 网络要求
公网环境和内网环境均可部署集群,不过要求集群的服务器间具有良好的通信环境,如下:
类型 | 带宽 | 网段 | 备注 |
---|---|---|---|
公网 | 10M以上 | 同网段 | / |
内网 | 无要求 | 同网段 | 内网一般都是百兆/千兆带宽,故对带宽不做要求 |
5. 机器要求
目前热备集群仅支持两节点集群方案(Nginx+Tomcat+Redis+ftp),以此为例,说明对服务器的要求。
5.1 服务器数量
对于部署两个节点的集群方案,建议准备三台服务器,架构如下:
应用服务器1 | Web 容器(Tomcat、WebLogic、WAS) |
应用服务器2 | Web 容器(Tomcat、WebLogic、WAS) |
组件服务器3 | 请求转发(Nginx) |
状态服务器(Redis) | |
文件服务器(FTP) |
5.2 内存配置
服务器 | 系统内存 | 分配给 Web 容器 JVM 内存 |
---|---|---|
应用服务器 | 建议 16G 以上 | 建议 8G 以上,不要超过32G,过大会导致系统FullGC时间过长 |
组件服务器 | 建议 8G 以上 | / |
5.3 磁盘空间
部署集群工程要求各机器的根目录空余空间至少 40G 以上,如果模板资源文件超大,根据实际情况选择较大磁盘空间的服务器。
机器 | 作用 | 硬件 | 配置 | 说明 |
---|---|---|---|---|
应用服务器1 | 部署工程 | /(根目录) | 保证至少有 40G 空余可用空间 | 系统使用中的临时缓存地址 |
应用服务器2 | /usr | 部署工程,至少保证有 15G 空余可用空间 | 默认日志存放路径 | |
组件服务器3 | 部署集群组件 | /(根目录) | 保证至少有 40G 空余可用空间 | 系统使用中的临时缓存地址 |
/usr | 保证至少有 15G 空余可用空间 | 安装集群的各个组件,存放日志文件 | ||
/home | 保证至少有 10G 空余可用空间 | 文件服务器存储目录,存放模板等资源文件 |
6. 端口准备
分类 | 内容 | 端口 | 备注 |
---|---|---|---|
请求转发 | Nginx | 80或443 | 外部端口,必须对外开放,可修改(nginx.conf),是集群系统入口端口,其他负载均衡的端口请自行配置 |
web容器 | Tomcat | 8080 | 外部端口,可不对外开放,可修改(server.xml),SSL、短地址等在负载均衡层面配置 |
WebLoigc | 7001 | ||
WebSphere | 9080 | ||
消息通知 | WebSocket | 38889/48889 | 外部端口,必须对外开放,可修改,平台的消息通知端口 FineReport 工程为 38889,FineBI 工程为 48889 |
38888/48888 | 把数据库里的 WebSocketConfig.requestPort 改为 38888/48888 如遇到端口被占用情况,请参考: Websocket端口被占用的处理方法 | ||
文件服务器 | FTP | 20、21 | 内部端口,可修改(自行操作) |
SFTP | 22 | 内部端口,不可修改 | |
HDFS | 9000 | 内部端口,可修改(自行操作) | |
状态服务器 | redis 单机 | 7379 | 内部端口,可修改(redis.conf) |
redis 集群 | / | 内部端口,根据配置情况自行修改(redis.conf) | |
热备 jgroups 同步的端口 | 9100 | 必须对外开放,否则会出现数据更新不同步的情况 |
说明:
1)Web 容器、文件服务器、状态服务器包含多种,请根据选择的情况自行开放端口。
2)如果默认端口与其他工程有冲突,需要先修改端口,再开放对应的端口。
3)如果是在 FineBI 工程中放置 FineReport 的 JAR 包搭建成集群,以 FineBI 为准,需开放websocket的端口为 48889
4)开启 21 端口和任何大于 1024 的端口,再通过 passive 开启 ftp 被动模式。
5)对于 docker 容器,或者服务器之间端口严格限制的环境,需要对节点的服务器之间开放端口,用于节点间通信。
选择 TCP 协议是 7800/7810/7820/7830/7840/7850/7860/7870 八个端口。
选择 UDP 协议是 45588~65536 随机端口。