This document describes how to specifically perform standalone and cluster project deployment.
Targeting official projects, it provides subsequent operations such as external database configuration and security enhancement. These operations are only optional ones.
This article only introduces deployment solutions in the Linux system and Tomcat middleware.
FanRuan supports both standalone and cluster deployment. A cluster contains multiple project nodes.
One server can deploy only one cluster node, so you need to prepare as many servers as the number of project nodes.
This document provides recommended configurations for three scenarios. If your FineBI project involves multiple scenarios, select the highest configuration to deploy your project.
You need to identify whether to use real-time data or extract data according to Introduction to Direct-Connect Data and Extracted Data.
Then, determine the deployment type (standalone or cluster) and the number of project nodes to be deployed based on the estimated number of project concurrencies.
The following table describes user dimensions.
Number of daily active users (DAUs)
Number of users who log in to the FineBI project within one day
Number of online users
Number of logged-in users in FineBI at a certain moment
Number of concurrent users
Number of users who operate in FineBI at a certain moment.
It represents how many users send requests to the server at the same time, namely how many requests the server handles at the same time.
Concurrency limit during license registration
Maximum number of system-accessed IP addresses obtained by the server from requests (as concurrent keys).
This parameter for license registration has no correlation with the number of users in the following text.
This scenario prevails when only direct connect data (rather than extracted data) is used.
The bandwidth among cluster nodes, nodes, and other components is 1000 Mb/s.
If multiple configuration options are available, select a higher configuration based on the project concurrency and calculation capability of the data source DB.
Users with concurrent edits are all ones obtaining data not from the cache.
For concurrent users per second, you need to determine whether all of them obtain data from the cache. If so, check whether the number of concurrent users per second reaches the upper limit. If not, check whether the number of concurrent users per second reaches the lower limit.
Number of Daily Active Users (DAUs)
Number of Online Users
per Hour
Number of Concurrent Users
per Second
Number of Concurrent
Edits
Data Source Calculation Capability
Processed Calculations per Second
Recommended Configuration
Minimum Configuration
500
< 100
< 20
< 10
Standalone configuration, in which nodes should meet the following requirements:
CPU: 8 cores, 16 threads, 2.5 GHz
JVM memory: 16 GB
Physical memory: 24 GB
CPU: 4 cores, 8 threads, 2.5 GHz
JVM memory: 8 GB
Physical memory: 12 GB
2000
100 to 1000
40 to 90
10 to 40
10 to 20
Two-node cluster configuration, in which each node should meet the following requirements:
CPU: 16 cores, 32 threads, 2.5 GHz
Physical memory: 32 GB
3000
600 to 1500
60 to 130
30 to 60
≥ 30
Three-node cluster configuration, in which each node should meet the following requirements:
Two-node cluster configuration, in which each node should meet the following configuration:
JVM memory: 24 GB
Physical memory: 48 GB
4000
600 to 2000
60 to 170
60 to 80
Four-node cluster configuration, in which each node should meet the following requirements:
This scenario prevails for FineBI projects used by highly-active users (namely users who obtain data not from the FineBI cache) for self-service data analysis.
Concurrency can be estimated based on the total number of nodes as follows: Number of online users (Y) = 300 * (Number of nodes (X) - 1) + 400.
Disk throughput and bandwidth need to be greater than 100 MB/s (namely performance of normal HDDs). SSDs are recommended.
JVM memory is not the same as the whole device memory. You are advised to set the JVM memory to 2/3 to 3/4 of the total device memory.
Table Quantity/Size
< 100 tables or < 1 TB
300 to 1000
20 to 70
JVM memory: 32 GB
Physical memory: 64 GB
40 to 120
> 2000 tables or > 1 TB
900 to 3000
50 to 160
50 to 80
> 4000 tables or > 2TB
1200 to 3500
60 to 190
70 to 100
> 5000 tables or > 3 TB
1500 to 4000
80 to 220
80 to 200
Five-node cluster configuration, in which each node should meet the following requirements:
This scenario description: prevails when users view data such as reports at the same time. In this scenario, you need to calculate the cumulative number of visitors (Y) within 5 to 10 minutes (namely the number of users who obtain data totally from the FineBI cache, among which a user with multiple calculation requests is returned by the engine as only one result).
Concurrency can be estimated based on the total number of nodes as follows: Number of concurrent users per 5 minutes (Y) = 380 * Number of nodes (X)
When the number of request users per second reaches 160, the download speed of the load-balancing server needs to reach 100 MB/s.
Number of Users
per 5 Minutes
< 400
40
400 to 800
80
800 to 1100
110
1100 to 1600
160
1600 to 2000
190
Select a suitable deployment method based on the advantages and disadvantages of each method.
Three standalone solutions are available: containerized deployment, package deployment, and standalone deployment.
Four cluster solutions are available: containerized deployment of standardizedly extracted clusters, manual deployment of standardizedly extracted clusters, manual deployment of highly-available extracted clusters, and manual deployment of standardizedly direct-connect clusters.
Project Type
Deployment Method
Description
Standalone
Containerized deployment
★★★★★
Advantages:
Cost-efficient deployment: one-click deployment with built-in JDK, Tomcat, FineBI project, and external databases
Cost-efficient startup: startup parameters added by default after successful deployment, requiring no manual configuration
Limited exception scope: environment isolation of each containerized project, restricting the impact scope when exceptions occur
Cost-efficient O&M: O&M platform is automatically integrated into projects for automatic monitoring and warning at low costs.
Package deployment
Cost-efficient deployment cost: one-click deployment with built-in JDK, Tomcat, and FineBI project
Limitations:
Only Tomcat deployment, x86, and arm architecture are supported.
Parameters need to be set manually after deployment to ensure stable system operation.
Monitoring or warning cannot be performed for the system operation in time.
Standalone deployment
No restriction is posed on middleware or server architecture.
JDK environment and Tomcat middleware need to be deployed in advance.
FineBI project packages need to be prepared in advance
Cluster
Standardizedly extracted cluster
Cost-efficient deployment: one-click deployment of extracted clusters, including FineBI project nodes, load balancing, state servers, file servers, and external databases.
Cost-efficient O&M: O&M platform is automatically integrated into projects to support the monitoring and warning of servers, FineBI applications, and component services.
High-available business: exception recovery mechanism provided for update tasks to synchronize nodes and ensure high availability of data queries
High query concurrency: query service provided for multiple nodes simultaneously for load balancing, enabling the concurrency performance to increase linearly with the number of nodes
High update performance: higher update performance as the number of nodes rises
Manual deployment
Compared to direct connect clusters:
You need to manually deploy, serially/parallelly connect, and modify the configuration of project nodes, load balancing, state servers, file servers, and configuration libraries.
Monitoring and warning cannot be performed for the system operation, servers, and component servers, and send alerts in time.
Highly-available extracted clusters
Compared to standardizedly extracted clusters, clusters of this type are more highly available to ensure a stable project O&M.
Complex configuration is required, demanding users with a certain level of skills and experience, and additional hardware or virtual resources.
Standardizedly direct connect clusters
Compared to standalone projects, projects in a cluster communicate and share data and tasks with each other. They can also provide higher extensibility and performance, improve the load capacity and availability of the system, and ensure system stability and consistency.
This deployment method is primarily designed for projects with only direct connect data. For projects with extracted data, deployment of extracted clusters is recommended.
Procedure
1
Prepare server environment.
Prepare the server environment for the FineBI project and external database.
Recommended environment: Recommended Environment for Project Deployment
Supported environment: Supported Environment for Standalone Project Deployment
2
Perform containerized deployment.
(1) Install the O&M platform.
(2) Deploy the FineBI project on the GUI of the O&M platform.
(3) Wait until the project starts automatically after successful deployment. Then you can access the project as admin.
Reference document: Containerized Standalone Deployment
3
Perform subsequent operations.
(1) During containerized deployment, the FineBI project and external database will be automatically installed. You do not need to configure the external database because the project will automatically connect to the external database.
(2) Recommended reference document for improving product security: Product Security Reinforcement Guide
(3) Recommended reference document for improving O&M stability: O&M Monitoring Guide
Prepare the server environment for the FineBI project.
Prepare and deploy an external database.
Configure the deployment package.
(1) Download, upload, and decompress the server deployment package.
(2) Start the FineBI project using clauses.
(3) Wait until successful startup. Then you can access the project as admin.
Reference document: Tomcat Deployment Package in Linux
(1) Recommended reference document for configuring an external database for the formal project: Configuring External Databases
Prepare and deploy Tomcat and JDK.
Perform standalone deployment.
(1) Upload the webroot project file.
(2) Upload the tools.jar file.
(3) Start the FineBI project using clauses.
(4) Wait until successful startup. Then you can access the project as admin.
Reference document: Tomcat Standalone Deployment in Linux
Prepare deployment environment for project nodes, load balancing, state servers, and file servers.
Supported environment: Supported Environment for Cluster Project Deployment
(2) Deploy FineBI projects on the GUI of the O&M platform. Then the following will be automatically deployed:
FineBI project nodes
MySQL database
Nginx load balancing
Redis standalone status server
MinIO file server
(3) Wait until cluster projects start automatically after successful deployment. Then you can access the projects as admin.
Reference document: Containerized Deployment of Cluster Projects
(1) During containerized deployment, project nodes and cluster components are automatically deployed.
You do not need to configure external databases because projects will automatically connect to external databases.
You do not need to enable cluster configuration because projects will automatically connect to load balancing, status servers, and file servers.
(4) Recommended reference document for configuring system-available monitoring tools for clusters: System-Available Monitoring Tools
Deploying external databases.
Deploy an external database (MySQL 5 database recommended) as project backup.
You only need to deploy and start the database.
Supported database type: Configuring External Databases
Deploy load balancing.
Nginx deployment solution is recommended.
You just need to install Nginx with no need to start or modify the nginx.conf configuration file.
Reference document: Deploying and Configuring Nginx in Linux
4
Deploy state servers.
Deploy state servers (Redis Standalone recommended).
Ensure that Redis Standalone is started.
Redis Standalone: versatile, easy to deploy, but unable to be highly available
Redis Cluster: highly available, requiring at least 3 servers (6 servers recommended)
Redis Sentinel: relatively highly available, unable to achieve horizontal scalability, and unable to support high concurrency
Tencent Cloud Redis: convenient, reliable, suitable for cloud vendors, available for both standalone and clustered deployments, and requiring plugin installation
5
Deploy file servers.
Deploy file servers (SFTP servers recommended).
Recommended priority: SFTP server ≈ MinIO server > NFS server > FTP server ≈ HDFS server
SFTP: versatile, easy, more secure than FTP, and inferior performance and stability
FTP: versatile, easy, and inferior security, stability, and performance (not recommended unless necessary)
HDFS: better stability, tedious deployment, and plugin installation required
External Directory Sharing (NAS): similar to SFTP, manual NAS client and server deployment required, unable to be highly available, and plugin installation required
MinIO: similar to S3, relatively stable, manual MinIO deployment required, unable to be highly available for standalone deployment, and plugin installation required
S3: cloud storage, high availability solution, S3 supported only for partial scenarios, and possibly shuttering in backup and restoration scenarios
6
Deploy project nodes.
Deploy a project node.
For details about how to deploy, see "Standalone Solution 2: Package Deployment" or "Standalone Solution 3: Standalone Deployment".
Tomcat Package Deployment in Linux
Tomcat Standalone Deployment in Linux
7
Enable clusters.
(1) Preparation:
Set Linux system parameters to prevent downtime.
Configure Redis logs for easy troubleshooting in the future.
Create the spider.cluster.properties file to configure node information.
(2) Single-node cluster configuration:
Configure an external database for this configuration. For details, see Configuring External Databases.
Connect the master node to state servers and file servers.
Set the cache mode and communication protocol.
Start the cluster and restart projects.
(3) Multi-node cluster configuration:
Deploy other project nodes.
Copy the webroot project file of the first node to other project nodes.
Modify the spider.cluster.properties file to configure node information.
Start other project nodes.
For details, see Manually Configuring Standardizedly Extracted Clusters in Linux.
8
Configure load balancing.
(1) Modify the nginx.conf file by referring to Installing and Configuring Nginx in Linux.
(2) Restart Nginx components.
9
(1) Reference document for improving product security: Product Security Reinforcement Guide
(2) Reference document for improving O&M stability: O&M Monitoring Guide
(3) Recommended reference document for configuring system-available monitoring tools for clusters: System-Available Monitoring Tools
Deploy external databases (highly-available master-slave databases recommended) as project backup.
Deploy load balancing (Keepalived+Nginx recommended).
For details, see Keepalived+Nginx Deployment Solution.
Deploy state servers (Redis Cluster is recommended).
Deploy file servers (NAS servers recommended).
Do not start these project nodes after deployment.
For details, see Manually Configuring Highly-Available Extracted Clusters in Linux.
(1) Single-node cluster configuration:
(2) Multi-node cluster configuration:
For details, see Manually Configuring Standardizedly Direct Connect Clusters in Linux.
Middleware Type
Reference Deployment Document
Tomcat in Windows
Tomcat Package Deployment in Windows
Tomcat Standalone Deployment in Windows
WebLogic
WebLogic Server Deployment
WebSphere
Websphere Server Deployment in Linux
JBoss
WildFly (JBoss) 9-18 Server Deployment
WildFly (JBoss) 8 Server Deployment
Resin
Resin Server Deployment
Docker
Docker Server Deployment
We apologize for usage problems you meet. You can ask for help through "Technical Support" or "Community Q&A". For details, refer to Contact Us.
You can also troubleshoot by referring to relevant documents. The following table lists common problems that you may encounter when deploying Tomcat. You are advised to troubleshoot these problems by referring to the listed documents first.
Recommended Document
Problem
Tomcat Deployment-Related Problems
Tomcat problem summary
Linux and Windows Comparison
Briefly compares Linux with Windows systems, based on which you can select the required system for deployment.
Linux Firewall Usage and Configuration
Setting Inbound and Outbound Rules for Windows Servers
Open firewall port
Disk Expansion
Disk expansion
Linux File Permission Configuration
Linux file permission configuration
JAVA Environment Variable Configuration
Introduces some errors caused by faulty JAVA environment variable configuration and provides corresponding solutions.
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy