openfire用clustering怎么配置集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openfire用clustering怎么配置集群相关的知识,希望对你有一定的参考价值。

参考技术A 步骤如下
1.使用coherence3.3+openfire3.7.1+clustering.jar1.2.0
2.将coherence3.3中的三个jar包coherence.jar+coherence-work.jar+tangosol.jar拷贝到openfire的安装目录的lib下
3.将clustering.jar拷贝到openfire的安装目录下的插件plugin包中
4.重启服务,登陆到web管理控制台,在clustering目录下设置enable
5.再重启服务,登陆管理控制台时,初始化错误异常
java.lang.ExceptionInInitializerError
at org.jivesoftware.openfire.lockout.LockOutManager.getInstance(LockOutManager.java:58)
at org.jivesoftware.openfire.auth.AuthFactory.authenticate(AuthFactory.java:154)
at org.jivesoftware.openfire.admin.login_jsp._jspService(login_jsp.java:149)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:146)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: java.lang.IllegalStateException: Unable to access backing cache for Locked Out Accounts. BackingMapManager is a com.tangosol.net.DefaultConfigurableCacheFactory$Manager and backing map is com.tangosol.net.cache.LocalCache
at com.jivesoftware.util.cache.ClusteredCache.init(ClusteredCache.java:106)
at com.jivesoftware.util.cache.ClusteredCache.(ClusteredCache.java:59)
at com.jivesoftware.util.cache.CoherenceClusteredCacheFactory.createCache(CoherenceClusteredCacheFactory.java:177)
at org.jivesoftware.util.cache.CacheFactory.createCache(CacheFactory.java:331)
at org.jivesoftware.openfire.lockout.LockOutManager.(LockOutManager.java:70)
at org.jivesoftware.openfire.lockout.LockOutManager.(LockOutManager.java:33)
at org.jivesoftware.openfire.lockout.LockOutManager$LockOutManagerContainer.(LockOutManager.java:37)
... 33 more

起初怀疑是coherence与openfire的版本不兼容,之后试了coherence3.7.1,coherence3.6.1,coherence3.5,coherence3.4与openfire3.7.1、openfire3.6.4的各种排列组合
均报异常。本回答被提问者和网友采纳

集群 Openfire 3.7.1

【中文标题】集群 Openfire 3.7.1【英文标题】:Clustering Openfire 3.7.1 【发布时间】:2012-10-13 14:39:21 【问题描述】:

我正在尝试集群openfire 3.7.1,但仍然没有成功,不知道问题是什么。步骤如下:

首先,我从插件菜单安装集群插件 1.2.0。 然后我转到 Server -> Server Manager -> Clustering 菜单并得到 java.lang.NoClassDefFoundError: com/tangosol/net/Invocable 异常。在论坛上搜索,发现Clustering Plugin 需要Oracle Coherence。所以我下载了 Oracle Coherence v3.4.2 并将所有 jar 文件从 lib 目录复制到 openfire lib 目录。然后我重新启动openfire,现在集群菜单似乎没问题,没有发生异常。 我尝试从集群菜单启用集群。它指出启用集群可能需要 30 秒。但在点击保存设置按钮后,该过程即使在 10 分钟后也不会停止。所以我停止了这个过程并重新启动了 openfire。 我再次登录,一切似乎都很好。再次访问 Clustering 菜单,它显示集群已启用并且有 1 个节点列出并正在运行。但是当我单击节点链接时,它什么也不做。此外,当我尝试访问“用户/组”菜单时,它显示 HTTP ERROR 500 with org.jivesoftware.util.cache.DefaultCache cannot be cast to com.jivesoftware.util.cache.ClusteredCache 异常。

我的机器规格是:

Ubuntu 12.04 Openfire 3.7.1 Core i5 与 8 GB 内存。

【问题讨论】:

您知道您需要获得一致性许可证吗?我建议尝试使用 Hazelcast 的新方法。 【参考方案1】:

这似乎是 1.2.0 插件的问题 查看这篇文章以获得更多帮助: http://community.igniterealtime.org/message/218486#218486

【讨论】:

谢谢罗曼。是的,问题出在 1.2.0 插件本身。

以上是关于openfire用clustering怎么配置集群的主要内容,如果未能解决你的问题,请参考以下文章

把openfire源码导入后出现错误 com.tangosol.ut ,找不到这个包????

集群 Openfire 3.7.1

openfire集群集群插件hazelcast配置

Es Cluster 配置详解

openfire集群

Openfire 集群部署和负载均衡方案