ElasticSearch是一個基於Lucene的開源搜索服務器,現已經被越來越多的企業運用於項目當中,筆者為了學習es在自己機器上簡單的搭建了一個es集群,此文權當記錄。
1.我用到的壓縮包
下載地址:鏈接:https://pan.baidu.com/s/1aIDwME7xvPBws78vRlmB7w 密碼:uin6
2.首先解壓兩個壓縮包,並將elasticsearch目錄拷貝為多份(我這里拷貝了三份)
3.修改配置文件
elasticsearch相對於其他軟件,配置還是相對簡單的,只有一個節點的時候直接運行bin下面的批處理文件運行即可使用,不需要做任何配置
即使是我們想要搭建一個集群,也只需要做少量的配置:
* 首先修改一下host文件(host文件的位置不需要我說了吧),添加一下IP映射
127.0.0.1 peer1 127.0.0.1 peer2 127.0.0.1 peer3
* 依次打開三個elasticsearch中config目錄下的下elasticsearch.yml配置文件,需要修改的位置如下:
#配置文件中未改動的位置我就不展示了 #第一個配置文件改動如下 #集群名稱(必須一樣) cluster.name: carryless-es #節點名稱(必須不一樣) node.name: node-1 #本機的IP地址 network.host: peer1 #服務的端口號(在本地配置多個時,請注意修改為不一樣的端口) http.port: 9201 #服務發現端口 transport.tcp.port: 9301 #集群發現IP集合 discovery.zen.ping.unicast.hosts: ["peer1:9301", "peer2:9302","peer3:9303"] #第二個配置文件改動如下 cluster.name: carryless-es node.name: node-2 network.host: peer2 http.port: 9202 transport.tcp.port: 9302 discovery.zen.ping.unicast.hosts: ["peer1:9301", "peer2:9302","peer3:9303"] #第三個配置文件改動如下 cluster.name: carryless-es node.name: node-3 network.host: peer3 http.port: 9203 transport.tcp.port: 9303 discovery.zen.ping.unicast.hosts: ["peer1:9301", "peer2:9302","peer3:9303"]
* 修改好配置文件后依次啟動三個elasticsearch服務,啟動完成后根據剛剛配置的IP和端口,在瀏覽器中訪問得到如下結果即為成功
4.elasticsearch-head插件的安裝
elasticsearch-head是一個用來瀏覽、與elasticsearch進行交互的web前端展示插件,使用node.js編寫,要使用elasticsearch-head插件,需要有node環境,node.js的安裝在此不做贅述,不明白的小伙伴請自行搜索。
* 首先我們使用命令窗口cmd,進入elasticsearch-head插件的目錄中,執行以下代碼
npm install
* 執行完成后,在當前目錄下會多出一個名為node_modules的目錄,此目錄為自動下載所需模塊的文件
* 然后在此目錄下執行以下代碼
npm run start
* 執行結果如下,說明啟動成功
* 然后在瀏覽器中訪問 http://localhost:9100,卻出現意想不到的結果
* 集群健康值:未連接,插件連接不上elasticsearch服務,這是因為elasticsearch服務與elasticsearch-head之間能存在跨域,檢查配置文件后發現少了兩行配置,我們再次打開elasticsearch.yml配置文件,在其中添加如下兩行:
http.cors.enabled: true http.cors.allow-origin: "*"
* 然后重啟elasticsearch服務,再次訪問elasticsearch-head插件發現能連上服務了
* 至此,就配置完成啦!