如何在Debian 10上安裝Elasticsearch

Elasticsearch是一個開源的分布式全文本搜索和分析引擎。 它支持RESTful操作,並允許您實時存儲,搜索和分析大量數據。 Elasticsearch是最流行的搜索引擎之一,可為具有複雜搜索要求的應用程序提供動力,例如大型電子商務商店和分析應用程序。

本教程介紹了如何在Debian 10上安裝Elasticsearch。

安裝Java#

Elasticsearch是一個Java應用程序,因此第一步是安裝Java。

以超級用戶或具有sudo privileges命令的用戶身份運行以下命令以安裝OpenJDK軟件包:

sudo apt install default-jdk

通過打印Java版本來驗證Java安裝:

java -version

輸出應如下所示:

openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)

安裝Elasticsearch#

在標準的Debian 10存儲庫中沒有Elasticsearch。 我們將從Elasticsearch APT存儲庫安裝它。

使用以下命令導入存儲庫的公鑰 wget 命令:

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.6。 如果要安裝Elasticsearch的早期版本,請更改 7.x 在上面的命令中提供所需的版本。

更新packages索引並安裝Elasticsearch引擎:

sudo apt updatesudo apt install elasticsearch

安裝過程完成後,啟動並啟用該服務:

sudo systemctl enable elasticsearch.service --now

要驗證Elasticsearch是否正在運行,請使用 curl 將HTTP請求發送到本地主機上的端口9200:

curl -X GET "localhost:9200/"

輸出將如下所示:

{
  "name" : "debian10.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yCOOHdvYR8mHRs5mNXQdDQ",
  "version" : {
    "number" : "7.6.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "aa751e09be0a5072e8570670309b1f12348f023b",
    "build_date" : "2020-02-29T00:15:25.529771Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "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

而已。 Elasticsearch已安裝在您的Debian服務器上。

配置Elasticsearch#

Elasticsearch數據存儲在 /var/lib/elasticsearch 目錄。 配置文件位於 /etc/elasticsearch 和Java啟動選項可以在 /etc/default/elasticsearch 文件。

默認情況下,Elasticsearch配置為僅在本地主機上偵聽。 如果連接到數據庫的客戶端也正在同一主機上運行,​​並且您正在設置單個節點群集,則無需更改默認配置文件。

遠程訪問 #

開箱即用的Elasticsearch不實現身份驗證,因此任何可以訪問HTTP API的人都可以訪問它。 如果要允許對Elasticsearch服務器的遠程訪問,則將需要配置防火牆,並僅允許從受信任的客戶端訪問Elasticsearch端口9200。

例如,如果您使用的是UFW,而您只想允許來自 192.168.121.80,輸入以下命令:

sudo ufw allow from 192.168.100.20 to any port 9200

不要忘記改變 192.168.100.20 與您的遠程IP地址。

一旦配置了防火牆,下一步就是編輯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服務器。

結論#

我們已經向您展示了如何在Debian 10上安裝Elasticsearch。

要了解有關Elasticsearch的更多信息,請訪問官方文檔頁面。

如果您遇到問題或有反饋,請在下面發表評論。

Java Elasticsearch數據庫Debian

Sidebar