如何在 Linux 上安裝 Elasticsearch 和 Kibana

2019-08-13 14:33:00

獲取我們關於安裝兩者的簡化說明。

如果你渴望學習基於開源 Lucene 庫的著名開源搜尋引擎 Elasticsearch,那麼沒有比在本地安裝它更好的方法了。這個過程在 Elasticsearch 網站中有詳細介紹,但如果你是初學者,官方說明就比必要的資訊多得多。本文採用一種簡化的方法。

新增 Elasticsearch 倉庫

首先,將 Elasticsearch 倉庫新增到你的系統,以便你可以根據需要安裝它並接收更新。如何做取決於你的發行版。在基於 RPM 的系統上,例如 FedoraCentOSRed Hat Enterprise Linux(RHEL)openSUSE,(本文任何地方參照 Fedora 或 RHEL 的也適用於 CentOS 和 openSUSE)在 /etc/yum.repos.d/ 中建立一個名為 elasticsearch.repo 的倉庫描述檔案:

$ cat << EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo[elasticsearch-7.x]name=Elasticsearch repository for 7.x packagesbaseurl=https://artifacts.elastic.co/packages/oss-7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-mdEOF

在 Ubuntu 或 Debian 上,不要使用 add-apt-repository 工具。由於它自身預設的和 Elasticsearch 倉庫提供的不匹配而導致錯誤。相反,設定這個:

$ echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

在你從該倉庫安裝之前,匯入 GPG 公鑰,然後更新:

$ sudo apt-key adv --keyserver \hkp://keyserver.ubuntu.com:80 \--recv D27D666CD88E42B4$ sudo apt update

此儲存庫僅包含 Elasticsearch 的開源功能,在 Apache 許可證下發布,沒有提供訂閱版本的額外功能。如果你需要僅限訂閱的功能(這些功能是並不開源),那麼 baseurl 必須設定為:

baseurl=https://artifacts.elastic.co/packages/7.x/yum

安裝 Elasticsearch

你需要安裝的軟體包的名稱取決於你使用的是開源版本還是訂閱版本。本文使用開源版本,包名最後有 -oss 字尾。如果包名後沒有 -oss,那麼表示你請求的是僅限訂閱版本。

如果你建立了訂閱版本的倉庫卻嘗試安裝開源版本,那麼就會收到“非指定”的錯誤。如果你建立了一個開源版本倉庫卻沒有將 -oss 新增到包名後,那麼你也會收到錯誤。

使用包管理器安裝 Elasticsearch。例如,在 Fedora、CentOS 或 RHEL 上執行以下命令:

$ sudo dnf install elasticsearch-oss

在 Ubuntu 或 Debian 上,執行:

$ sudo apt install elasticsearch-oss

如果你在安裝 Elasticsearch 時遇到錯誤,那麼你可能安裝的是錯誤的軟體包。如果你想如本文這樣使用開源包,那麼請確保使用正確的 apt 倉庫或在 Yum 設定正確的 baseurl

啟動並啟用 Elasticsearch

安裝 Elasticsearch 後,你必須啟動並啟用它:

$ sudo systemctl daemon-reload$ sudo systemctl enable --now elasticsearch.service

要確認 Elasticsearch 在其預設埠 9200 上執行,請在 Web 瀏覽器中開啟 localhost:9200。你可以使用 GUI 瀏覽器,也可以在終端中執行此操作:

$ curl localhost:9200{  "name" : "fedora30",  "cluster_name" : "elasticsearch",  "cluster_uuid" : "OqSbb16NQB2M0ysynnX1hA",  "version" : {    "number" : "7.2.0",    "build_flavor" : "oss",    "build_type" : "rpm",    "build_hash" : "508c38a",    "build_date" : "2019-06-20T15:54:18.811730Z",    "build_snapshot" : false,    "lucene_version" : "8.0.0",    "minimum_wire_compatibility_version" : "6.8.0",    "minimum_index_compatibility_version" : "6.0.0-beta1"  },  "tagline" : "You Know, for Search"}

安裝 Kibana

Kibana 是 Elasticsearch 資料視覺化的圖形介面。它包含在 Elasticsearch 倉庫,因此你可以使用包管理器進行安裝。與 Elasticsearch 本身一樣,如果你使用的是 Elasticsearch 的開源版本,那麼必須將 -oss 放到包名最後,訂閱版本則不用(兩者安裝需要匹配):

$ sudo dnf install kibana-oss

在 Ubuntu 或 Debian 上:

$ sudo apt install kibana-oss

Kibana 在埠 5601 上執行,因此開啟圖形化 Web 瀏覽器並進入 localhost:5601 來開始使用 Kibana,如下所示:

Kibana running in Firefox.

故障排除

如果在安裝 Elasticsearch 時出現錯誤,請嘗試手動安裝 Java 環境。在 Fedora、CentOS 和 RHEL 上:

$ sudo dnf install java-openjdk-devel java-openjdk

在 Ubuntu 上:

$ sudo apt install default-jdk

如果所有其他方法都失敗,請嘗試直接從 Elasticsearch 伺服器安裝 Elasticsearch RPM:

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.2.0-x86_64.rpm{,.sha512}$ shasum -a 512 -c elasticsearch-oss-7.2.0-x86_64.rpm.sha512 && sudo rpm --install elasticsearch-oss-7.2.0-x86_64.rpm

在 Ubuntu 或 Debian 上,請使用 DEB 包。

如果你無法使用 Web 瀏覽器存取 Elasticsearch 或 Kibana,那麼可能是你的防火牆阻止了這些埠。你可以通過調整防火牆設定來允許這些埠上的流量。例如,如果你執行的是 firewalld(Fedora 和 RHEL 上的預設防火牆,並且可以在 Debian 和 Ubuntu 上安裝),那麼你可以使用 firewall-cmd

$ sudo firewall-cmd --add-port=9200/tcp --permanent$ sudo firewall-cmd --add-port=5601/tcp --permanent$ sudo firewall-cmd --reload

設定完成了,你可以關注我們接下來的 Elasticsearch 和 Kibana 安裝文章。