azure - 将 ElasticSearch 安装的数据放置在 Azure 中的何处?

标签 azure elasticsearch

我想在 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/

相关文章:

azure - 通过 ARM 模板设置 Azure 主机/功能键

elasticsearch - Elasticsearch数据表示

elasticsearch - Elasticsearch-script_fields错误

Elasticsearch:需要有关 ids 过滤器的帮助

c# - 在 Azure Web Apps 上更改时区不适用于 DateTimeOffset.Now?

node.js - 错误 - 使用 Mongoose 连接到 Azure CosmosDB

node.js - CosmosDB MongoDB 适配器投影不起作用

c# - Azure Function 计时器通过应用程序设置进行配置

elasticsearch - 如何创建在结果中包含嵌套数据的Elasticsearch查询

Elasticsearch 启动错误 :Native controller process has stopped - no new native processes can be started