finderweb 集群配置

来源:互联网 发布:科技网络宽带客服电话 编辑:程序博客网 时间:2024/06/05 08:27
关于finder的集群配置在官网的文档中已经写的很清楚了,但是仍然有很多人不知道怎么设置集群,在百度中搜索finderweb,给出的其他搜索选项居然有“finderweb 集群配置”,可见很多人根本就没有看相关的文档,甚至连文档在哪里都不知道。所以此处把官网相关的集群配置文档再粘贴一遍。

官网文档地址: http://www.finderweb.net/docs/index.html


单机部署只看第一节即可,集群部署看第一节和第二节,其他请参考后面的章节。

1. 单机部署

重要提示:如果你不知道什么是contextPath就老老实实的按照文档来,解压到ROOT!!!如果你比较懂,那么请随意!

1. 移除TOMCAT_HOME\webapps目录下的所有文件和目录。如果有重要数据,请注意备份。

2. 在TOMCAT_HOME\webapps目录下新建ROOT目录,注意必须是大写的ROOT。

3. 解压finder.war中的所有文件到TOMCAT_HOME\webapps\ROOT,解压之后的目录结构应该如下:

TOMCAT_HOME\webapps\ROOT    + error    + META-INF    + WEB-INF    - favicon.ico    - index.html        

4. 启动tomcat即可。

单机部署之后需要做一些简单设置,如果是准备进行集群部署,不要做以下设置:

1. 使用admin登录,点击顶部的设置菜单进入后台,进入主机管理菜单,为当前主机添加工作空间。

2. 进入系统设置-安全设置,重新生成安全key和签名key,点击保存并同步到集群,单机部署完成。

重要提示:主机名和工作空间名称一旦确定,请勿随意修改,如果你已经为当前主机做了权限设置,修改主机名和工作空间名称之后需要重新设置权限。

2. 集群部署

假设有三台机器,IP分别是192.168.1.1, 192.168.1.2, 192.168.1.3, 我们假设192.168.1.1这台机器是master, 其他两台是slave, 现在要在这三台机器上部署finder:

首先按照单机部署的方式分别在三台机器上部署好finder并启动tomcat;

请注意接下来的所有操作都是在master这台机器上操作,不要登录其他机器做操作。

1. 使用admin账号登录192.168.1.1这台机器,点击顶部的设置菜单进入管理后台,进入主机管理菜单,此时只能看到一个master主机。第一步先需要将master设置好。

2. 修改master主机默认的name和url(http://www.myfinder.com/finder改成当前主机真正的访问地址),该地址务必要填写正确。然后根据情况添加工作空间。

3. 依次添加另外两台机器,同时为每台机器配置好工作空间:全部添加完主机后务必在主机列表中点击从master同步。此时添加主机的时候,新主机必须已经启动并能正常访问,在添加的时候master会向新主机发送一个新的指令告诉新主机当前的master的name和新主机的name,所以前一步编辑master务必要先做。

4. 所有主机都被添加进来之后,进入主机列表页,依次点击从master同步。前面的步骤编辑完主机之后,所有的数据存储在master上,因此需要同步到集群的其他机器上。

5. 进入系统设置-安全设置,重新生成安全key和签名key,点击保存并同步到集群,集群部署完成。

集群部署成功之后,可以根据情况决定是否做负载均衡:

Finder集群被设计为对外提供幂等服务,因此无论访问那台机器都可以访问到集群内所有机器上的文件。

第一种方式:只暴露其中的一台机器,例如通过nginx只暴露master出去给用户访问,其他的机器对用户不可见。

第二种方式:通过nginx只暴露一个统一的访问地址,例如:http://www.myfinder.com/finder。其他的机器对用户不可见,在nginx上做负载均衡。

以上无论哪种方式都需要集群内机器的tomcat开放的端口是互通的,例如你不能使用iptables只开放80端口,你需要同时将tomcat使用的端口也开放,否则集群内的机器就无法互通了。

3. 动态添加机器

如果以后需要将其他机器添加到集群,请按照下面的步骤添加:

1. 按照单机部署的方式在新机器上部署好finder;

2. 使用管理员账号登录到集群,从安全设置中将安全key和签名key拷贝出来:

3. 使用admin账号登录到新添加的那台机器,进入后台,将拷贝的安全key和签名key粘贴进去并点击保存同步到集群。此时新机器是独立的一个集群,只有它自己,它自己就是master机器。

4. 使用管理员账号登录到集群,在主机管理中将新机器加入进来,此操作集群会向新机器发出重命名指令和master指令,告诉新机器以后我是master,你的新名字是xxx:添加完主机后务必在主机列表中点击从master同步。

5. 使用管理员账号登录到集群,在安全设置中不要做任何修改,直接点击保存,这一步是为了将集群中的管理员账号同步到新机器:

6. 至此,新机器加入集群完成。

4. 系统升级

首先到官网 http://www.finderweb.net/download.html 下载最新的升级包:finder-web-x.x.x.jar,注意是.jar文件,不是.war文件。

1. 使用管理员帐号登录后台,在集群环境已经就绪的情况下不需要专门登录到master,登录其中任意一台都可以,如果使用了负载均衡,直接访问统一入口即可;

2. 进入系统更新,选择好要升级的主机(安全起见,请在系统空闲时间分批次升级),单击系统升级菜单,选择已经下载的.jar文件,点击确定即可。升级完成之后系统会自动重启无需手动重启。

5. 其他应用服务器

如果你使用的是其他应用服务器,例如resin等,finder的自动重启功能将无法使用,但是你可以通过手动创建重启脚本的方式来解决。

1. 首先编写finder_restart.sh文件,windows环境下为finder_restart.bat文件,编写完成之后放到服务器的工作目录,finder会检查这个文件,如果存在则不创建,否则自动生成一个,自动生成仅支持tomcat,如果不是tomcat将会报错。注意:这个文件只需要三到五行代码即可,不需要写很复杂的脚本,示例如下:

linux:

#!/bin/shWORK_DIRECTORY=/web/resin/bin           // 该行代码定义当前服务器的工作目录echo stop tomcat${WORK_DIRECTORY}/shutdown.sh           // shutdown.sh改为服务器的关闭脚本kill -9 $1                              // $1为finder重启时传递过来的当前容器的进程idecho start tomcat${WORK_DIRECTORY}/startup.sh            // startup.sh改为服务器的启动脚本echo start success

windows:

@ECHO OFF@set WORK_DIRECTORY=/web/resin/bin     // 该行代码定义当前服务器的工作目录@SET JAVA_PROCESS_ID=%1                // %1为finder重启时传递过来的当前容器的进程id@ECHO stop tomcatcall %WORK_DIRECTORY%\shutdown.bat     // shutdown.sh改为服务器的关闭脚本if not "%JAVA_PROCESS_ID%"=="" taskkill /F /pid %JAVA_PROCESS_ID%@echo start tomcatcall %WORK_DIRECTORY%\startup.bat      // startup.sh改为服务器的启动脚本@ECHO start success

在重启的过程中脚本需要做三件事:第一,关闭服务器;第二,杀死服务器,如果第一步关闭失败,这一步是强制杀死操作;第三部,启动服务器。

为了确保重启的可靠性和重启脚本的简单,finder的重启操作采用进程镜像的方式,这样做的可靠性很高,几乎可以确保100%重启成功,而且不需要编写复杂的脚本。

6. 特殊配置

以下配置不是必须的,有特殊需求的可以按此操作

1. Finder中~/WEB-INF/classes/META-INF/conf中的文件均可移动到${user.home}/skinx/${APP_NAME}/META-INF/conf目录中。

其中${user.home}指当前操作系统用户的用户目录,windows下为:C:\Users\${YOUR_NAME},linux下为当前启动tomcat的用户:/home/${YOUR_NAME}。请确保当前用户对这个目录拥有写权限。

${APP_NAME}默认为finder,如需指定,请在~/WEB-INF/classes目录下新建app.properties文件,并写入一行代码:name=xxxx

系统在启动的时候会首先检查${user.home}/skinx/${APP_NAME}/META-INF/conf目录是否存在,如果存在则所有的配置文件和应用数据都从该目录加载,否则从~/WEB-INF/classes/META-INF/conf加载。

另2.2.6及以后的版本没有cookie.properties这个配置文件,如果是从老版本升级到2.2.6的可以删除该文件。

由于配置文件目录会存储系统运行过程中产生的用户数据和权限数据,因此强烈建议将该目录从应用目录迁移到用户目录。