简体   繁体   English

Solr在Google Cloud上备份和还原

[英]Solr backup and restore on Google cloud

I have been struggling in getting solution for below scenario: 我一直在努力寻求以下情况的解决方案:

  • I have 2 instances of solr cloud on composite engine. 我在复合引擎上有2个Solr Cloud实例。
  • I have 2 instances of application rest api which calls above solr cluster for data. 我有2个应用程序rest api实例,它们在solr集群上方调用数据。
  • From my application I wanna take backup of solr and copy zipped backup file to google storage automatically and restore it automatically with the an url endpoint. 从我的应用程序中,我想备份solr,并将压缩的备份文件自动复制到google存储,并使用url端点自动将其还原。

For that I am trying to make a api endpoint in my application that will call below solr api to take back up 为此,我试图在我的应用程序中创建一个api端点,该端点将在solr api下面调用以进行备份

admin/collections?action=BACKUP

And making another endpoint that call below url to restore 并在url下面调用另一个端点来还原

/admin/collections?action=RESTORE

However after taking backup my application doesnt have access to the back up files as they are getting saved on solr instances. 但是,在进行备份后,我的应用程序无权访问备份文件,因为它们已保存在solr实例上。 So I am not able to save them to google bucket. 因此,我无法将它们保存到Google存储桶。

Please guide me a simpler way to achieve this ie automatically backup and restore solr from other GCP instance. 请为我提供一种更简单的方法来实现此目的,即从其他GCP实例自动备份和还原solr。

Have you considered something like gcs-fuse ? 您是否考虑过类似gcs-fuse的东西? It'll allow you to mount a GCS bucket directly on the file system. 它使您可以直接在文件系统上挂载GCS存储桶。

You can then point the BACKUP command directly to the mount point for gcs-fuse on your Solr compute engine VMs, and the whole thing is abstracted away through how the VM is configured (instead of having to be manually uploaded afterwards with a separate tool when a local copy has been made). 然后,您可以将BACKUP命令直接指向Solr计算引擎VM上gcs-fuse的安装点,然后通过配置VM的方式将整个内容抽象化(无需在以后使用单独的工具手动上载)本地副本)。

我发现GCSFuse有点不可靠,因此决定编写一个包装脚本,该脚本首先检测给定集合的主服务器,然后直接在该节点上执行备份。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM