实际上,我已经按照Pentaho Official Docs成功设置了pentaho社区集群。和 Pentaho in High Availability部署时嵌入tomcat 8,并使用apache2作为反向代理。
我的设置:
- 第一个节点:pentaho server ce 7.1 嵌入式 tomcat 8
- 第二个节点:pentaho server ce 7.1 嵌入式 tomcat 8
- Web 服务器:apache2 http 反向代理
- 数据库:postgresql 9.4
每个都运行在不同的服务器上,它们之间没有防火墙,同一网络,可以保证没有网络或防火墙问题。
我可以启动集群,可以 ping 通两台服务器,并且可以通过反向代理访问它们。我可以测试两者都在使用反向代理,因为我关闭了其中一个,而另一个继续应答(由于粘性功能而丢失 session )。
安装完所有内容后,我决定手动迁移所有用户、权限、文件和计划任务。当我创建用户时,我可以看到在两个实例中创建的用户(通过 IP 访问它们而不是通过反向代理),此时一切正常。
但是,当我上传文件或从存储库浏览器创建/删除文件/文件夹时,我无法在两个节点中看到这些更改,只能在事件 session 的节点中看到这些更改。
Pentaho日志没有显示任何错误,据我所知,每个节点都有自己的文件存储库,所以我再次检查了所有配置文件,并且可以验证文档中指定的所有内容是否已更改为使用PostgreSQL。
搜索后,我倾向于认为,在集群模式下,文件存储库(jackrabbit)对于所有节点来说并不是“唯一”的,我的意思是,每个节点将继续拥有自己的文件存储库,这就是时间不够,因为我的团队是直接上传报表到bi服务器,而且他们用的是反向代理,不是通过ip访问。
我认为设置数据库,它将统一存储库,因此,我可以获取数据库存储库中的所有文件和文件夹,而不是每个节点中的所有文件和文件夹。
如果这不是正确的方法,是否有办法在集群模式下使用唯一的文件系统存储库?
感谢您的关注。
最佳答案
正如@AlainD所述,我终于找到了问题。
问题出在配置文件上:
../pentaho-server/pentaho-solutions/system/jackrabbit/repository.xml
在 jackrabbit 存储库配置文件中,我没有更改每个工作节点的唯一 id 值,两个工作节点具有相同的 id。
我不知道这样做的确切后果,但在为每个工作节点设置正确的值后,它开始发挥作用!甚至对 pentaho server 8 使用相同的配置文件,我能够迁移配置。谢谢。
关于cluster-computing - Pentaho 7.1社区版集群统一存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49305483/