想要測試Elasticsearch,您可以在Elasticsearch服務(wù)平臺上創(chuàng)建托管部署,或者在您自己的Linux,macOS亦或Windows機(jī)器上創(chuàng)建多節(jié)點的Elasticsearch集群。
在Elastic云服務(wù)器上運(yùn)行Elasticsearch
在Elasticsearch Service上創(chuàng)建部署時,改服務(wù)與Kibana和APM一起預(yù)配上那個節(jié)點的集群。
創(chuàng)建部署:
- 注冊一個試用賬號并且通過郵箱認(rèn)證;
- 為您的賬戶設(shè)置一個密碼;
- 點擊創(chuàng)建部署;
當(dāng)你創(chuàng)建完一個部署之后,您就已經(jīng)可以來索引文件了。
在本地Linux, macOS亦或Windows機(jī)器上運(yùn)行Elasticsearch
當(dāng)你在Elasticsearch云平臺創(chuàng)建部署時,一個主節(jié)點和兩個數(shù)據(jù)節(jié)點就自動預(yù)配置好了。而通過tar或者zip歸檔文件進(jìn)行安裝,您可以在本地啟動多個Elasticsearch的應(yīng)用實例來觀察多節(jié)點集群時如何工作的。
通過一下步驟來運(yùn)行本地多節(jié)點Elasticsearch集群:
- 根據(jù)你的操作系統(tǒng)下載Elasticsearch歸檔文件
Linux:elasticsearch-7.7.0-linux-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz
macOS: elasticsearch-7.7.0-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-darwin-x86_64.tar.gz
Windows: elasticsearch-7.7.0-windows-x86_64.zip
注意:如果再中國大陸境內(nèi)下載速度受限,可以嘗試通過華為開源鏡像
)下載
- 解壓文件:
Linux:
tar -xvf elasticsearch-7.7.0-linux-x86_64.tar.gz
macOS:
tar -xvf elasticsearch-7.7.0-darwin-x86_64.tar.gz
Windows PowerShell:
Expand-Archive elasticsearch-7.7.0-windows-x86_64.zip
- 從bin目錄啟動Elasticsearch:
Linux和macOS:
cd elasticsearch-7.7.0/bin
./elasticsearch
Windows:
cd elasticsearch-7.7.0\bin
.\elasticsearch.bat
現(xiàn)在您已經(jīng)啟動和運(yùn)行了一個單節(jié)點的Elasticsearch的集群!
- 在啟動兩個Elasticsearch實例,這樣您就可以了解典型的多節(jié)點集群時如何工作的。不過您需要給每一個節(jié)點指定唯一的數(shù)據(jù)和日志路徑。
Linux和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é)點都被分配了唯一的ID。因為這三個節(jié)點都運(yùn)行在本地,所以他們自動的就加入到了第一個節(jié)點的集群中。
- 通過cat健康監(jiān)測API來驗證你的三個節(jié)點集群已經(jīng)啟動并運(yùn)行。cat API的返回信息中包含集群和索引的格式比純JSON的數(shù)據(jù)更容易閱讀。
你可以通過提交HTTP請求到Elasticsearch REST API來直接與集群進(jìn)行交互。 如果你安裝并于寧了Kibana,您還可以打開Kibana通過開發(fā)者控制臺來提交請求。
提示:當(dāng)您準(zhǔn)備啟動好在您自己的應(yīng)用中使用Elasticsearch時,您可能希望查看Elasticsearch language clients
GET /_cat/health?v
#curl:
curl -X GET "localhost:9200/_cat/health?v&pretty"
#kibana console:
http://localhost:5601/app/kibana#/dev_tools/console?_g=()
返回的響應(yīng)應(yīng)該有指明當(dāng)前Elasticsearch集群狀態(tài)是green并且他有三個節(jié)點。
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%
注意:集群狀態(tài)會一直是yellow如果您只運(yùn)行一個Elasticsearch實例。單個節(jié)點集群是功能齊全的,但是數(shù)據(jù)不能被同步到另一個節(jié)點中以提供數(shù)據(jù)冗余。副本分片必須可用才能是集群狀態(tài)變?yōu)間reen。如果集群狀態(tài)是red,那么說明有部分?jǐn)?shù)據(jù)是不可用的。
通過cURL命令行與Elasticsearch交互
本教程中大部分的例子都允許你直接拷貝cRUL命令,在命令行提交請求到您本地的Elasticsearch實例中。
任何一個訪問Elasticsearch的HTTP請求都有一下部分組成:
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
這個例子中用到了一下幾個參數(shù):
<VERB>
合適的HTTP 方法或者行為。 比如GET, POST, PUT, HEAD或者DELETE
<PROTOCOL>
http或者h(yuǎn)ttps中的一個。如果你在Elasticsearch之上有一層HTTPS代理或者您通過Elasticsearch安全特性來加密HTTP傳輸,那么就是用后者。
<HOST>
您Elasticsearch集群的任何一個節(jié)點的主機(jī)名。通常,使用localhost來訪問您本底機(jī)器上的一個節(jié)點。
<PORT>
運(yùn)行Elasticsearch HTTP服務(wù)端口,默認(rèn)是9200。
<PATH>
API端點,可以包含多組件,比如_cluster/stats或者_(dá)nodes/stats/jvm。
<QUERY_STRING>
任何可選的查詢語句參數(shù)。比如?pretty可以縮進(jìn)打印返的JSON格式響應(yīng),讓它變得更易閱讀。
<BODY>
必要情況下,一個JSON的格式的請求BODY
如果Elasticsearch安全特性被啟用,那么你就必須提供有效的用戶名(和密碼)以授權(quán)訪問API。比如,通過-u或者—u的cURL命令行參數(shù)。 更多關(guān)于安全授權(quán)來運(yùn)行API,可以參考REST APIs.
Elasticsearch使用HTTP狀態(tài)碼(比如200 OK)響應(yīng)每個API請求。除HEAD請求外,它還返回JSON編碼格式的響應(yīng)主體。
其他可選安裝
從存檔文件安裝Elasticsearch使您能夠輕松地在本地安裝和運(yùn)行多個實例,以便您可以嘗試一下。 要運(yùn)行一個實例,您可以在Docker容器中運(yùn)行Elasticsearch,在Linux上使用DEB或RPM軟件包安裝Elasticsearch,在macOS上使用Homebrew進(jìn)行安裝,或者在Windows上使用MSI軟件包安裝程序進(jìn)行安裝。 有關(guān)更多信息,請參見安裝Elasticsearch。