文章用來開啟Node和Elasticsearch學習的新篇章,持續更新中…
來源:慕課網瓦力老師課程 http://www.imooc.com/learn/889
Elasticsearch官網:https://www.elastic.co/produc…
下載系統匹配版本,解壓即可。
elasticsearch-head外掛下載地址:https://github.com/mobz/elast…
說明:
- 提前安裝好 Node.js 8.5.0
- 版本:elasticsearch-5.6.1/elasticsearch-head-master 需要Node 6.0以上
- 以下操作是在 Git Bash 下進行的…
# 開啟head外掛目錄
$ cd elasticsearch-head-master
# 下載 "package.json" 裡的依賴包
$ npm install
# 執行head外掛
$ npm start run
# 服務啟動成功,會顯示如下資訊:
Started connect web server on http://localhost:9100
此時瀏覽器訪問 http://localhost:9100, 顯示head外掛頁面,但狀態顯示未連線,原因是未啟動 Elasticsearch。Ctrl+c
關掉服務,先啟動 Elasticsearch:
$ cd elasticsearch/bin
$ start elasticsearch
再啟動 Elasticsearch 之前,修改 elasticsearch.yml,原因是 head 外掛和 Elasticsearch 是兩個不同的執行緒,存在跨域問題。yml新增配置如下:
#允許跨域 連線head外掛
http.cors.enabled: true
http.cors.allow-origin: "*"
#叢集名
cluster.name: zhangyl
#節點名
node.name: master
#此節點是否為主節點
node.master: true
#本地網路地址
network.host: 127.0.0.1
訪問 http://localhost:9100 顯示叢集狀態,及節點master
http://localhost:9200 有更詳細的叢集名等資訊
npm小知識:
因為npm預設遠端倉庫地址在國外,下載包特別慢,修改如下:# 將npm預設設定為淘寶映象地址 $ npm config set registry http://registry.npm.taobao.org/ # 檢視遠端倉庫 $ npm config get registry # 當你想釋出自己的包時,需要將地址修改回來 $ npm config set registry https://registry.npmjs.org
分散式安裝elasticsearch:
如上配合elasticsearch.yml,是主節點的配置資訊。然後拷貝兩份elasticsearch的解壓包,修改yml如下:
cluster.name: zhangyl
node.name: slave_1
network.host: 127.0.0.1
http.port: 9201
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
cluster.name: zhangyl
node.name: slave_2
network.host: 127.0.0.1
http.port: 9202
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
cluster.name 叢集名要一致,http.port 不同,防止埠號衝突。
修改完成後,依次啟動elasticsearch主節點、兩個普通節點及head外掛,訪問http://localhost:9100,會顯示三個節點:master/slave_1/slave_2
分散式配置完成!