想要盡快的熟悉一樣?xùn)|西的方法亡蓉,就是去使用它,所以我們需要先把 Elasticsearch 運(yùn)行起來(lái)喷舀,這樣我們才能去使用它砍濒、學(xué)習(xí)它。
官方文檔中介紹硫麻,最快的入門(mén) Elasticsearch 的方法是在云中免費(fèi)試用14天 Elasticsearch 服務(wù)爸邢。
我們不用這種方式,我們按官方文檔拿愧,在本地運(yùn)行 Elasticsearch杠河。
安裝步驟如下:
- 下載 Elasticsearch 壓縮包:
Linux: elasticsearch-7.11.1-linux-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz
macOS: elasticsearch-7.11.1-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-darwin-x86_64.tar.gz
Windows: elasticsearch-7.11.1-windows-x86_64.zip
- 解壓文件:
Linux:
tar -xvf elasticsearch-7.11.1-linux-x86_64.tar.gz
macOS:
tar -xvf elasticsearch-7.11.1-darwin-x86_64.tar.gz
Windows PowerShell:
Expand-Archive elasticsearch-7.11.1-windows-x86_64.zip
- 從 解壓后的
bin
目錄中啟動(dòng) Elasticsearch:
Linux and macOS:
cd elasticsearch-7.11.1/bin
./elasticsearch
Windows:
cd elasticsearch-7.11.1\bin
.\elasticsearch.bat
現(xiàn)在運(yùn)行了一個(gè)單節(jié)點(diǎn) Elasticsearch 集群。
- 再啟動(dòng)兩個(gè) Elasticsearch 實(shí)例浇辜。需要為每個(gè)節(jié)點(diǎn)指定唯一的數(shù)據(jù)和日志路徑券敌。
Linux and macOS:
./elasticsearch -Epath.data=data2 -Epath.logs=log2
./elasticsearch -Epath.data=data3 -Epath.logs=log3
Windows:
.\elasticsearch.bat -E path.data=data2 -E path.logs=log2
.\elasticsearch.bat -E path.data=data3 -E path.logs=log3
額外的節(jié)點(diǎn)將被分配唯一的 ID。在本地運(yùn)行的所有三節(jié)點(diǎn)柳洋,他們將自動(dòng)與第一個(gè)節(jié)點(diǎn)加入集群讥邻。
- 使用
cat health API
驗(yàn)證你的三節(jié)點(diǎn)集群是否正運(yùn)行蠢熄。這個(gè)cat API
以比原生 JSON 更易讀的格式返回關(guān)于集群和索引的信息挖息。
可以通過(guò) Elasticsearch REST API 提交 HTTP 請(qǐng)求,直接與集群交互募书。如果你安裝和運(yùn)行了 Kibana,你也可以打開(kāi) Kibana测蹲,并通過(guò)開(kāi)發(fā)控制臺(tái)(Dev Console
)提交請(qǐng)求莹捡。
當(dāng)您準(zhǔn)備在自己的應(yīng)用程序中開(kāi)始使用 Elasticsearch 時(shí),您可能想查看Elasticsearch 語(yǔ)言客戶端弛房。
GET /_cat/health?v=true
響應(yīng)應(yīng)該指示 Elasticsearch 集群的狀態(tài)是綠色道盏,且它有三個(gè)節(jié)點(diǎn):
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1565052807 00:53:27 elasticsearch green 3 3 6 3 0 0 0 0 - 100.0%
如果只有一個(gè) Elasticsearch 單實(shí)例而柑,集群狀態(tài)會(huì)保持為黃色文捶。一個(gè)單節(jié)點(diǎn)集群是功能完整的,但數(shù)據(jù)不能被復(fù)制到另一個(gè)節(jié)點(diǎn)以提供彈性媒咳。集群狀態(tài)為綠色時(shí)粹排,副本分片必定可用。如果集群狀態(tài)為紅色涩澡,某些數(shù)據(jù)不可用顽耳。
可以通過(guò) REST API 進(jìn)行操作,自然也可以通過(guò) curl命令操作 Elaticsearch妙同。
標(biāo)準(zhǔn)的 curl 命令格式如下:
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
這個(gè)示例使用以下變量:
<VERB>
合適的 HTTP 方法或操作射富。例如,
GET
粥帚、POST
胰耗、PUT
、HEAD
或DELETE
芒涡。
<PROTOCOL>
http
或https
柴灯。如果你在 Elasticsearch 之前有 HTTPS 代理,或者你使用的 Elasticsearch 安全特性去加密 HTTP 通信费尽,使用后者赠群。
<HOST>
Elasticsearch 集群的任意節(jié)點(diǎn)主機(jī)名『涤祝或者對(duì)本地機(jī)器上的節(jié)點(diǎn)使用
localhost
查描。
<PORT>
運(yùn)行 Elasticsearch HTTP服務(wù)的端口,默認(rèn)為
9200
柏卤。
<PATH>
API路徑冬三,可以包含多部分,比如
_cluster/stats
或_nodes/stats/jvm
闷旧。
<QUERY_STRING>
一些可選的查詢字符串參數(shù)长豁。比如,
?pretty
將打印 JSON 響應(yīng)以使其更易閱讀忙灼。
<BODY>
JSON 編碼的請(qǐng)求體(如果必須)匠襟。
如果啟用了 Elasticsearch 安全特性钝侠,你必須提供用于認(rèn)證運(yùn)行 API 的有效用戶名(以及密碼)。例如酸舍,使用 -u
或 --u
的 cURL 命令參數(shù)帅韧。有關(guān)運(yùn)行每個(gè) API 需要的安全權(quán)限的詳情,參看 REST API啃勉。
Elasticsearch 對(duì)每個(gè) API 請(qǐng)求響應(yīng) HTTP 狀態(tài)碼忽舟,如 200 ok
。除了 HEAD
請(qǐng)求外淮阐,它還會(huì)返回一個(gè) JSON 編碼的響應(yīng)體叮阅。
按照以上官方介紹,我們就可以將 Elasticsearch 運(yùn)行起來(lái)泣特,并且使用簡(jiǎn)單的API查看 Elasticsearch 的狀態(tài)以及標(biāo)準(zhǔn)的 RESTful API格式浩姥。
我們實(shí)際運(yùn)行時(shí),可能會(huì)看到以下提示說(shuō)JDK 8 不適用于 Elasticsearch高版本:
Warning: with JDK 8 on Windows, Elasticsearch may be unable to derive correct
ergonomic settings due to a JDK issue (JDK-8074459). Please use a newer
version of Java.
Warning: MaxDirectMemorySize may have been miscalculated due to JDK-8074459.
Please use a newer version of Java or set MaxDirectMemorySize explicitly.
遇到這個(gè)提示時(shí)状您,可以忽略勒叠,也可以按提示配置MaxDirectMemorySize
參數(shù)或按提示安裝 Java 11。
Elasticsearch 運(yùn)行成功后膏孟,我們可以看到它的端口為 9200
眯分,直接通過(guò) Postman 訪問(wèn) http://localhost:9200
,我們可以看到返回 200 ok
柒桑,以及以下響應(yīng)體:
{
"name": "XXXXX",
"cluster_name": "elasticsearch",
"cluster_uuid": "6rV0qTnBQIyyTo85ZAOK-w",
"version": {
"number": "7.11.1",
"build_flavor": "default",
"build_type": "zip",
"build_hash": "ff17057114c2199c9c1bbecc727003a907c0db7a",
"build_date": "2021-02-15T13:44:09.394032Z",
"build_snapshot": false,
"lucene_version": "8.7.0",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
如果看到以上響應(yīng)體弊决,也說(shuō)明 Elasticsearch 運(yùn)行成功。
以上幕垦,就是對(duì) Elasticsearch 安裝介紹丢氢,更多的安裝介紹,可以查看Elasticsearch 中文文檔先改,也請(qǐng)關(guān)注后續(xù)文章疚察。