elasticsearch-1.7.1 (es Windows 64) 安裝、啟動、停止的詳細記錄
https://blog.csdn.net/qq_27093465/article/details/53544541
elastic adj.有彈力的;可伸縮的;靈活的
restful adj.平靜的,悠閑的,讓人得到休息的;安生
RESTful API
為了建立 Elasticsearch ,第一步是確保正確安裝Java 環境。我就默認安裝了,因為我確實安裝了,jdk 1.8版本的。
這個安裝完全不需要配置,只需要把下載的東西解壓,直接可以用。
我提供某度雲盤,具體如下。
鏈接:http://pan.baidu.com/s/1c1JfIjY 密碼:zcpm
包括 elasticsearch-1.7.1 和 elasticsearch-2.3.4 兩個版本的壓縮包。其中1.7版本的里面有2個插件。head和bigdesk。下面介紹2個插件:
head
用於在瀏覽器中管理索引,查詢數據等
地址:http://192.168.1.233:9200/_plugin/head
Bigdesk
用於實時監控索引的性能狀態
地址:http://192.168.1.233:9200/_plugin/bigdesk
安裝,啟動ES。
運行完之后,就安裝好了。不需要安裝,不需要配置,就可以用了。
打開這個網址,http://localhost:9200/?pretty,看到如下概覽信息。
看到上面的信息,說明就啟動OK了,簡單,只要你的Java環境是OK的。
這個圖,是因為,我的plugins文件夾下面已經有2個插件了,head和bigdesk。看到這個是head。可以提供方便的搜索方式吧。
目錄概覽:
bin :運行Elasticsearch實例和插件管理所需的腳本
confg: 配置文件所在的目錄
lib : Elasticsearch使用的庫
data : Elasticsearch使用的所有數據的存儲位置
logs : 關於事件和錯誤記錄的文件
plugins: 存儲所安裝插件的地方
work : Elasticsearch使用的臨時文件,這個文件我這暫時好像沒有,可以根據配置文件來 配置這些個文件的目錄位置,比如上面的data,logs,
data文件夾里面具體,如下,有2個文件夾,第一個是剛剛默認配置啟動時,生成的集群和節點,第二個是我修改了集群和節點的默認值又啟動后生成的。
config配置文件夾修改配置文件
可以看到兩個文件:elasticsearch.yml(或elasticsearch.json,如果有的話會被使用)和logging.yml。第一個文件負責設置服務器的默認配置值。重要的是,因為一些配置值可以在運行時更改,也可作為集群狀態的一部分被保留,所以這個文件中的值可能不准確。有兩個值不能在運行時更改,分別是cluster.name和node.name。日志的配置文件一般不需要修改。暫不作了解。
bin文件夾下的文件,我做了個簡單的測試,可能有點蠢啊。就看看吧。
上面配置完之后,就可以直接在瀏覽器里面打開
localhost:9200/_plugin/head/index.html
這個地址,看到如下圖的信息。
先了解2個概念。
集群和節點
節點(node)是一個運行着的Elasticsearch實例。
集群(cluster)是一組具有相同cluster.name的節點集合,他們協同工作,共享數據並提供故障轉移和擴展功能,當然一個節點也可以組成一個集群。
關於 cluster.name 的解釋:
這個在config配置文件 elasticsearch.yml 里面可以自己修改,我的集群就叫lixuekai,具體看上面的圖。配置完,然后重啟ELasticsearch 就OK了。
停止就是Ctrl + C,然后yes就停止了。
解釋URL里面的 ?pretty 。
http://localhost:9200/_cluster/health?pretty,這個url可以查看集群的健康狀況。cluster 這個單詞就是集群的意思,注意識得這個單詞,也就明白這個URL的意思了。在head插件里面,集群名字后面的綠色部分,可以直接看到,要是沒這個插件,也可這么看。API返回的JSON對象信息里,換行符是被省略的,在請求中加上pretty參數是強制Elasticsearch在響應中加上換行符,使之更可讀。下面給不帶參數的測試圖。
一個節點也是可以叫集群的,現在弄2個節點的集群。
現在看到的是一個節點,現在把 elasticsearch-1.7.1 這個目錄整個復制到其他任意個地方,然后,先修改下 配置文件里面的節點配置,我修改為 lxk_test2 ,然后再次啟動。啟動完之后,就有如下圖:貼出關鍵部分文字。看到。檢測到了之前運行的實例 lxk_test1 的節點,這2個節點就共同組成一個集群。
[html] view plain copy
[2016-12-07 18:03:08,867][INFO ][discovery ] [lxk_test2] lixuekai
/89cMZWiCQ32UrETZ33pflQ
[2016-12-07 18:03:11,968][INFO ][cluster.service ] [lxk_test2] detected
_master [lxk_test1][GMizXVJ9QKiYDXsdRg-_UQ][King-PC][inet[/192.168.1.134:9300]],
added {[lxk_test1][GMizXVJ9QKiYDXsdRg-_UQ][King-PC][inet[/192.168.1.134:9300]],
}, reason: zen-disco-receive(from master [[lxk_test1][GMizXVJ9QKiYDXsdRg-_UQ][Ki
ng-PC][inet[/192.168.1.134:9300]]])
[2016-12-07 18:03:12,159][INFO ][http ] [lxk_test2] bound_ad
dress {inet[/0:0:0:0:0:0:0:0:9201]}, publish_address {inet[/192.168.1.134:9201]}
[2016-12-07 18:03:12,160][INFO ][node ] [lxk_test2] started
然后,再看 http://localhost:9200/_plugin/head/index.html 這個head的插件的顯示如下,可以看到確實節點就變成2個了,還是在同一個集群里面。
關閉ES
1。上面介紹的ctrl+c是簡單的關閉單個節點的方法。
2。殺掉服務器進程也是可以的,(參考Linux上的kill命令和Windows上的任務管理器)
3。下面看如何關閉整個集群。
可以執行以下命令來關掉整個集群:
curl -XPOST http://localhost:9200/_cluster/nodes/_shutdown
上面這個命令,我看到別人在mac上測試,可以關閉集群。
以下命令來關掉單個節點:假設:節點標識符是BlrmMvBdSKiCeYGsiHijdg,說的不是節點的name
curl –XPOST http://localhost:9200/_cluster/nodes/BlrmMvBdSKiCeYGsiHijdg/_shutdown
上面的這個是在mac的命令行操作的吧。但是我測試的時候,一直是失敗。
獲得nodes的信息的get請求如下:
http://localhost:9200/_cluster/state/nodes?pretty
head插件上,可以在頁面直接操作,關閉節點。但是集群的關閉是沒有直接提供快捷操作按鈕的。
Elasticsearch 作為系統服務運行
在Windows上運行系統服務
轉到Elasticsearch的安裝目錄,到bin子目錄下,執行:
service.bat install
如果你想看看所有被service.bat腳本文件暴露出來的命令,在相同目錄下執行:
service.bat
例如,為了啟動Elasticsearch,可執行如下命令:
service.bat start
然后啟動任務管理器,看到出現了elasticsearch的服務已經出現了。因為剛剛已經啟動了。所以,在head插件的頁面看到這個節點變成了2個。
注意,因為我上面演示建多個節點的集群,把原來的安裝的,又復制到其他地方了,這個操作,在哪個bin目錄下都是可以的。沒有試過,能不能把2個都給整成系統服務。目測也是可以的。