Tomcat集群部署

编辑
文档创建者:doreen0813 (83193 )     浏览次数:727次     编辑次数:7次     最近更新:doreen0813 于 2018-10-23     

目录:

1、部署FineBI编辑

参考Tomcat服务器部署在Tomcat中部署FineBI应用。

2、状态和文件服务器准备(都仅需一个)编辑

2.1 搭建redis服务器

1. 使用如下命令在服务器上安装依赖包和常用包。

yum install gcc gcc-c++ make zlib-devel readline readline-devel tkutil tk tkutil-devel tk-devel openssl openssl-devel wget vim ntp -y

2. 使用如下命令下载redis

wget http://download.redis.io/releases/redis-3.2.11.tar.gz

3. 解压redis

tar -zxvf redis-3.2.11.tar.gz

4. 重命名redis

mv redis-3.2.11 /opt/redis

5. 编译安装redis

cd /opt/redis make & make install

6. 进入目录启动

cd /opt/redis-3.2.11/src nohup ./redis-server & ./redis-cli CONFIG SET protected-mode no

启动完成后可以通过ps aux | grep redis查看reids 是否在运行。

2.2 搭建FTP或者SFTP服务器

1. 下载FTP的安装jar,在jar的同目录执行java -jar FineFTPServer.jar命令运行。

java -jar FineFTPServer.jar

2. 设置ftp根目录、端口、用户名密码,并点击启动

注:目前不支持21端口。

222

3. 启动成功会出现FTP server started,可以点击停止ftp服务。

222

注:要求账号有读写权限,路径可访问,并且保证网络可靠。  

注:因为在FineBI中开启集群必须配置FTP服务器,若在此步骤不想安装FTP服务器,可在FineBI安装目录%FineBI%/webapps/webroot/WEB-INF/embed/finedb下找到db.script文件,为fine_conf_entity表并添加FineClusterConfig.params.cluster,值为true,用于手动配置集群开启。

3、数据库准备编辑

新建一个mysql数据库,用来做数据迁移,此处不再详细介绍。

4、集群启动编辑

1. 启动一台节点,进入平台(如localhost:37799/webroot/decision),如果数据库中没有数据,会要求配置管理员账户密码,然后配置数据库,此时填入第二章节准备好的数据库配置。

2. 进入管理系统>智能运维>集群设置,配置启动好的状态服务器和文件服务器信息,保证测试连接成功后,打开集群开关并重新启动此节点

222

注:若配置状态服务器连接redis时出现“DENIED Redis is running in protected mode”,需要在redis.conf添加“protected-mode no”或者去“搭建redis服务器"步骤中执行./redis-cli CONFIG SET protected-mode no。

3. 把上述已启动节点安装目录%FineBI%/webapps/webroot/WEB-INF/config下的db.properties文件拷贝到各个节点的对应目录下,依次启动各个节点;

5、修改集群转发端口编辑

集群转发中,默认转发到58312端口中,如果tomcat起的端口不是58312的话,需要去FineBI管理系统>集群配置页面修改每个节点的端口号。如下图:

222

6、安装配置nginx编辑

6.1 安装nginx

1. 使用如下命令安装依赖软件:

yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

2. 下载nginx

wget http://nginx.org/download/nginx-1.13.7.tar.gz

3. 解压并创建安装目录

tar zxvf nginx-1.13.7.tar.gz mkdir -p /usr/local/nginx

4. 修改配置

cd nginx-1.13.7 ./configure --prefix=/usr/local/nginx 

5. 安装nginx

make && make install

6. 进入nginx目录,启动nginx

cd /usr/local/nginx/sbin ./nginx

7. 防火墙开放80端口

iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/init.d/iptables save /etc/init.d/iptables restart 

6.2 配置nginx

在nginx的安装目录下找到nginx.conf,并参考如下代码配置:

#tomcat的各节点: upstream lb { server 192.168.1.117:18080 max_fails=5 fail_timeout=200s; server 192.168.1.133:18080 max_fails=5 fail_timeout=200s; } #websocket的各节点: #这里加了ip_hash,就可以写多个节点 upstream lbs { server 192.168.1.117:38888 max_fails=5 fail_timeout=1000s; server 192.168.1.133:38888 max_fails=5 fail_timeout=1000s; ip_hash; } #http端口的监听: server { listen 80; server_name 192.168.1.133; location / { #如果最后访问nginx端口的fs时遇到报错“Nginx 502 Bad Gateway ”,可以在下面增大缓冲区设置: ###############添加这3行 proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; ###############添加这3行 proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://lb; proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header; } } #websocket端口的监听(默认为38888): #这边要是配了非默认的38885,在数据库就需要手动增加一个字段,如下(2) server { listen 38885; server_name 192.168.1.133; location / { proxy_pass http://lbs; proxy_connect_timeout 600; proxy_read_timeout 600; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }

在FineBI的目录%FineBI%/webapps/webroot/WEB-INF/embed/finedb下找到db.script文件,为fine_conf_entity表中添加一行字段:WebSocketConfig.requestPort,如下:

222

其中端口与上面nginx.conf里配置的websocket监听端口一致。

注:如果启动时Tomcat服务器时发现websocket服务器没有正确启动,可能需要开放端口(Linux),使用如下命令开放对应websocket端口即可:

iptables -A INPUT -ptcp --dport 38888 -j ACCEPT

再次重启各节点,全部启动完成后,访问配置的nginx转发ip即可访问集群。(访问时是随机访问集群的某个节点)

至此,Tomcat的集群即搭建完毕。

附件列表


主题: 部署集成
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用? [ 去社区提问 ]