1. 系统要求
已知负载均衡 Nginx 在 Windows Server 上不能支撑较高并发,所以对于使用 Nginx 作为负载均衡的方案,若并发需求低于 300,则在 Linux 系统和 Windows Server 上均能正常部署使用集群,若并发需求超过 300,则不建议在 Windows Server 上部署集群,否则会出现并发问题。
类别 | 操作系统 | 已验证版本号 |
---|---|---|
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 | |
RedHat7 | 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 |
1)FineReport10.0、FineBI5.0 均采用此套方案,JDK 版本要求:JDK 1.8 且小版本需在 JDK8u102 以上。
2)一套集群不支持一台服务器部署多个集群的节点工程。
3)需确认工程彼此之间以及各自到外接数据库之间的通讯正常
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 服务器数量
注:若有条件,建议 Nginx、Redis、FTP分别部署在不同的服务器上。
5.1.1 两节点集群
应用服务器1 | Web 容器(Tomcat、WebLogic、WAS) |
应用服务器2 | Web 容器(Tomcat、WebLogic、WAS) |
组件服务器3 | 负载均衡(Nginx) |
状态服务器(Redis) | |
文件服务器(FTP) |
5.1.2 三节点集群
应用服务器1 | Web 容器(Tomcat、WebLogic、WAS) |
应用服务器2 | Web 容器(Tomcat、WebLogic、WAS) |
应用服务器3 | Web 容器(Tomcat、WebLogic、WAS) |
组件服务器4 | 负载均衡(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 端口 | 38888/39888 | 详情请参见:集群配置WebSocket端口 |
Websocket 转发端口 | 38889 | ||
文件服务器 | FTP | 20、21 | 内部端口,可修改(自行操作) |
SFTP | 22 | 内部端口,不可修改 | |
HDFS | 9000 | 内部端口,可修改(自行操作) | |
状态服务器 | redis 单机 | 6379 | 内部端口,可修改(redis.conf) |
redis 集群 | / | 内部端口,根据配置情况自行修改(redis.conf) |
说明:
1)Web 容器、文件服务器、状态服务器包含多种,请根据选择的情况自行开放端口。
2)如果默认端口与其他工程有冲突,需要先修改端口,再开放对应的端口。
3)开启 21 端口和任何大于1024 的端口,再通过 passive 开启 ftp 被动模式。
4)对于 docker 容器,或者服务器之间端口严格限制的环境,需要对节点的服务器之间开放端口,用于节点间通信。
选择 TCP 协议是 7800/7810/7820/7830/7840/7850/7860/7870 八个端口
选择 UDP 协议是 45588~65536 随机端口