啟動并運(yùn)行Elasticsearch

想要測試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)建部署:

  1. 注冊一個試用賬號并且通過郵箱認(rèn)證;
  2. 為您的賬戶設(shè)置一個密碼;
  3. 點擊創(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集群:

  1. 根據(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)下載速度受限,可以嘗試通過華為開源鏡像
)下載

  1. 解壓文件:
    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
  1. 從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的集群!

  1. 在啟動兩個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é)點的集群中。

  1. 通過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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容