最近突發奇想去搞了一下ElasticSearch ,它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java語言開發的,並作爲Apache許可條款下的開放源碼發佈,是一種流行的企業級搜索引擎
首先給大家先看一下效果把:
好了現在 開始叫大家怎麼去配置把,我這邊 先從單列服務 再到 分佈式進行
1.單列
1)本地先配置jdk的環境,我這邊建議大家去下載1.8版本,我電腦裏面就是 1.8 這樣 就不會出現 版本不一致造成的配置配不上去的情況;
2)配置 node,因爲此次可視化界面 elasticsearch-head 需要node 啓動 這是我本地的版本
3)下載 elasticsearch ,並解壓
4)下載 elasticsearch-head ,並解壓
5)啓動 elasticsearch ,解壓文件下,bin目錄下 cmd 啓動,
6)啓動elasticsearch-head ,cmd 目錄下,npm install 下載文件所依賴的包,然後在 npm run start
7)此刻你會發現 elasticsearch-head 鏈接不上 elasticsearch,因爲,兩個項目沒有任何關聯,所以你要去 配置 elasticsearch允許跨域請求 ,打開 elasticsearch.yml 在底部添加
http.cors.enabled: true
http.cors.allow-origin: "*"
然後重新啓動 elasticsearch,就會發現 已經鏈接上了
2.分佈式搭建
1)設置 master分支,在原有的elasticsearch.yml 添加
cluster.name: xht
node.name: master
node.master: true
network.host: 127.0.0.1
cluster.name :配置es的集羣名稱,默認是elasticsearch,es會自動發現在同一網段下的es,如果在同一網段下有多個集羣,就可以用這個屬性來區分不同的集羣。
node.name: 節點name
node.master: 指定該節點是否有資格被選舉成爲node,默認是true,es是默認集羣中的第一臺機器爲master,如果這臺機掛了就會重新選舉master。
network.host: 設置本地
2)複製elasticsearch包並重新命名,打開elasticsearch.yml
cluster.name: xht
node.name: slave1
network.host: 127.0.0.1
http.port: 8200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
http.port: 設置啓動端口
discovery.zen.ping.unicast.hosts: 設置集羣中master節點的初始列表,可以通過這些節點來自動發現新加入集羣的節點
node.name: 節點名稱
多集羣相同的方法
啓動節點elasticsearch,並刷洗 head 你會發現
創建成功了
如果在配置的時候 有問題可以 留言哦