如何在Linux下安裝部署分布式全文搜索引擎
Elasticsearch是一個(gè)開(kāi)源的分布式全文本搜索和分析引擎。它支持RESTful操作,并允許您實(shí)時(shí)存儲(chǔ),搜索和分析大量數(shù)據(jù)。Elasticsearch是最流行的搜索引擎之一,可為具有復(fù)雜搜索要求的應(yīng)用程序提供動(dòng)力,例如大型電子商務(wù)商店和分析應(yīng)用程序。
本指南說(shuō)明了如何在Ubuntu 20.04上安裝Elasticsearch。
安裝Elasticsearch
在Ubuntu上安裝Elasticsearch非常簡(jiǎn)單。我們將啟用Elasticsearch存儲(chǔ)庫(kù),導(dǎo)入存儲(chǔ)庫(kù)GPG密鑰,然后安裝Elasticsearch服務(wù)器。
Elasticsearch軟件包隨附OpenJDK的捆綁版本,因此您不必安裝Java。
首先,更新程序包索引并安裝添加新的HTTPS存儲(chǔ)庫(kù)所需的依賴(lài)項(xiàng):
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
 - linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install apt-transport-https ca-certificates wget
 
導(dǎo)入存儲(chǔ)庫(kù)的GPG密鑰:
- linuxmi@linuxmi:~/www.linuxmi.com$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
 
上面的命令應(yīng)該輸出OK,這意味著密鑰已經(jīng)成功導(dǎo)入,并且來(lái)自此存儲(chǔ)庫(kù)的軟件包將被視為受信任的軟件包。
接下來(lái),通過(guò)發(fā)出以下命令將Elasticsearch存儲(chǔ)庫(kù)添加到系統(tǒng)中:
- linuxmi@linuxmi:~/www.linuxmi.com$ 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的早期版本,請(qǐng)7.x在上面的命令中更改所需的版本。
啟用存儲(chǔ)庫(kù)后,通過(guò)輸入以下命令安裝Elasticsearch:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
 
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install elasticsearch
 
安裝過(guò)程完成后,Elasticsearch服務(wù)將不會(huì)自動(dòng)啟動(dòng)。要啟動(dòng)服務(wù)并啟用服務(wù)運(yùn)行,請(qǐng)執(zhí)行以下操作:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable --now elasticsearch.service
 - Synchronizing state of elasticsearch.service with SysV service script with /lib/systemd/systemd-sysv-install.
 - Executing: /lib/systemd/systemd-sysv-install enable elasticsearch
 - Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /lib/systemd/system/elasticsearch.service.
 
要驗(yàn)證Elasticsearch是否正在運(yùn)行,請(qǐng)使用curl將HTTP請(qǐng)求發(fā)送到localhost 上的9200端口:
- linuxmi@linuxmi:~/www.linuxmi.com$ curl -X GET "localhost:9200/"
 
您應(yīng)該看到類(lèi)似以下內(nèi)容:
- {
 - "name" : "linuxmi",
 - "cluster_name" : "elasticsearch",
 - "cluster_uuid" : "VnSPAJorQXiyYUTtCzoEQQ",
 - "version" : {
 - "number" : "7.8.1",
 - "build_flavor" : "default",
 - "build_type" : "deb",
 - "build_hash" : "b5ca9c58fb664ca8bf9e4057fc229b3396bf3a89",
 - "build_date" : "2020-07-21T16:40:44.668009Z",
 - "build_snapshot" : false,
 - "lucene_version" : "8.5.1",
 - "minimum_wire_compatibility_version" : "6.8.0",
 - "minimum_index_compatibility_version" : "6.0.0-beta1"
 - },
 - "tagline" : "You Know, for Search"
 - }
 
服務(wù)可能需要5到10秒才能啟動(dòng)。如果看到curl: (7) Failed to connect to localhost port 9200: Connection refused,請(qǐng)等待幾秒鐘,然后重試。
要查看Elasticsearch服務(wù)記錄的消息,請(qǐng)使用以下命令:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo journalctl -u elasticsearch
 
[sudo] linuxmi 的密碼:
- -- Logs begin at Thu 2020-05-28 14:51:20 CST, end at Thu 2020-07-30 04:03:45 CS>
 - 7月 30 03:43:33 linuxmi systemd[1]: Starting Elasticsearch...
 - 7月 30 03:44:30 linuxmi systemd[1]: Started Elasticsearch.
 
OK,就這樣。Elasticsearch已安裝在您的Ubuntu服務(wù)器上。
配置Elasticsearch
Elasticsearch數(shù)據(jù)存儲(chǔ)在/var/lib/Elasticsearch目錄中。配置文件位于/etc/elasticsearch中,Java啟動(dòng)選項(xiàng)可以在/etc/default/elasticsearch文件中配置。
默認(rèn)情況下,Elasticsearch配置為僅在本地主機(jī)上偵聽(tīng)。如果連接到數(shù)據(jù)庫(kù)的客戶(hù)端也正在同一主機(jī)上運(yùn)行,并且您正在設(shè)置一個(gè)單節(jié)點(diǎn)群集,則無(wú)需更改默認(rèn)配置文件。
遠(yuǎn)程訪問(wèn)
開(kāi)箱即用的Elasticsearch不實(shí)現(xiàn)身份驗(yàn)證,因此任何可以訪問(wèn)HTTP API的人都可以訪問(wèn)它。
要允許遠(yuǎn)程訪問(wèn)您的Elasticsearch服務(wù)器,您將需要配置防火墻并打開(kāi)TCP端口6379。
通常,您只希望允許從特定IP地址或IP范圍訪問(wèn)Redis服務(wù)器。例如,要僅允許來(lái)自192.168.135.0/24子網(wǎng)的連接,可以運(yùn)行以下命令:
- sudo ufw allow proto tcp from 192.168.135.0/24 to any port 6379
 
一旦配置了防火墻,下一步就是編輯Elasticsearch配置并允許Elasticsearch偵聽(tīng)外部連接。
為此,請(qǐng)打開(kāi)elasticsearch.yml配置文件:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo nano /etc/elasticsearch/elasticsearch.yml
 
搜索包含的行network.host,取消注釋?zhuān)缓髮⒅蹈臑?.0.0.0:
network.host: 0.0.0.0
如果您的計(jì)算機(jī)上有多個(gè)網(wǎng)絡(luò)接口,請(qǐng)指定接口IP地址以強(qiáng)制Elasticsearch僅偵聽(tīng)給定的接口。
重新啟動(dòng)Elasticsearch服務(wù),以使更改生效:
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart elasticsearch
 
OK。您現(xiàn)在可以從遠(yuǎn)程位置連接到Elasticsearch服務(wù)器。
總結(jié)
我們已經(jīng)向您展示了如何在Ubuntu 20.04上安裝Elasticsearch。
要了解有關(guān)Elasticsearch的更多信息,請(qǐng)?jiān)L問(wèn)官方文檔頁(yè)面。






















 
 
 











 
 
 
 