如何在 Azure 虚拟机上部署 Elasticsearch

作者:来自 Elastic Eduard Marti

系列内容之一:开始使用 Elasticsearch

学习如何在 Azure 虚拟机上部署 Elasticsearch 和 Kibana,以完全控制你的 Elasticsearch 设置配置。

更多阅读:如何在 Linux,MacOS 及 Windows 上进行安装 ElasticsearchKibana:如何在 Linux,MacOS 及 Windows 上安装 Elastic 栈中的 Kibana

刚接触 Elasticsearch?欢迎参加我们的 Elasticsearch 入门网络研讨会。你也可以立即开始免费的云试用,或在自己的机器上体验 Elastic。

这篇文章是系列教程的一部分,我们将学习如何在 Azure 上使用 Elasticsearch。在本篇中,你将学习如何设置一个 Azure 虚拟机实例,并在其上安装 Elasticsearch 和 Kibana。在系列的其他文章中,你将学习如何使用 Azure AKS 自动部署Azure Marketplace 来部署 Elasticsearch。

在 Azure 虚拟机 上安装 Elasticsearch 是一个很好的起点,因为它比 **Elastic Cloud Kubernetes (ECK)**等方案更简单,并且在资源使用上更透明。虽然 ECK 提供了更强的扩展能力,但学习曲线也更陡峭。

什么是 Azure 虚拟机?

Azure 虚拟机提供按需、可扩展的计算资源,支持预配置或自定义的操作系统镜像,让你能够快速部署基础设施,同时由 Azure 管理底层硬件。

何时使用 Azure 虚拟机?

这种选项最适合需要完全控制 Elasticsearch 配置、自定义插件和特定版本要求的组织。它也非常适合与现有基于虚拟机的基础设施集成,同时可以通过预留实例实现性能微调和成本优化。

设置虚拟机

1)登录 Azure 门户

2)在顶部搜索栏中输入 "Virtual machines ",如下图所示。Azure 会显示搜索建议,然后在"服务"部分点击 "Virtual machines"。

3)你会看到"虚拟机"页面(如图 2 所示),页面上显示 "没有可显示的虚拟机"。点击"创建"按钮,然后在下拉菜单中选择 "Azure virtual machine"。

4)在 "Create a virtual machine" 表单中填写以下字段:

  • 选择订阅和资源组
  • 输入虚拟机名称
  • 选择区域 (Region)
  • 可用性选项 (Availability options)
  • 区域选项 (Zone options):此处保持默认的"自选区域 (Self-selected zone)"
  • 可用区 (Availability Zone):默认选择 Zone 1(最多可选择 3 个区域)
  • 安全类型 (Security type):选择默认的"受信任启动虚拟机 (Trusted launch virtual machines)"
  • 使用的镜像为 Ubuntu server 24.04 LTS - x64 Gen2
  • 选择虚拟机架构为 x64
  • 规格 (Size):此示例使用 Standard_B2als_v2(2 个 vCPU,4 GB 内存)

5)磁盘:使用默认配置

6)网络:使用默认配置

7)管理:使用默认配置

8)监控:使用默认配置

9)高级:使用默认配置

10)标签:使用默认配置

11)点击 "查看并创建 (Review + create)"。查看条款、费用和配置后,点击 "创建 (Create)" 按钮

12)确认页面显示 "验证通过 (Validation passed)"(绿色对勾),再次检查条款、费用和配置

13)点击"创建 (Create)"按钮

14)下载新生成的密钥对 (key pair)

15)点击 "转到资源 (Go to resource)"

16)在这里,你可以通过 SSH 连接到实例的公共 IP 地址,或者直接从 Azure UI 连接。

配置 Kibana 的互联网访问

为了从互联网连接 Kibana,我们需要在刚创建的实例中开放端口。

1)在实例详细信息页面,点击 Networking > Network settings

2)在网络设置页面,我们将创建一个入站端口规则。点击 Create port rule ,然后选择 Inbound port rule

3)新建入站规则以开放 Kibana 到互联网

  • 来源 (Source):Any
  • 来源端口范围 (Source port ranges):*
  • 目标 (Destination):Any
  • 服务 (Service):Custom
  • 目标端口范围 (Destination port ranges):5601
  • 协议 (Protocol):TCP
  • 优先级 (Priority):310(默认)
  • 名称 (Name):AllowKibana

然后点击 Add 按钮。

连接虚拟机

17)要连接到实例,点击 Connect 菜单,然后选择 Connect

18)在本示例中,我们将使用 Azure CLI 通过 SSH 连接。点击 SelectSSH using Azure CLI 选项下。

19)会出现一个滑出菜单。勾选同意 (consent),然后点击 Configure + connect 按钮。

20)完成先决配置后,点击 Connect

21)页面底部将显示一个连接到实例的终端。

安装 Elasticsearch

1)下载最新版本的 Elasticsearch 并验证完整性。

复制代码
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.0-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-9.0.0-linux-x86_64.tar.gz.sha512

验证文件完整性是一个重要的安全步骤。始终检查下载的文件是否与官方校验和一致。

注意 :如果系统找不到 shasum 命令,请先安装它:

复制代码
-bash: shasum: command not found

安装 perl-Digest

复制代码
sudo yum install perl-Digest-SHA

2)解压文件

复制代码
tar -xzf elasticsearch-9.0.0-linux-x86_64.tar.gz
cd elasticsearch-9.0.0/

3)运行 Elasticsearch

复制代码
./bin/elasticsearch

第一次运行 Elasticsearch 时,它会生成安全证书和凭据。请务必保存这些信息以备将来使用。

4)复制生成的密码、指纹和注册令牌 (enrollment token)

5)在另一个终端中(与运行 Elasticsearch 的终端不同),导航到 Elasticsearch 安装目录,运行 elasticsearch-create-enrollment-token 工具,为你的新节点生成注册令牌。

复制代码
./bin/elasticsearch-create-enrollment-token -s node

如果你想添加新节点,请参考本指南

6)让我们验证 Elasticsearch 是否正在运行。

复制代码
cd elasticsearch-9.0.0/
curl --cacert config/certs/http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200

$ELASTIC_PASSWORD 替换为第 3 步生成的密码。

安装 Kibana

1)下载并解压 Kibana:

复制代码
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-9.0.0-linux-x86_64.tar.gz
curl https://artifacts.elastic.co/downloads/kibana/kibana-9.0.0-linux-x86_64.tar.gz.sha512 | shasum -a 512 -c - 
tar -xzf kibana-9.0.0-linux-x86_64.tar.gz
cd kibana-9.0.0/

对于生产环境,建议将 Kibana 安装在单独的实例上。这里为了简化操作,我们将其安装在同一实例上。

2)为了从互联网访问 Kibana,我们将配置 kibana.yaml 文件。

复制代码
nano ./config/kibana.yml

找到 server.host 设置,并将其配置为:

复制代码
server.host: "0.0.0.0"

退出并保存。

3)运行 Kibana

复制代码
./bin/kibana

4)在浏览器中通过虚拟机的公共 IP 地址访问 Kibana,格式如下:

公共 IP 地址可在"设置虚拟机"步骤的第 14 步找到。

复制代码
http://{VM-IP-ADDR}:5601/?code=567892

现在,访问虚拟机的公共 IP 地址并输入显示的代码

5)在提示时粘贴第 3 步的 Kibana 注册令牌 (enrollment token)

6)输入 Elasticsearch 用户名和密码。

Kibana 安装完成!

完成这些步骤后,你将拥有一个在 Azure 虚拟机上运行的可用 Elasticsearch 部署和 Kibana。这种配置让你在利用 Azure 基础设施的同时,能够完全控制你的环境。

对于生产环境,你可以考虑配置 systemd 服务以实现自动启动,搭建多节点集群以保证高可用性,或创建快照仓库作为备份。

下一步

访问 Azure 门户,从 Azure 中选择 Elasticsearch 虚拟机镜像,选择虚拟机规格和存储,然后进行部署。可以从按需付费 (pay-as-you-go) 开始,或使用免费的 Azure 积分立即访问一个完全可自定义的 Elasticsearch 环境。

原文:https://www.elastic.co/search-labs/blog/azure-elasticsearch-vm-deployment

相关推荐
golang学习记6 小时前
月之暗面又搞出动作,推出Kimi CLI
人工智能
FreeBuf_6 小时前
微软全球服务中断:Azure、365、Xbox及Minecraft等多平台受影响
microsoft·azure·xbox
Poseidon、6 小时前
2025年10月AI科技领域周报(10.20-10.26):多模态技术突破 具身智能开启机器人新纪元
人工智能·microsoft·机器人
OG one.Z6 小时前
08_集成学习
人工智能·算法·机器学习
chen36736 小时前
嵌入式AI Arm_linux_第一个Demo_让IPU跑起来
linux·arm开发·人工智能
2501_938773996 小时前
大数据离线处理:使用 Airflow 调度 Hive 脚本的工作流设计
大数据·hive·hadoop
Elasticsearch6 小时前
实时日志与繁荣:修复可观测性中的一个根本性缺陷
elasticsearch
Vizio<6 小时前
《模仿人类皮肤层与环层小体的社交交互机器人皮肤》2024 IEEE/ASME TMECH 论文解读
人工智能·笔记·学习·机器人·交互·触觉传感器
Elasticsearch6 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
elasticsearch