作者:來自 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: shasum: command not found
安裝 perl-Digest:
sudo apt install libdigest-sha-perl
2)解壓文件:將壓縮文件解壓到工作目錄。
tar -xzf elasticsearch-9.0.0-linux-x86_64.tar.gz
cd elasticsearch-9.0.0/
3)運行 Elasticsearch:使用該命令啟動 Elasticsearch。
./bin/elasticsearch
第一次運行 Elasticsearch 時,會生成安全證書和憑證。請務必保存好以備后用。
4)復制生成的?password、fingerprint?和 enrollment token。
5)在另一個終端(與運行 Elasticsearch 的終端不同)中,進入 Elasticsearch 安裝目錄,運行 elasticsearch-create-enrollment-token 工具,為新節點生成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
Kibana 是 Elasticsearch 的可視化和分析儀表盤,提供搜索、查看和交互 Elasticsearch 索引中數據的界面。
安裝 Kibana 可以讓你創建可視化、構建儀表盤,并通過用戶界面管理 Elasticsearch 集群。
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 地址:公網 IP 地址可以在設置虛擬機實例的第 12 步找到。
http://{VM-IP-ADDR}:5601/?code=567892
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