如何在Ubuntu 18.04上安裝Elasticsearch

Elasticsearch是一個開源的分布式全文本搜索和分析引擎。它支持RESTful操作,並允許您實時存儲,搜索和分析大量數據。
Elasticsearch是最流行的搜索引擎之一,為具有復雜搜索要求的應用程序提供動力,例如大型電子商務商店和分析應用程序。
在本教程中,我們將向您展示如何在
Ubuntu 18.04上安裝Elasticsearch。相同的說明適用於Ubuntu 16.04和任何基於Ubuntu的發行版,包括Linux Mint,Kubuntu和Elementary OS。
先決條件
您需要以具有[sudo]權限的用戶身份登錄,才能在Ubuntu系統上安裝軟件包。
安裝Elasticsearch
在Ubuntu 18.04上安裝Elasticsearch的最簡單方法是從官方Elasticsearch存儲庫中安裝deb軟件包。
在撰寫本文時,Elasticsearch的最新版本為7.0.0,並且要求在系統上安裝Java8。
首先,更新軟件包索引並安裝通過HTTPS訪問存儲庫所需的apt-transport-https軟件包:
sudo apt update
sudo apt install apt-transport-https
sudo apt install openjdk-8-jdk
通過運行以下命令來驗證Java安裝,該命令將打印Java版本:
java -version
輸出應如下所示:
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
現在已安裝Java,下一步是添加Elasticsearch存儲庫。
使用以下 wget 命令導入存儲庫的GPG:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
上面的命令應該輸出OK,這意味着密鑰已成功導入,並且來自此存儲庫的軟件包將被視為受信任的。
接下來,通過發出以下命令將Elasticsearch存儲庫添加到系統中:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
如果要安裝Elasticsearch的先前版本,請在上面的命令中將7.x更改為所需的版本。
啟用存儲庫后,更新apt軟件包列表並輸入以下內容來安裝Elasticsearch引擎:
sudo apt update
sudo apt install elasticsearch
安裝過程完成后,Elasticsearch服務將不會自動啟動。要啟動該服務並啟用該服務,請運行:
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
您可以使用以下 curl命令,通過向本地主機上的端口9200發送HTTP請求來驗證Elasticsearch是否正在運行:
curl -X GET "localhost:9200/"
您應該會看到類似的內容:
{
"name" : "lihouqi",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "EUWHmKDfQ7m8BetKuQDUOQ",
"version" : {
"number" : "7.13.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "9a7758028e4ea59bcab41c12004603c5a7dd84a9",
"build_date" : "2021-05-28T17:40:59.346932922Z",
"build_snapshot" : false,
"lucene_version" : "8.8.2",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
服務需要5到10秒鍾才能啟動。如果看到curl: (7) Failed to connect to localhost port 9200: Connection refused,請等待幾秒鍾,然后重試。
如果要查看Elasticsearch服務記錄的消息,可以使用以下命令:
sudo journalctl -u elasticsearch
恭喜,這時您已經在Ubuntu服務器上安裝了Elasticsearch。
以下可作了解,操作完上面步驟已經安裝好了Elasticsearch
配置Elasticsearch
Elasticsearch數據存儲在/var/lib/elasticsearch目錄中,配置文件位於/etc/elasticsearch中,並且Java啟動選項可以在/etc/default/elasticsearch文件中進行配置。
默認情況下,Elasticsearch配置為僅在本地主機上偵聽。如果連接到數據庫的客戶端也正在同一主機上運行,並且您正在設置單個節點群集,則無需更改默認配置文件。
遠程訪問
開箱即用的Elasticsearch,不實現身份驗證,因此任何可以訪問HTTP API的人都可以訪問它。如果要允許遠程訪問您的Elasticsearch服務器,則需要配置防火牆,並僅允許從受信任的客戶端訪問Elasticsearch端口9200。
Ubuntu帶有一個稱為 UFW 的防火牆配置工具。默認情況下,UFW已安裝但未啟用。在啟用UFW防火牆之前,首先添加一條規則,該規則將允許傳入的SSH連接:
sudo ufw allow 22
允許從遠程可信IP地址進行評估:
sudo ufw allow from 192.168.100.20 to any port 9200
不要忘記用遠程IP地址更改192.168.100.20。
通過鍵入以下內容來啟用UFW:
sudo ufw enable
最后,檢查防火牆的狀態:
sudo ufw status
輸出應如下所示:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
9200 ALLOW 192.168.100.20
22 (v6) ALLOW Anywhere (v6)
配置好防火牆后,下一步就是編輯Elasticsearch配置並允許Elasticsearch監聽外部連接。
為此,請打開elasticsearch.yml配置文件:
sudo nano /etc/elasticsearch/elasticsearch.yml
搜索包含network.host的行,取消注釋,然后將值更改為0.0.0.0:
/etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
如果您的計算機上有多個網絡接口,則可以指定接口IP地址,這將使Elasticsearch僅在指定的接口上偵聽。
重新啟動Elasticsearch服務以使更改生效:
sudo systemctl restart elasticsearch
就是這樣。您現在可以從遠程位置連接到Elasticsearch服務器。
結論
您已成功在Ubuntu 18.04上安裝Elasticsearch。您現在可以訪問 Elasticsearch文檔官方頁面,並學習如何開始使用Elasticsearch。
