历史版本3 :Web集群&BI的Spider引擎单节点部署方案 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1、描述编辑
功能介绍:
从(时间待定)版本起,FineBI推出了Web集群&BI单节点的应用方案,该方案不需要Spider多节点支持,仅需部署BI的web集群,并规定好主节点,BI的数据更新和所有BI相关请求都会在这个主节点完成,其余fr或者管理系统的请求会随机转发到集群节点上面。
部署方案:
该部署方案在部署好web集群的基础上,在BI的配置文件中规定好主节点,并配置nginx中的主次节点;
前提条件:
已按照Web集群文档部署好集群环境;
2、部署方案编辑
下面我们以集群两个节点,192.168.5.12为主节点,192.168.5.11为子节点,负载均衡地址是192.168.5.11的nginx配置演示部署方案,可以根据实际场景进行修改。
2.1 配置主节点
关闭Web集群,在外置数据库中找到FINE_CONF_ENTITY表,并在其中增加一条id记录:SystemOptimizationConfig.biClusterMasterNodeHostName,用来规定web集群中的主节点,value对应主节点服务器的hostname。比如主节点服务器为192.168.5.12,其对应hostname为test02,则在表中增加的记录如下图所示:
此处主节点的服务器中,需要确保在/etc/hosts文件中,已经配置好ip和hostname的对应关系,如下图:
2.2 配置nginx
进入nginx安装目录/usr/nginx/conf,打开nginx.conf文件,复制如下内容并修改其中的IP和端口,替换掉原文件内容。
worker_processes auto;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $upstream_addr';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65s;
types_hash_max_size 2048;
client_header_buffer_size 512k;
large_client_header_buffers 4 512k;
client_max_body_size 100M;
upstream BI.main.com {
server 192.168.5.12:9080 max_fails=15 fail_timeout=300s;
}
upstream BI.cluster.com {
server 192.168.5.11:9080 max_fails=15 fail_timeout=300s;
server 192.168.5.12:9080 max_fails=15 fail_timeout=300s;
}
upstream WBS.com {
server 192.168.5.11:48888 max_fails=15 fail_timeout=300s;
server 192.168.5.12:48888 max_fails=15 fail_timeout=300s;
ip_hash;
}
server {
listen 80;
server_name 192.168.5.11;
underscores_in_headers on;
location ~*/decision/v5/conf/ {
proxy_http_version 1.1;
proxy_pass http://BI.main.com;
proxy_next_upstream http_500 http_502 http_503 http_504 http_403 http_404 http_429 error timeout invalid_header non_idempotent;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "";
proxy_connect_timeout 20;
proxy_read_timeout 1000;
proxy_send_timeout 300;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
}
location ~*/decision/v5/design/ {
proxy_http_version 1.1;
proxy_pass http://BI.main.com;
proxy_next_upstream http_500 http_502 http_503 http_504 http_403 http_404 http_429 error timeout invalid_header non_idempotent;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "";
proxy_connect_timeout 20;
proxy_read_timeout 1000;
proxy_send_timeout 300;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
}
location ~*/decision/v10/bi/package/field/ {
proxy_http_version 1.1;
proxy_pass http://BI.main.com;
proxy_next_upstream http_500 http_502 http_503 http_504 http_403 http_404 http_429 error timeout invalid_header non_idempotent;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "";
proxy_connect_timeout 20;
proxy_read_timeout 1000;
proxy_send_timeout 300;
}
location ~*/decision/v10/entry/access/ {
if ($arg_dashboardType=4){
}
proxy_http_version 1.1;
proxy_pass http://BI.main.com;
proxy_next_upstream http_500 http_502 http_503 http_504 http_403 http_404 http_429 error timeout invalid_header non_idempotent;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "";
proxy_connect_timeout 20;
proxy_read_timeout 1000;
proxy_send_timeout 300;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
}
location / {
proxy_http_version 1.1;
proxy_pass http://BI.cluster.com;
proxy_next_upstream http_500 http_502 http_503 http_504 http_403 http_404 http_429 error timeout invalid_header non_idempotent;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection "";
proxy_connect_timeout 20;
proxy_read_timeout 1000;
proxy_send_timeout 300;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
#FineReport:38889 FineBI:48889
listen 48889;
server_name 192.168.5.11;
location / {
proxy_http_version 1.1;
proxy_pass http://WBS.com;
proxy_connect_timeout 60;
proxy_read_timeout 120;
proxy_send_timeout 120;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
ip、port需要修改为自身环境对应的ip和端口,详细的配置参数说明可参考nginx.conf 配置手册,增加了集群主节点的配置。修改后保存该配置。
启动Web集群,即部署完成。