我想在 Azure 中部署 ElasticSearch 集群。我发现一些文章解释了如何为其配置虚拟机,看起来非常简单。他们使用VM“硬盘”来存储数据。
我更愿意将虚拟机与操作系统以及 ElasticSearch 安装与数据存储分开。如果需要,我可以将虚拟机升级到更大的虚拟机,或者只是独立使用更多存储。我应该在哪里以及如何配置它?我对 Azure 中的所有不同存储选项有点迷失。我想我需要像 ElasticSearch 的虚拟“硬盘”之类的东西。感谢您的任何回答或想法。
最佳答案
我也有点困惑,然后我意识到需要什么。当您启动新虚拟机时,其上会出现两个驱动器。
第一个驱动器是相对较小的操作系统驱动器。它会持久保存到存储在您指定的云存储容器中的云存储虚拟磁盘 (VHD) 中,或者在您启动 VM 时自动创建。您对此磁盘所做的任何更改(例如,安装elasticsearch)都将始终保存。但是,由于该驱动器相对较小,因此没有太多可用空间 - 因此在其上存储应用程序数据不是最佳实践。
第二个驱动器是虚拟机提供的临时本地存储(例如, 用于 D2 VM 的 100GB SSD)。这是位于物理机本身的驱动器,因此通常速度很快,因为访问它没有网络延迟。然而,这实际上是用于临时工作数据,因为它是 transient 的。也就是说,如果您的虚拟机迁移到云中的另一台物理服务器(可能是在扩展或硬件故障之后),您将丢失其上的所有数据,因为它仅驻留在一台物理机内。如果它包含您的索引,那可不是什么好消息!
因此,解决方案是创建一个存储在云中的磁盘(就像前面提到的操作系统磁盘),以便任何索引数据在任何时刻都与托管虚拟机的物理机分开存储。如果您的虚拟机移动到另一台物理机,本地存储将被删除,但包含索引的附加磁盘将以其之前的状态重新连接,为 ES 继续进行做好准备。
按照本教程向现有 Linux VM 添加新/空磁盘:https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-how-to-attach-disk/ 。添加磁盘后,您将需要进入 elasticsearch.yml 文件并将 path.data 设置为您选择安装附加磁盘的位置。
关于azure - 将 ElasticSearch 安装的数据放置在 Azure 中的何处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31428861/