如何将Apache Solr 5x部署到Jelastic云中?

我们使用Solr 5.5和我们的NodeJS应用程序。 在Jelastic中configuration这个最好的方法是什么? Jelastic Solr文档只包含4.x,但是Solr放弃了5.x的WAR文件,所以我不知道是否应该使用Solr docker或者Jelastic VPS?

这是主观的,但我会build议使用一个Docker镜像,因为你将拥有更多的控制/灵活性。

将Solr部署到弹性VPS节点当然是可能的,但是由于您需要手动安装,所以与创build自己的Docker映像几乎相同。

然而,使用Elastic VPS很难在将来创build另一个相同的节点(例如,如果您决定需要另一个项目的另一个Solr实例)。

根据Docker卷的使用情况,您也可以在需要时将Docker镜像升级(重新部署)到更高版本。 所以我相信Solr节点的长期维护作为Docker镜像也会更容易。

A.创build环境

  1. login到Jelastic Manager中的仪表板
  2. 点击仪表板左上angular的创build环境button,在Jelastic中设置一个新的环境。

在这里输入图像说明

  1. 在打开的环境拓扑向导中导航到Java语言选项卡。 然后selectJetty 6作为您的应用程序服务器,使用云端滑块设置资源限制并键入环境名称(例如Solr531 )。

在这里输入图像说明

在短短一段时间内,您的环境将出现在仪表板中。

B.上传Solr包

  1. 请到Solr网站下载最新版本的软件包(我们在本说明书中使用了v.5.3.1)。 提取您拥有的档案。
  2. 打开提取的压缩文件的dist文件夹,并在其中findserver / solr-webapp / webapp lolder。
  3. 将libs从/ server / lib / ext文件夹粘贴到/ server / solr-webapp / webapp / WEB-INF / lib目录
  4. 将服务器** / solr-webapp / webapp **目录打包到.zip文件中
  5. 使用Deployment Manager将压缩的.zip压缩file upload到Jelastic仪表板

在这里输入图像说明

Solr 5.3.1版本已经被重新打包的.war文件可以在这里下载。

C.configurationSolr

  1. 用您的环境节点展开列表并打开Jetty应用程序服务器的configurationpipe理器

在这里输入图像说明

  1. 在打开的选项卡中导航到主文件夹,并在那里创build一个名为solr的新文件夹
  2. 在这个例子中,我们使用两个核心文件夹( configset1configset2 )进行简单的多核configuration。 每个核心文件夹都包含具有两个configuration文件的conf目录 – solrconfig.xmlschema.xml 。 这些文件可以在提取的Solr归档的示例>多核>核心 > conf *文件夹中find
  3. 之后,将core.propertiesfile upload到每个configset服务器的文件夹:

Fof configset1:

name=core1 shard=${shard:} collection=${collection:core1} config=${solrconfig:solrconfig.xml} schema=${schema:schema.xml} coreNodeName=${coreNodeName:} 

对于configset2:

 name=core2 shard=${shard:} collection=${collection:core2} config=${solrconfig:solrconfig.xml} schema=${schema:schema.xml} coreNodeName=${coreNodeName:} 
  1. 之后,将solr.xmlfile upload到solr应用程序服务器的文件夹中:
 <solr> <solrcloud> <str name="host">127.0.0.1</str> <int name="hostPort">${hostPort:8983}</int> <str name="hostContext">${hostContext:solr}</str> <int name="zkClientTimeout">${solr.zkclienttimeout:30000}</int> <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool> </solrcloud> <shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory"> <int name="socketTimeout">${socketTimeout:120000}</int> <int name="connTimeout">${connTimeout:15000}</int> </shardHandlerFactory> </solr> 

因此,创build适当的目录结构并上传必要的文件,获得如下所示的目录布局

在这里输入图像说明

之后,你应该指定solr.home环境variables来指向Solrconfiguration文件的path。 打开服务器> variables.conf文件并在其中添加以下行:

 -Dsolr.solr.home=/opt/jetty/home/solr 

不要忘记保存您所做的更改

在这里输入图像说明

D. Solr部署

  1. 现在执行所有必要的configuration,因此,您可以上传重新打包的Solr归档文件以导航到Deployment Manager ,并将其部署到适当的环境。

在这里输入图像说明

  1. 如果您需要,指定上下文,或只是将此字段保留为空,然后按部署

在这里输入图像说明

恭喜! 现在,您拥有自己的Solrsearch平台实例。

在这里输入图像说明 在这里输入图像说明

祝你有美好的一天。 Jelastic支持