azure - 如何在 Azure 中使用 NEST/elasticsearch?

标签 azure elasticsearch azure-web-app-service nest azure-cloud-services

我有一个在 Azure (example.azurewebsites.net) 上运行的网站(Web 应用程序),我想在我的 Asp.Net MVC 解决方案中使用 NEST ( http://nest.azurewebsites.net )。在本地它工作正常,但是当将其发布到Azure时,我无法连接到elasticsearch。因为我没有找到任何有用的教程,所以我将三个混合在一起。

首先,我创建了一个虚拟网络,如步骤 1 中所述:http://www.kerrb.com/ecAzureVms101/day4-creating-point-to-site-vpn-to-azure-virtual-machines 我将其命名为 VirtualNetwork 并获得了网关 IP 地址。它显示 1 个客户端已连接。

然后我创建了一个虚拟机,如下所述:http://code972.com/blog/2014/07/74-the-definitive-guide-for-elasticsearch-on-windows-azure 我已经有了虚拟网络,所以我这里跳过了第一步。云服务的名称为 example-elastic-search (example-elastic-search.cloudapp.net),我将虚拟机称为 elasticsearchvm。我通过 putty 连接,按照描述配置了 elasticsearch,并且工作正常。

Azure 的最后一步是将 Web 应用程序与虚拟网络连接。我是这样做的:http://blogs.technet.com/b/canitpro/archive/2015/04/07/step-by-step-connect-an-azure-web-app-to-an-existing-virtual-network.aspx

最后我更改了代码以使用elasticsearchvm。

new ElasticClient(new ConnectionSettings(new Uri("http://example-elastic-search.cloudapp.net")))

除了 example-elastic-search.cloudapp.net,我还尝试了虚拟机的名称 (elasticsearchvm)、虚拟机的内部和公共(public) IP、云服务的 IP 和网关的 IP。所有这些都带有 http、https、端口和不带端口 (9200)。没有任何效果。

有什么想法吗?我错过了什么?如果需要更多信息,请随时询问:)

最佳答案

我意识到这并没有直接回答你的问题,但我认为这对于将来发现这个问题的人来说是有用的。在 Azure 上启动并运行 Elasticsearch 的最简单方法是使用 Elastic's ARM template ; I wrote a blog post about some of the features available within the template.

可以从门户 UI 内或使用 Azure CLI 部署模板;前者适合入门和使用,后者有助于将模板集成到您选择的自动化环境中。您当然可以克隆/ fork 存储库并对模板进行更改以满足您的要求。

将Elasticsearch添加到现有Web应用程序时,部署的集群可以附加到同一位置的现有虚拟网络;您只需要指定

  • 网络名称
  • 子网的名称
  • 包含网络的资源组的名称
  • 可用于内部负载均衡器的可用 IP 地址

您需要在网络上为您正在部署的集群提供足够的可用 IP 地址。

关于azure - 如何在 Azure 中使用 NEST/elasticsearch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967713/

相关文章:

php - 在 PHP 中使用嵌入的 PowerBI

elasticsearch - 设置scaling_factor参数时出现奇怪的行为

php - Azure 应用服务文件访问

与 HTTP 服务的 Azure 混合连接

azure - Azure DevOps 中的 NuGet 源不再可访问 (TF246017/TF30040)

indexing - 在 Elasticsearch 中删除别名和索引

azure - 如何启用 Assets 文件夹的权限

azure - Microsoft Azure 网站创建 : 'Cannot modify this site because another operation is in progress'

azure - 如何从 Azure 云服务的代码创建访问控制规则?

ruby - 将数字日期转换为Fluentd中的字符串日期字段以存储到Elasticsearch中