当前位置: 首页 > 知识库问答 >
问题:

负载平衡地理网络Tomcat HAProxy

闻枫
2023-03-14

最近,我在一台机器上使用HAProxy配置了两个Tomcat(A和B)的集群(一切正常)。我已经在两个网络服务器上解除了Geonetwork WAR。我启动Tomcat A没有问题,但是当启动Tomcat B时,当它的“geonetwork.war”试图访问Lucen索引时出错,这是由于Tomcat A启动时write.lock生成的锁(我假设)。

错误如下:

2016-11-22 20:47:59,700 ERROR[geonetwork.index]-打开分类法读取器/写入器时出错org.apache.lucene.store.LockObtainFailedExctive: Lock获取超时:NativeFSLock@/data/geonetwork/geonetwork_data_agrologia/index/分类法/write.lockorg.apache.lucene.store.Lock.obtain(Lock.java:89)atorg.apache.lucene.index.IndexWriter.(IndexWriter.java:724)atorg.apache.lucene.facet.taxonomy.directory.DirectoryDroonomyWriter.openIndexWriter(DirectoryDroonomyWriter.java:265)atorg.apache.lucene.facet.taxonomy.directory.DirectoryDroonomyWriter.(DirectoryDroonomyWriter.java:192)atorg.apache.lucene.facet.taxonomy.directory.DirectoryDroonomyWriter.(DirectoryDroonomyWriter.java:315)atorg.apache.lucene.facet.taxonomy.directory.DirectoryDroonomyWriter.(目录分类法riter.java:332)在org.fao.geonet.kernel.search.index.分类法指数racker.init(分类法指数racker.java:46)在org. fao. geonet. kernel. search. index。分类法指数追踪器。(分类法指数追踪器. java: 40)在org. fao. geonet. kernel. search. index。LuceneIndexLanguage ageTracker. lazyInit(LuceneIndexLanguage ageTracker. java: 75)在org. fao. geonet. kernel. search. index。LuceneIndexLanguage ageTracker.获取(LuceneIndexLanguage ageTracker. java: 173)在org. fao. geonet. kernel. search。SearchManager. getIndexReader(SearchManager. java: 1407)在org. fao. geonet. kernel. search。SearchManager. getNewIndexReader(在org. apache. catalina. core的ContainerBase. addChild内部(ContainerBase. java: 752)。在java. utila. core的org. apache. catalina. core的ContainerBase. addChild(ContainerBase. java: 728)。在org. apache. catalina. startup的标准主机. addChild(Standard ardHost. java: 734)。在org. apache. catalina. startup的HostConfig$DeployWar. run(HostConfig. java: 1823)。执行器$RunnableAdapter. call(Executors. java: 511)。在java. utili. concam. FutureTask. run(FutureTask. java: 266)。ThreadPoolExecutor. runWorker(ThreadPoolExecutor. java)

是否有任何方法可以避免Lucene锁或配置Geonetwork应用程序以允许在集群/负载平衡时访问这些索引?

共有1个答案

终子昂
2023-03-14

GeoNetwork不支持开箱即用的负载平衡。您必须将其与“只读”配置相结合,并拥有一个主设备和几个从设备。

 类似资料:
  • lvs Linux Virtual Server (lvs) 是Linux内核自带的负载均衡器,也是目前性能最好的软件负载均衡器之一。lvs包括ipvs内核模块和ipvsadm用户空间命令行工具两部分。 在lvs中,节点分为Director Server和Real Server两个角色,其中Director Server是负载均衡器所在节点,而Real Server则是后端服务节点。当用户的请求到

  • 我有两条溪流。一个是事件流,另一个是数据库更新流。我想用从DB更新流构建的信息丰富事件流。 事件流非常庞大,使用5个字段进行分区。这给了我很好的分配。DB流不那么喋喋不休,并且使用两个字段进行分区。我目前正在使用两个公共字段连接这两个流,并使用flapMap来丰富第一个流。flatMap运算符使用ValueState维护状态,状态由两个公共字段自动键入。 除了实现自定义逻辑来手动提取键并更新维护状

  • 如何将aws应用型负载均衡器和网络负载均衡器直接与自动缩放组(ASG)连接?在AWS控制台中,只有经典负载均衡器可用。我想要的是,每当在自动缩放组中启动实例时,它将开始直接向应用程序/网络负载均衡器报告,而不是手动输入目标组中的每个实例。

  • 我是微服务的新手。(学习阶段)。我有一个问题。我们在云中部署微服务。(例如 AWS)。云已经提供了负载平衡和日志。我们还在Spring Boot中实现了负载平衡(功能区)和日志(Rabbit MQ和Zipkin)。这两种实现有什么区别?我们两者都需要吗?有些人可以回答这些问题吗? 提前感谢。

  • 我需要一些nginx负载平衡方面的帮助。我有一个docker实例,它服务于一个静态网页,它有两个容器,比如说192.168。1.1:8081 - 当我输入这些IP地址192.168.1.1时,这些IP必须服务于我的两个站点之间的负载。 在我的Nginx中,我必须为此设置两个文件 Nginx。conf,在这些文件中,我必须包含我的默认值。conf文件。违约conf文件包含以下信息。 当我键入192.

  • 在我的AWS帐户中,我当前有一个网络负载平衡器(TCP),它指向两个可用性区域(web服务器)上的两个Ec2实例,每个可用性区域都运行一个tomcat,它指向一个Ec2实例,即应用程序服务器/数据库。 在NLB上,粘性会话是启用的,因此当我在单个选项卡上从Chrome访问网络服务器时,一切正常,我的所有用户流量都发送到单个网络服务器。当我打开一个新选项卡时,似乎启动了一个新会话,我的用户流量可以发