本文档会列出热备集群部署所需的基础环境,其中 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 模块,所以对于 Windows 操作系统,建议使用 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 | 必须对外开放,否则会出现数据更新不同步的情况 | |
| 集群节点通信 | 集群节点内部通信 | 7800、7830、7840、7850、7870 | 节点间互相之间开放即可 | 
说明:
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 随机端口。 
7. Host文件配置
热备工程所在服务器的目录下/etc/hosts文件,需要检查是否正确配置hostname映射。
若未配置hostname映射,或hostName映射关系配置错误,DNS无法识别,会导致连接慢和超时报错,甚至在热备部署访问时提示「获取hostName失败,请检查服务器hostName是否正常或重新配置hostName」

 
  
  	 
             
             
     
      		