作者:来自 Elastic Eduard Martin
系列内容的一部分:开始使用 Elasticsearch:GCP

想获得 Elastic 认证?看看下一期 Elasticsearch Engineer 培训什么时候开始!
Elasticsearch 拥有丰富的新功能,帮助你根据使用场景构建最佳搜索方案。深入了解我们的示例笔记本,开始免费云试用,或立即在本地机器上体验 Elastic。
这篇博客将带你一步步在 Google Compute Engine 虚拟机实例上部署 Elasticsearch,并安装 Kibana 实现数据可视化与交互。通过这些步骤,你将学习如何在 Google Cloud 上手动管理和配置 Elasticsearch 环境。这种方式需要你手动处理基础架构、软件安装、更新和扩展。
如果想要一种中间方案,可以使用 Elastic Cloud Kubernetes(ECK) ,它提供更易扩展的工具,但学习曲线更陡。你可以在这里了解 ECK + GKE Autopilot,关于 Google Cloud Marketplace 上的 Elastic Cloud 将在后续文章中介绍,敬请期待!

什么时候在 Google Compute Engine 中使用 Elasticsearch?
当你需要隔离 Elasticsearch 环境、高效管理资源 ,或希望在单一主机上与其他应用程序一起运行时,建议在 Google Cloud 中的虚拟机上部署 Elasticsearch。这种方式需要你手动处理基础架构、软件、更新和扩展。
设置虚拟机实例
在这篇博客中,我们将使用 Google Cloud 控制台进行操作。所有步骤也可以通过命令行完成。更多信息请参考 Google Cloud 文档。
1)登录 Google Cloud
2)点击 Create a VM
3)注意 :如果这是你第一次执行该操作,需要启用 Compute Engine API。点击 Enable 按钮即可
4)配置机器。现在我们将为虚拟机设置基本规格:
- 名称:gcp-setup
- 区域:us-central1(默认)
- 可用区:任意
- 机器类型:根据部署所需的性能进行选择。本示例中使用的是 e2-medium(2 个 vCPU,1 核心,4GB 内存)。


5)操作系统和存储:
- Size: 10 GB (default)
- Image: Debian GNU/Linux (default)
6)Data protection. Default configuration
7)Networking: Default configuration
8)Observability: Default configuration
9)Security: Default configuration
10)Advanced: Default configuration
11)Click on Create

12)创建虚拟机实例后,你会被重定向到 VM 实例页面。新创建的实例会显示在 VM 实例表中。

配置 Kibana 的互联网访问权限
要从互联网连接到 Kibana,我们需要在新创建的实例中开放端口:
1)默认情况下所有端口都是被阻止的,因此新创建的 VM 实例无法访问互联网。因此,我们需要开放 Elasticsearch 的端口。在实例的上一视图中,点击 Related actions 下的 Set up firewall rules。

2)点击 Create firewall rule:

3)配置防火墙规则:
- Name: allow-kibana
- Logs: Off
- Network: default
- Priority: 1000
- Direction of traffic: Ingress
- Action on match: Allow
- Targets: Specified target tags
- Target tags: kibana
- Source filter: IPv4 ranges
- Source IPv4 ranges: 0.0.0.0/0
- Second source filter: None
- Destination filter: None
- Protocols and ports: Specified protocols and ports
- Check on TCP, Ports: 5601

然后点击 Create 按钮。

确认 VPC 防火墙规则已生效。

连接虚拟机
1)进入 Compute Engine VM instances,点击 Connect SSH

2)点击新创建实例的 Connect SSH。
3)会弹出一个窗口。授权浏览器内 SSH,点击 Authorize 按钮。
注意:如果你使用了弹窗拦截器,请为 Google Cloud 允许弹窗。

4)现在你已经进入实例控制台。

安装 Elasticsearch
本节介绍如何设置并运行 Elasticsearch。
1)下载 .tar.gz 文件(包含 Elasticsearch 软件)和 .sha512 文件(包含官方校验和),以确保可以验证软件包的完整性。
下载最新的 Elasticsearch 版本并验证其完整性。

shasum 命令通过检查加密哈希来验证文件完整性。这里用它来确认下载的 Elasticsearch 包没有被损坏或篡改,通过将其 SHA-512 哈希与 Elastic 官方校验和进行比较。
注意:如果找不到 shasum 命令,请安装它:
bash
`-bash: shasum: command not found`AI写代码
安装 perl-Digest:
go
`sudo apt install libdigest-sha-perl`AI写代码
2)解压文件:将压缩文件解压到工作目录。
bash
`
1. tar -xzf elasticsearch-9.0.0-linux-x86_64.tar.gz
2. cd elasticsearch-9.0.0/
`AI写代码
3)运行 Elasticsearch:使用该命令启动 Elasticsearch。
bash
`./bin/elasticsearch`AI写代码
第一次运行 Elasticsearch 时,会生成安全证书和凭证。请务必保存好以备后用。

4)复制生成的 password 、fingerprint 和 enrollment token。
5)在另一个终端(与运行 Elasticsearch 的终端不同)中,进入 Elasticsearch 安装目录,运行 elasticsearch-create-enrollment-token 工具,为新节点生成enrollment token。
bash
`./bin/elasticsearch-create-enrollment-token -s node`AI写代码

如果你想添加新节点,请参考此指南。
6)让我们验证 Elasticsearch 是否正在运行:
bash
`
1. cd elasticsearch-9.0.0/
2. curl --cacert config/certs/http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200
`AI写代码
将 $ELASTIC_PASSWORD 替换为第 3 步中生成的密码。

安装 Kibana
Kibana 是 Elasticsearch 的可视化和分析仪表盘,提供搜索、查看和交互 Elasticsearch 索引中数据的界面。
安装 Kibana 可以让你创建可视化、构建仪表盘,并通过用户界面管理 Elasticsearch 集群。
1)下载并解压 Kibana:
bash
`
1. curl -O https://artifacts.elastic.co/downloads/kibana/kibana-9.0.0-linux-x86_64.tar.gz
2. curl https://artifacts.elastic.co/downloads/kibana/kibana-9.0.0-linux-x86_64.tar.gz.sha512 | shasum -a 512 -c -
3. tar -xzf kibana-9.0.0-linux-x86_64.tar.gz
4. cd kibana-9.0.0/
`AI写代码
对于生产环境,建议将 Kibana 安装在单独的实例上。这里为了简单起见,我们在同一实例上安装。
2)为了从互联网访问 Kibana,我们需要配置 kibana.yaml 文件:
arduino
`nano ./config/kibana.yml`AI写代码
找到 server.host 设置,并将其设置为:
vbscript
`server.host: "0.0.0.0"`AI写代码

退出并保存。
3)运行 Kibana:
bash
`./bin/kibana`AI写代码

4)在浏览器中通过以下格式访问虚拟机实例的公网 IP 地址:公网 IP 地址可以在设置虚拟机实例的第 12 步找到。
ini
`http://{VM-IP-ADDR}:5601/?code=567892`AI写代码
5)在提示时,粘贴安装 Elasticsearch 第 4 步中获取的 Kibana 注册令牌。

6)当出现提示时,你会收到来自 Kibana 服务器的验证信息。切换到 Kibana 的 SSH 窗口。

在验证弹窗中粘贴验证代码,然后点击 Verify。

7)输入 Elasticsearch 用户名和密码。填写安装 Elasticsearch 第 4 步中获取的用户名和密码。

Kibana 安装完成!
完成这些步骤后,你将在 GCP Compute Engine 虚拟机实例上拥有一个运行正常的 Elasticsearch 和 Kibana 部署。这个配置让你在利用 GCP 基础设施的同时,完全掌控你的环境。


下一步
考虑在生产环境中实施以下内容:
-
配置 systemd 服务实现自动启动
-
搭建多节点集群以保证高可用性
-
配置快照仓库用于备份
原文:Elasticsearch made simple: GCP Google Compute Engine - Elasticsearch Labs