如何將Elasticsearch安裝到CentOS 7上?
譯文【51CTO.com快譯】Elasticsearch是一種開源分布式全文本搜索和分析引擎,支持充分利用REST協(xié)議的操作,讓你可以實時存儲、搜索和分析大量數(shù)據(jù)。Elasticsearch是***的搜索引擎之一,支持搜索需求復雜的應用(比如大型電子商務商店)和分析應用。
本文介紹了如何將Elasticsearch安裝到CentOS 7上。
前提條件
登錄系統(tǒng)的用戶要有sudo權限才能安裝軟件包。
安裝Elasticsearch
將Elasticsearch安裝到CentOS 7上的推薦方法是從官方的Elasticsearch存儲庫安裝rpm軟件包。
本文發(fā)稿時,Elasticsearch的***版是6.7,要求Java 8或更高版本。你可以使用官方的Oracle Java發(fā)行版或OpenJDK 8。
我們將安裝OpenJDK 8:
- sudo yum install java-1.8.0-openjdk-devel
通過輸出Java版本來驗證Java的安裝:
- java -version
輸出應類似這樣:
- openjdk version "1.8.0_201"
- OpenJDK Runtime Environment (build 1.8.0_201-b09)
- OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
鑒于Java已安裝,下一步是添加Elasticsearch注冊庫。
使用下列命令導入注冊庫的GPG密鑰:
- sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
打開文本編輯工具,創(chuàng)建下列注冊庫文件:
- sudo nano /etc/yum.repos.d/elasticsearch.repo
將下列內容粘貼到該文件中:
- /etc/yum.repos.d/elasticsearch.repo
- [elasticsearch-6.x]
- name=Elasticsearch repository for 6.x packages
- baseurl=https://artifacts.elastic.co/packages/6.x/yum
- gpgcheck=1
- gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
- enabled=1
- autorefresh=1
- type=rpm-md
保存文件,關閉文本編輯工具。
如果你想安裝之前版本的Elasticsearch,將上述命令中的6.x換成你需要的那個版本。
現(xiàn)在可以輸入下列命令來安裝Elasticsearch軟件包:
- sudo yum install elasticsearch
一旦安裝過程完成,運行下列命令,開始并啟用服務:
- sudo systemctl enable elasticsearch.service
- sudo systemctl start elasticsearch.service
你可以使用下列curl命令,通過向localhost上的端口9200發(fā)送HTTP請求來驗證Elasticsearch在正常運行:
- curl -X GET "localhost:9200/"
輸出應類似下面這樣:
- {
- "name" : "fLVNqN_",
- "cluster_name" : "elasticsearch",
- "cluster_uuid" : "6zKcQppYREaRH0tyfJ9j7Q",
- "version" : {
- "number" : "6.7.0",
- "build_flavor" : "default",
- "build_type" : "rpm",
- "build_hash" : "8453f77",
- "build_date" : "2019-03-21T15:32:29.844721Z",
- "build_snapshot" : false,
- "lucene_version" : "7.7.0",
- "minimum_wire_compatibility_version" : "5.6.0",
- "minimum_index_compatibility_version" : "5.0.0"
- },
- "tagline" : "You Know, for Search"
- }
可能5秒至10秒后服務才開啟。如果你看到curl: (7) Failed to connect to localhost port 9200: Connection refused,那就等幾秒,再試一下。
想查看Elasticsearch服務記錄的消息,可以使用下列命令:
- sudo journalctl -u elasticsearch
至此,你已將Elasticsearch安裝在CentOS服務器上。
配置Elasticsearch
Elasticsearch數(shù)據(jù)存儲在/var/lib/elasticsearch目錄中,而配置文件位于/etc/elasticsearch。
默認情況下,Elasticsearch配置成只偵聽localhost。如果連接到數(shù)據(jù)庫的客戶端也在同一個主機上運行,你安裝的又是單節(jié)點集群,就不需要更改默認配置文件。
遠程訪問
默認情況下,Elasticsearch并不實施驗證機制,所以它可以被能訪問HTTP API的任何人訪問。如果你想遠程訪問Elasticsearch服務器,就需要配置防火墻,允許只從可信的客戶端訪問Elasticsearch端口9200。
從CentOS 7開始,F(xiàn)irewallD取代iptable,成為默認的防火墻管理工具。
運行下列命令,允許從遠程可信IP地址通過端口9200來訪問:
- sudo firewall-cmd --new-zone=elasticsearch --permanent
- sudo firewall-cmd --reload
- sudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanent
- sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
- sudo firewall-cmd --reload
別忘了將192.168.121.80換成你的遠程IP地址。
之后,如果你想允許從另一個IP地址來訪問,請使用:
- sudo firewall-cmd --zone=elasticsearch --add-source= --permanent
- sudo firewall-cmd --reload
一旦防火墻配置完畢,下一步是編輯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
如果你的機器上有多個網(wǎng)絡接口,可以指定接口的IP地址,那樣Elasticsearch只偵聽指定的接口。
重啟Elasticsearch服務,讓變更生效:
- sudo systemctl restart elasticsearch
結束語
你已將Elasticsearch成功地安裝到了CentOS 7上?,F(xiàn)在你可以訪問官方的Elasticsearch說明文檔頁面,了解如何從Elasticsearch開始入門。
原文標題:How to Install Elasticsearch on CentOS 7
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】