E9集群部署踩坑记录

E9集群部署踩坑记录

  • 第一部分,在http协议下进行集群部署
    • 1. linux自带的数据库备份出现问题
    • 2. 集群后微搜服务无法正常使用
    • 3. 集群后其中一台EC会出现not found code的提示,并且在消息聊天中无法发送图片,以及发送文档显示500错误。
    • 4. nfs存储配置
    • 5. 发现集群中各个节点之间的文件并没有统一存储
  • 第二部分 添加证书,使用https协议
    • 1. 添加证书之后出现某些页面无法访问,页面自动跳转到http协议
    • 2. EC和EM中的人员信息同步失败。有的时候会出现同步了两部分(即分部重复)的情况。
    • 3. 在pc打开右下角的聊天图标会显示一篇空白。无法同步EM中的聊天记录,并且会被谷歌浏览器右上角拦截
    • 4. 添加证书后重新出现not found code
    • 5. 添加证书后永中转换软件无法使用

第一部分,在http协议下进行集群部署

1. linux自带的数据库备份出现问题

场景:首先在数据库测试服务器进行备份准备进行数据库迁移。使用mysqldump命令进行数据库备份。结果出现备份数据不全(怀疑是少了存储过程或者说函数等),结果在正式数据库服务器还原后,一开始使用没有发现,因为可以登录而且前端大部分功能也可以使用。使用了半天后发现文档无法打开,流程无法创建。经多方面排查后没有查出是配置问题,然后切换回测试数据库(ps:切换完数据库之后不能马上删除测试数据库应保留着测试数据库以防万一),发现功能恢复正常。
解决方法:使用mysqlworkbench进行全库备份,再还原覆盖到正式服务器,问题解决。

2. 集群后微搜服务无法正常使用

场景:当可以在内网访问两台正式的EC9服务器时,对微搜进行使用,发现配置出现问题,无法正常使用。
解决方法:经总部技术人员建议,集群时ESearch2只需要在其中一个ecology应用服务器中进行安装,elesticsearch就保留在(其他应用)服务器,其实elesticsearch是可以进行集群的,此处没有必要。根据微搜的部署文档,要对ESearch2中的配置文件进行修改编辑,以及另外的节点的配置文件进行修改。此时配置完了还是不行,还差一步就是给各个服务器添加hostname。当加了hostname之后各个服务器才可以进行微搜之间的搜索。微搜部署文档中都有说明,其中有一个配置文件可以不改,更换为在EC前端微搜页面进行手动配置指向ESearch2所在服务器的2089端口。配置完成后分别进入两台EC都可以进行微搜搜索。

3. 集群后其中一台EC会出现not found code的提示,并且在消息聊天中无法发送图片,以及发送文档显示500错误。

解决方法:当解决消息服务发送图片以及文档等问题后not found code也跟着消失了。
在ecology集成中分别加入两台ecology,内网地址不同,外网地址相同(因为用了nginx)。
在询问上海总部时,技术人员说配置有问题,要我把ecolog集成中改为一个,内网地址改为nginx内网的地址,不对转发后的结果进行集成。但是因为其他配置原因我没有能删除掉其中一个。然后我对消息设置中的功能设置中的聊天文件存储方式和常用语存储方式由本地存储改为ecology系统存储,并选择了集成中其中一个系统。保存后进入EM发送图片和文档都成功了,并且not found code弹窗没有再次出现。

4. nfs存储配置

解决方法:根据配置文档进行配置,其中nfs的命令一开始没有安装,必须要先安装他的命令,然后再按照文档进行一遍操作。当挂载好并且分享到各个服务器中,必须重启这几个服务器,包括nfs服务器以及被分享的服务器。重启被分享的服务器后可以看到在分享的位置出来一个新的文件夹就是被分享出来的文件夹。然后修改每个EC上的文件存储位置到这个分享出来的文件夹下。

每个服务器都需要安装nfs服务。
yum install -y nfs-utils portmap

5. 发现集群中各个节点之间的文件并没有统一存储

场景:客户在ec中上传了一张图片,重新登录后发现图片不见了,放到主页中的图片还是原来没改之前的,经排查是两个节点中的文件没有统一,图片只存在了其中一个节点。
解决方法:之前配置nfs的时候没有配置完全,只是把共享文件夹挂载到各个服务器上,但是并没有实现文件的共享。测试方法是在文件服务器加一个文件夹,看其他的节点中的共享文件夹是否有显示添加相应的文件夹。出现问题的根本原因是nfs文档的说明不完全,要实现集群必须要看 (泛微协同办公应用平台e-cology nginx+resin集群部署手册),其中说明了在各个节点挂载了共享文件夹之后,还要为ecology中的相应文件夹进行软连接(linux中的软连接类似windows中的快捷方式),当ec要从原先的images文件夹中获取或写入图片时,我用软连接把原先的images文件夹连接到共享文件夹file_data/images中,各个节点实现使用同一个文件夹。
PS:在把ec的文件夹移动到文件服务器时切忌不能直接用mv命令,因为存储使用的是网络存储,需要占用带宽,移动时跟上传文件到云盘一样会变得非常的缓慢。经过测试最快的方法是,首先在节点中把要复制的文件夹用unzip -q -r 命令进行压缩,变成压缩包之后用mv命令复制到共享文件夹。然后进入文件服务器对其进行解压(本地解压速度比在节点中进行网络传输命令解压快很多)。

第二部分 添加证书,使用https协议

概要:在部署完http协议的集群后,所有功能都已经调通,本以为加完证书就可以了,很快就能部署完成,结果里面引发的各种问题足足处理了半个月之久。截止编写该文档时webservice无法通过https:域名的方式用java编程工具直接生成代理类的问题仍未解决。不过对接的是.net暂时通过其他的方式解决了接口调用问题。

1. 添加证书之后出现某些页面无法访问,页面自动跳转到http协议

场景:大部分页面不受影响,小部分模块页面受此影响无法正常打开页面,在浏览器开头强行把协议改为https之后可以浏览。
解决方法:上海的说明是某些模块一开始写的就是http,他们建议通过nginx的强行转发把所有http://域名开头的请求都变为https://域名,这样子即可解决。本来以为客户使用的是nginx做负载均衡,结果他们使用的是深信服负载均衡。然后通过和网络管理人员的沟通,在深信服负载均衡器里面设置了把所有http://域名开头的请求都变为https://域名。

2. EC和EM中的人员信息同步失败。有的时候会出现同步了两部分(即分部重复)的情况。

原因:EM后台配置出错,原先的配置是ecology集成中我设置了两个,分别对应的是集群中两个节点的内网域名。上海的技术人员给出了和之前一样的答复,这里必须要放入负载均衡的内网地址。我和网络部经理沟通过,他们负载均衡器并没有内网地址。然后只能在某台服务器中安装一个nginx,之后把域名:端口的映射改为nginx服务器上的端口。即把原先在深信服设备上做负载均衡转移到在内网的nginx中做负载均衡。深信服设备只做一个转发操作。设置完之后在把EM中ec集成的设置删除掉其中一个,然后改另一个为nginx服务器中访问ec的内网地址。这样子操作完之后,nginx做负载均衡时默认还会启动容灾机制,即把其中一个节点的服务停掉了,会自动把所有请求都转发到没问题的服务器。就只是如果用户在用的那个节点挂了,会出现session消失,需要重新登录,基本上可以做到无感。

3. 在pc打开右下角的聊天图标会显示一篇空白。无法同步EM中的聊天记录,并且会被谷歌浏览器右上角拦截

解决方案:之前把ec和em中大部分的端口都改为了https,但是EM中的消息设置仍保留使用http的。在手机上使用是感觉不到问题的,但是在pc端用浏览器访问时由于是从https向http发起的请求所以会被认为是不安全的连接就会被拦截。上海给出的解决方案就是把消息端也变为使用https。把5222端口改为tcp协议,然后7070端口改为https协议。如图

7070端口要打开加密。

4. 添加证书后重新出现not found code

解决方案:升级最新的EM版本,并且把EC的KB升级到1801以上版本即可解决

5. 添加证书后永中转换软件无法使用

解决方案:通过文档转换页面的f12可以看到ec内部向永中发送的请求时http的,导致被浏览器拦截了。即之前深信服设备上做的转发配置有缺陷,经过修改后,可把内部请求也强行变为https请求。并且把永中服务的端口变为https。
永中这边的具体配置为:
(1)IP80
cd /ecology_dvs/tomcat/webapps/ecology_dvs/WEB-INF/

vim config.properties

staticPath=https://域名:8081/

(2)IP83/IP
cd /usr/weaver/ecology/WEB-INF/prop/

vim doc_custom_for_weaver.properties

convert_client_path=http://域名:8081

convert_ecology_path=https://域名:8888
即永中软件服务器中的配置是为https的,但是各个节点ec中的配置文件中的永中地址是为http的。

你可能感兴趣的:(集群,泛微,ecology,集群,centos,linux)