ElasticSearch叢集的安裝和配置
阿新 • • 發佈:2019-02-15
說明:這裡只介紹在Linux下ElasticSearch的安裝配置,windows下的使用跟Linux很類似
elasticsearch-1.3.1.zip進行解壓,這時進入/usr/search/elasticsearch-1.3.1/bin/
用命令./elasticsearch
-d啟動單個叢集。如果看到類似下面日誌後說明安裝正常:
./elasticsearch
.....
elasticsearch
節點也都有名稱,如果不指定,ElasticSearch會從自己的配置檔案中隨機選出一個作為自己的名稱,如果啟動節點時想指定叢集名稱和節點名稱,使用一下命令進行啟動:
./elasticsearch --cluster.name
<叢集名稱> --node.name
<節點名稱>
所以在ElasticSearch中啟動叢集是很簡單的事情,啟動其他的節點,可以在其上重複第一步和第二步的操作,如果不希望修改叢集名稱和節點名稱,那麼ElasticSearch通過使用區域網廣播自動發現機制尋找預設叢集名稱的所有節點,最終擁有相同叢集名稱的節點就自動的構成了一個ElasticSearch叢集,不用做其他繁瑣的配置,這樣一個叢集環境就搭建好了。這時可以在任意一臺伺服器使用 curl 'localhost:9200/_cat/health?v' 檢視叢集健康狀態了,再比如:
如果想將elasticsearch設定成系統服務可以通過以下步驟:
a、ES_HOME/bin/service/elasticsearch
install
b、chkconfig elasticsearch
on
然後就可以通過service elasticsearch [console]
[start] [stop]
[restart] [install]
[remove]來操作了。
一、前期準備
Elasticsearch 需要Java 7的支援,推薦使用Oracle JDK version 1.7.0_60,根據所選用平臺在這裡下載安裝,完成安裝後設置好環境變JAVA_HOME(如何設定Java的環境變數這裡不再贅述),然後可以使用java -version命令進行版本檢查。二、下載安裝ElasticSearch
完成準備工作之後,下載安裝ElasticSearch最新發布包,點這裡下載,選擇下載zip包elasticsearch-1.3.1.zip並上傳到伺服器的/usr/search/目錄下,然後使用命令unzip[2014-03-1313:42:23,630][INFO ][node ][NewGoblin]started
三、啟動包含多個節點的ElasticSearch叢集
因為ElasticSearch原生就是支援叢集的,啟動單個es節點也是叢集,每個叢集都有一個名稱,預設的叢集名稱為elasticsearch,同樣每個 curl 'localhost:9200/_cat/nodes?v' 檢視叢集中所有的節點資訊
curl 'localhost:9200/_cat/indices?v' 檢視所有索引
curl -XPUT 'localhost:9200/customer?pretty' 建立索引名稱為customer的索引
curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '{"name": "John Doe"}' 索引一篇文件,型別為external,文件ID:1
curl -XGET 'localhost:9200/customer/external/1?pretty' 查詢一篇文件
curl -XDELETE 'localhost:9200/customer?pretty' 刪除索引名稱為customer的索引
四、ElasticSearch外掛的安裝
上述對於叢集的測試都是通過命令列的方式,使用起來不是很直觀,ElasticSeach提供外掛的方式可以對整個叢集進行檢測和管理、功能擴充套件等。 elasticsearch-servicewrapper是用在ElasticSearch上的Java服務包裝器,可以將Java程序包裝系統服務進行管理。在這裡下載外掛的zip包,解壓後,將目錄 中的service這個目錄拷貝到ES_HOME/bin/下,修改ES_HOME/bin/service/elasticsearch.conf中set.default.ES_HOME為ES的安裝根目錄,然後使用命令ES_HOME/bin/service/elasticsearch檢視elasticsearch-servicewrapper支援的引數:console | Run the elasticsearch in the foreground. |
start | Run elasticsearch in the background. |
stop | Stops elasticsearch if its running. |
install | Install elasticsearch to run on system startup (init.d / service). |
remove | Removes elasticsearch from system startup (init.d / service). |
2) 基於Web的叢集節點瀏覽外掛head
elasticsearch-head是ElasticSearch瀏覽叢集資訊並與之互動的web應用程式;通過該外掛可以檢視叢集中節點分佈拓撲圖,提供基於Json方式的查詢介面入口等功能。 使用說明: a、 在這裡下載elasticsearch-head的zip包elasticsearch-head-master.zip b、使用命令進行本地安裝:ES_HOME/bin/plugin -i head -u file:<目錄>/elasticsearch-head-master.zip c、http://localhost:9200/_plugin/head進行檢視3) 官方推薦的ElasticSearch監控管理外掛Marvel
該外掛提供更為詳細的叢集檢測管理功能,提供帶有查詢提示的介面Sense。 使用說明: a、 在這裡下載elasticsearch-head的zip包elasticsearch-head-master.zip b、使用命令進行本地安裝:ES_HOME/bin/plugin -i marvel -u file:<目錄>/elasticsearch-marvel-master.zip c、http://localhost:9200/_plugin/marvel進行檢視五、配置說明
ElasticSearch大多配置基本都放在ES_HOME/config/elasticsearch.yml中,主要配置引數說明:#cluster.name: elasticsearch 配置叢集名稱 #node.name: "Franz Kafka" 配置節點名稱 #node.master: true 配置當前節點是否具有可選為master節點的資格、 #node.data: true 配置當前節點是否允許儲存資料 #node.max_local_storage_nodes: 1 配置每個幾點可以啟動的Elasticsearch最大例項個數 #index.number_of_shards: 5 配置索引的預設分片數 #index.number_of_replicas: 1 配置索引的預設副本數 #path.conf: /path/to/conf 配置檔案存放目錄 #path.data: /path/to/data 配置該節點索引資料的存放目錄,多個用都好分割 #path.logs: /path/to/logs 配置日誌的存放目錄 #path.plugins: /path/to/plugins 配置外掛安裝目錄 #network.host: 192.168.0.1 配置節點繫結的IP和與其他幾點互動的IP #transport.tcp.port: 9300 配置節點之間互動的埠 #http.port: 9200 配置Http訪問的埠 #http.max_content_length: 100mb 配置可允許的文字最大長度