如何在Linux上安裝Elasticsearch和Kibana
獲取我們關(guān)于安裝兩者的簡(jiǎn)化說(shuō)明。
如果你渴望學(xué)習(xí)基于開源 Lucene 庫(kù)的著名開源搜索引擎 Elasticsearch,那么沒(méi)有比在本地安裝它更好的方法了。這個(gè)過(guò)程在 Elasticsearch 網(wǎng)站中有詳細(xì)介紹,但如果你是初學(xué)者,官方說(shuō)明就比必要的信息多得多。本文采用一種簡(jiǎn)化的方法。
添加 Elasticsearch 倉(cāng)庫(kù)
首先,將 Elasticsearch 倉(cāng)庫(kù)添加到你的系統(tǒng),以便你可以根據(jù)需要安裝它并接收更新。如何做取決于你的發(fā)行版。在基于 RPM 的系統(tǒng)上,例如 Fedora、CentOS、Red Hat Enterprise Linux(RHEL) 或 openSUSE,(本文任何地方引用 Fedora 或 RHEL 的也適用于 CentOS 和 openSUSE)在 /etc/yum.repos.d/ 中創(chuàng)建一個(gè)名為 elasticsearch.repo 的倉(cāng)庫(kù)描述文件:
$ 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 工具。由于它自身默認(rèn)的和 Elasticsearch 倉(cāng)庫(kù)提供的不匹配而導(dǎo)致錯(cuò)誤。相反,設(shè)置這個(gè):
$ 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
在你從該倉(cāng)庫(kù)安裝之前,導(dǎo)入 GPG 公鑰,然后更新:
$ sudo apt-key adv --keyserver \hkp://keyserver.ubuntu.com:80 \--recv D27D666CD88E42B4$ sudo apt update
此存儲(chǔ)庫(kù)僅包含 Elasticsearch 的開源功能,在 Apache 許可證下發(fā)布,沒(méi)有提供訂閱版本的額外功能。如果你需要僅限訂閱的功能(這些功能是并不開源),那么 baseurl 必須設(shè)置為:
baseurl=https://artifacts.elastic.co/packages/7.x/yum
安裝 Elasticsearch
你需要安裝的軟件包的名稱取決于你使用的是開源版本還是訂閱版本。本文使用開源版本,包名最后有 -oss 后綴。如果包名后沒(méi)有 -oss,那么表示你請(qǐng)求的是僅限訂閱版本。
如果你創(chuàng)建了訂閱版本的倉(cāng)庫(kù)卻嘗試安裝開源版本,那么就會(huì)收到“非指定”的錯(cuò)誤。如果你創(chuàng)建了一個(gè)開源版本倉(cāng)庫(kù)卻沒(méi)有將 -oss 添加到包名后,那么你也會(huì)收到錯(cuò)誤。
使用包管理器安裝 Elasticsearch。例如,在 Fedora、CentOS 或 RHEL 上運(yùn)行以下命令:
$ sudo dnf install elasticsearch-oss
在 Ubuntu 或 Debian 上,運(yùn)行:
$ sudo apt install elasticsearch-oss
如果你在安裝 Elasticsearch 時(shí)遇到錯(cuò)誤,那么你可能安裝的是錯(cuò)誤的軟件包。如果你想如本文這樣使用開源包,那么請(qǐng)確保使用正確的 apt 倉(cāng)庫(kù)或在 Yum 配置正確的 baseurl。
啟動(dòng)并啟用 Elasticsearch
安裝 Elasticsearch 后,你必須啟動(dòng)并啟用它:
$ sudo systemctl daemon-reload$ sudo systemctl enable --now elasticsearch.service
要確認(rèn) Elasticsearch 在其默認(rèn)端口 9200 上運(yùn)行,請(qǐng)?jiān)?Web 瀏覽器中打開 localhost:9200。你可以使用 GUI 瀏覽器,也可以在終端中執(zhí)行此操作:
$ 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 數(shù)據(jù)可視化的圖形界面。它包含在 Elasticsearch 倉(cāng)庫(kù),因此你可以使用包管理器進(jìn)行安裝。與 Elasticsearch 本身一樣,如果你使用的是 Elasticsearch 的開源版本,那么必須將 -oss 放到包名最后,訂閱版本則不用(兩者安裝需要匹配):
$ sudo dnf install kibana-oss
在 Ubuntu 或 Debian 上:
$ sudo apt install kibana-oss
Kibana 在端口 5601 上運(yùn)行,因此打開圖形化 Web 瀏覽器并進(jìn)入 localhost:5601 來(lái)開始使用 Kibana,如下所示:
Kibana running in Firefox.
故障排除
如果在安裝 Elasticsearch 時(shí)出現(xiàn)錯(cuò)誤,請(qǐng)嘗試手動(dòng)安裝 Java 環(huán)境。在 Fedora、CentOS 和 RHEL 上:
$ sudo dnf install java-openjdk-devel java-openjdk
在 Ubuntu 上:
$ sudo apt install default-jdk
如果所有其他方法都失敗,請(qǐng)嘗試直接從 Elasticsearch 服務(wù)器安裝 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 上,請(qǐng)使用 DEB 包。
如果你無(wú)法使用 Web 瀏覽器訪問(wèn) Elasticsearch 或 Kibana,那么可能是你的防火墻阻止了這些端口。你可以通過(guò)調(diào)整防火墻設(shè)置來(lái)允許這些端口上的流量。例如,如果你運(yùn)行的是 firewalld(Fedora 和 RHEL 上的默認(rèn)防火墻,并且可以在 Debian 和 Ubuntu 上安裝),那么你可以使用 firewall-cmd:
$ sudo firewall-cmd --add-port=9200/tcp --permanent$ sudo firewall-cmd --add-port=5601/tcp --permanent$ sudo firewall-cmd --reload
設(shè)置完成了,你可以關(guān)注我們接下來(lái)的 Elasticsearch 和 Kibana 安裝文章。

























