O2OA是一款全开源的企业信息化开发平台,作为OA系统开发平台,O2OA着力于帮助企业降低信息化系统开发成本,帮助企业提升信息化能力。本系列主要以实战形式向大家介绍使用开源OA平台搭建一套协同办公系统的实际操作过程,让大家更好地了解O2OA平台的基本能力。
我们之前演示的都是在单服务器环境下,下面我们来配置集群环境.
集群的主要目的是实现负载均衡,失效转移
服务器配置建议: 4C8G/每1000活跃用户.
如果集团有2000活跃用户,那么建议使用两台机器.以此类推.
下面我们演示双机集群部署.
服务器准备
我们搭建两个服务器
trains1.o2oa.net
trains2.o2oa.net
数据库我们就使用在前一个章节配置的mysql数据库
这样我们的集群架构就是这个样子
这个是一个集群环境,有两个节点,每个节点都分别启动了 web center,application三个服务器,共用一台数据库,这两个节点就构成了可以实现负载均衡的集群环境。
课前已经准备好了两台服务器,安装的是centos7的系统.由于我们O2OA服务器已经包含所有的依赖运行库,我们在centos上不需要安装其他软件.直接将o2oa服务器程序拷贝上去,解压就可以运行了.
配置服务器trains1.o2oa.net
进入到o2oa官网(https://o2oa.net) -> 平台下载
下载我们操作系统对应的介质,我们这里使用的是intel芯片,那么选择linux-x64的介质.
如果是龙芯,鲲鹏这样的国产主机,使用的是arm芯片,那么选择下载linux-arm.
如果是飞腾的主机,使用的是mips芯片,那么选择下载linux-mips.
下面我们直接登陆到服务器上进行下载.
之前在服务器上我们已经设置好了host文件,可以用域名访问服务器地址
172.16.91.120 traindb.o2oa.net 172.16.91.121 trains1.o2oa.net 172.16.91.122 trains2.o2oa.net
服务器程序是通过识别在config目录下的node_xxx.json文件来判断集群成员的,有node_trains1.o2oa.net.json和node_trains2.o2oa.net.json那么服务器程序就会识别到集群有两个成员.
当前服务器是哪个成员是通过在o2server目录 local/node.cfg进行识别的.
等一会儿我们需要用文本编辑器将内容改为trains1.o2oa.net 这样程序就能从node.cfg的内容'trains1.o2oa.net' 关联到节点配置文件 node_trains1.o2oa.net.json.
下载地址:http://mirror1.o2oa.net/download/o2server-6.4.4-linux-x64.zip
现在我们登陆到第一台服务器上:trains1.o2oa.net
#进入opt目录 cd /opt #下载介质 wget http://mirror1.o2oa.net/download/o2server-6.4.4-linux-x64.zip #解压介质到o2server目录 unzip o2server-6.4.1-linux-x64.zip #进入目录 cd o2server #创建config目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件 mkdir config #复制node_127.0.0.1.json文件作为trains1节点的配置文件 cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json #复制node_127.0.0.1.json文件作为trains2节点的配置文件 cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json #创建local目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件 mkdir local #拷贝node.cfg 作为本节点的节点名称标识文件. cp localSample/node.cfg local/node.cfg
cd /opt wget http://mirror1.o2oa.net/download/o2server-6.4.4-linux-x64.zip unzip o2server-6.4.1-linux-x64.zip cd o2server mkdir config cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json mkdir local cp localSample/node.cfg local/node.cfg
configSample目录存放的都是配置文件样例,本身并不生效,config下的配置文件才是生效的配置文件,在config目录下没有的配置将使用系统默认配置.
复制完成后我们通过sftp工具上传前个章节创建的数据库配置文件到trains1.o2oa.net服务器上
-
将文件 externalDataSources.json (上节课已经介绍过)上传到trains1.o2oa.net 服务器的/opt/o2server/config目录下.
-
修改 local/node.cfg的内容为trains1.o2oa.net
-
config/node_trains1.o2oa.net.json全部采用默认配置,不做修改.
-
config/node_trains2.o2oa.net.json修改center节点的排序号为1.
-
config/node_trains2.o2oa.net.json修改storage节点的name为252.
键 | 默认值 | 修改值 | 说明 |
center.order | 0.0 | 1.0 | center 节点顺序,服务器会按指定的顺序选举中心节点,用于同步所有服务器之间的任务调度. |
storage.name | 251 | 252 | 存储服务器的节点名称,需要在所有集群服务器间保持唯一.trains1.o2oa.net服务器默认是251,将trains2.o2oa.net的存储节点名称改为252. |
到这里我们就完成了trains1.o2oa.net服务器的配置.
配置服务器trains2.o2oa.net
现在我们来配置第二台服务器
登陆到服务器上
-
下载介质.
-
创建默认配置文件.
-
修改配置.
#进入opt目录 cd /opt #下载介质 wget http://mirror1.o2oa.net/download/o2server-6.4.1-linux-x64.zip #解压介质到o2server目录 unzip o2server-6.4.1-linux-x64.zip #进入目录 cd o2server #创建config目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件 mkdir config #复制node_127.0.0.1.json文件作为trains1节点的配置文件 cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json #复制node_127.0.0.1.json文件作为trains2节点的配置文件 cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json #创建local目录,服务器启动时也会自动创建,这里创建是为了直接拷贝配置文件 mkdir local #拷贝node.cfg 作为本节点的节点名称表示文件. cp localSample/node.cfg local/node.cfg
cd /opt wget http://mirror1.o2oa.net/download/o2server-6.4.1-linux-x64.zip unzip o2server-6.4.1-linux-x64.zip cd o2server mkdir config cp configSample/node_127.0.0.1.json config/node_trains1.o2oa.net.json cp configSample/node_127.0.0.1.json config/node_trains2.o2oa.net.json mkdir local cp localSample/node.cfg local/node.cfg
复制完成后
和trains1.o2oa.net 操作一样,将externalDataSources.json 复制到trains2.o2oa.net服务器上,再修改配置文件
-
将文件 externalDataSources.json 上传到trains2.o2oa.net 服务器的/opt/o2server/config目录下.
-
修改 local/node.cfg的内容为trains2.o2oa.net
-
config/node_trains1.o2oa.net.json全部采用默认配置,不做修改.
-
config/node_trains2.o2oa.net.json修改center节点的排序号为1.
-
config/node_trains2.o2oa.net.json修改storage节点的name为252.
至此服务器集群就配置完成了.
检查配置文件
我们再次检查配置文件是否符合要求.
验证集群部署
进入trains1.o2oa.net服务器/opt/o2server目录执行 ./start_linux.sh 启动trains1.o2oa.net 服务器.
cd /opt/o2server ./start_linux.sh
进入trains2.o2oa.net服务器/opt/o2server目录执行 ./start_linux.sh 启动trains2.o2oa.net 服务器.
cd /opt/o2server ./start_linux.sh
验证trains1.o2oa.net服务器是否在集群中
访问地址 http://trains1.o2oa.net/x_desktop/index.html
使用xadmin管理员登陆
然后访问地址 http://trains1.o2oa.net:20030/x_program_center/jest/list.html
我们可以看到模块列表已经连接上两台服务器
在服务器控制台上输入 ctl -sc 能看到同样的输出内容
我们在前面的步骤中已经采用了域名来访问,集群之间是通过x-token令牌来传递身份的,在客户端默认是采用cookie来传递x-token,服务器默认采用根域名作为cookie的domain,这里直接完成了两台服务器之前的登陆互通,无需二次登陆.
验证trains2.o2oa.net服务器是否在集群中
访问地址 http://trains2.o2oa.net/x_program_center/jest/list.html
我们可以看到模块列表已经连接上两台服务器
在服务器控制台上输入 ctl -sc 能看到同样的输出内容
更多推荐