注意!
如果您正在使用的是 Smartbi Spreadsheet 电子表格版本,下文中所有涉及到 smartbi、smartbi.war 名称的地方需要全部替换为 spreadsheet、spreadsheet.war。千万注意!
2、配置前的准备工作
在配置集群应用前要对集群环境有一个良好的设计,下面就是我们这次配置的集群信息,在同一网段内的不同机器上配置集群。
操作系统 | 硬件配置(IP、端口) | 角色 | 描述 |
---|---|---|---|
Win2003 Server | IP:192.168.1.8 ,PORT:8003 | Proxy Server | 负载均衡服务器,负责请求分发。 |
Win2003 Server | IP:192.168.1.8 ,PORT:8001 | Smartbi Server1 | Smartbi 服务器1。 |
Win2003 Server | IP:192.168.1.9 ,PORT:8001 | Smartbi Server2 | Smartbi 服务器2。 |
3、部署文件说明
文件名 | 作用说明 |
---|---|
smartbi.war | Smartbi 服务器手工部署包,该文件不建议改名。 |
代理分发包,负责 Smartbi 所有请求的转发。 |
4、部署和配置Smartbi服务器
在各个机器上分部部署和配置 Smartbi 服务器,具体步骤如下。
- 在指定的服务器上安装 Tomcat 应用服务器。
- 修改<Tomcat>\conf\server.xml文件。查找<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">标签,在其中加上jvmRoute="tomcat1"属性。注意:每个服务器上的 tomcat 都要修改,并且必须保证每个Server都使用不相同的值,不允许多个服务器使用相同的 jvmRoute 值。
- 方案一:修改war包,将smartbi.war\WEB-INF\ehcache.xml 文件删除;然后将smartbi.war\WEB-INF\ehcache_cluster.xml 文件重命名为 ehcache.xml。
方案二:修改war包,将smartbi.war\WEB-INF\ehcache.xml 文件删除;然后将smartbi.war\WEB-INF\ehcache_cluster_manual.xml 文件重命名为 ehcache.xml,然后参考下图修改各个节点对应的ehcache.xml。
注:建议使用方案一( IP 广播(UDP)可到达的使用方案一),如何测试是否广播可达,请参考wiki文档:分组广播测试 - 接下来几步部署smartbi.war,更详细的步骤可以参考“在各种应用服务器上手工部署”文档中部署到 tomcat 章节。
- 将修改后的 smartbi.war 包复制到每个<Tomcat>\webapps 目录下。
- 运行<Tomcat>\bin\startup.bat,启动 Tomcat 服务器。分别登录smartbi 配置页面,设置知识库信息,上传License文件,完成系统配置。注意:所有服务器节点必须连同一个知识库,这样才能在连接到任一节点时都看到相同的资源。
- 重启应用。
- 至此一个节点部署完毕,重复上述步骤,再部署其它节点。
5、配置负载均衡服务器
在集群环境中的一台机器上部署负载均衡包,由其将请求分发到各个节点上。
- 在一台服务器上安装 Tomcat 应用服务器。
- 将代理分发包 smartbi_proxy.war 重命名为 smartbi.war,这里的名称必须与 smartbi 真实的访问上下文路径一致。
- 修改代理分发包中 WEB-INF\web.xml 配置文件,找到如下标记段<init-param><param-name>url</param-name><param-value>http://localhost:8080/smartbi/</param-value></init-param>,节点中的值为各个 smartbi 服务器的访问地址,多个服务器地址以逗号分隔。
- 将修改后的代理分发包 smartbi.war 复制到第 1 步安装的<Tomcat>\webapps 目录下。
- 运行<Tomcat>\bin\startup.bat,启动负载均衡服务器。
6、通过代理访问Smartbi
- 重启所有 Server 上的 Smartbi 应用。
- 单独访问每一个 Smartbi 服务器,确认其可以正常访问。另外请访问每一个 Smartbi 服务器上的 listcaches.jsp 页面,查看其中 Peers 列节点同步信息是否正确,该页面地址:http://192.168.1.8:8001/smartbi/vision/monitor/listcaches.jsp
- 访问代理分发服务器 http://192.168.1.8:8003/smartbi,此时应该显示 Smartbi 登录页面,与单独访问某个节点一样。
- 代理分发的原理是,按次序分发。假如有两个服务节点,第一个用户登录被分发到服务器1,并且其之后的所有请求都在服务器1上,直到注销;第二个用户被分发到服务器2,并且其之后的所有请求都在服务器2上,直到注销。第三个用户会被分发到服务器1,并且其之后的所有请求都在服务器1上,直到注销;依次循环。如果某个服务器节点故障,则请求分发时会跳过该节点。