elasticSearch 單機(mac)僞分佈式集羣搭建

由於用的是mac本, 所以索性逃課 用brew裝了es。 (版本是6.8.*), 7還沒有更新上來。 當然用docker會好一些。

1. 找到安裝地址和配置文件路徑

1.1 安裝地址

brew默認安裝目錄是/usr/local/Cellar

也可以利用命令 查看具體應用的安裝地址

brew list elasticsearch

結果:
安裝目錄

1.2 配置文件地址查看:
brew info elasticsearch

配置地址
該目錄有如下幾個文件(由於後綴不是常用的 所以都是 普通文件(-)類型
在這裏插入圖片描述

  • elasticsearch.keystore 是一個可執行文件, 主要用來搞一些安全類 認證類的配置。
  • jvm.options 主要是設置堆大小、gc類的配置, 畢竟底層的luence是java寫的, 也可以在啓動時候通過添加-Xmx -Xms參數配置, 後期還可以動態請求接口。 (ps: 官方推薦堆不要大於32g, 大於32g會使得jvm不在壓縮指針, 從而引發一些問題。 並且 給es的內存不要超過該機器的一半(luence也需要內存的), 滿足以上兩個條件的情況下 越大越好。。 畢竟es的速度靠的是內存 內存過小的話 沒準還不如直接查數據庫來的快)
  • log4j2.properties 一看就知道是日誌相關配置
  • elasticsearch.yml 重點項目, elastic自己的配置, 也是主要打叫道的文件

2. 配置文件

僞集羣 那麼理論上至少是3臺(2臺也行。。不過2臺的容錯率和3臺是一樣的。。 涉及到主從選舉之類的知識)

配置文件只列出了基礎的比較重要的項目 ( 還有其他配置 比如配置分片數量index.number_of_shards, 索引備份分片數量index.number_of_replicas等等。。)

 node.name: {node-name} # 節點名稱
 node.master: true # 只有爲true 才能被選舉爲master
 node.data: true # 是否存儲數據
 http.port: 9200 # 對外提供的端口
 transport.tcp.port: 9300 # 集羣交流的端口 (類似於redis 端口號+1w的總線通信端口)
 # 掃描的地址(帶端口, 默認是9200)
 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
 # 組成的master數
 discovery.zen.minimum_master_nodes: 1
 # 集羣名稱 -- 主從務必要保證一致
 cluster.name: elasticsearch_icymoon
 # 本地最多啓動的node數
 node.max_local_storage_nodes: 3

3.啓動僞集羣

  • 之前在查資料的時候 看到許多說 複製一個配置文件然後啓動的時候加 -Epath.config=…的, 我個人這個版本是不支持的, 會報錯(報unknown path.config之類的, 說明這個版本不支持path.config這個配置)。 導致踩了許多坑。 最後還是手動搞的參數命令。

  • 開啓master node:

/usr/local/Cellar/elasticsearch/6.8.4/bin/elasticsearch
或者 -E 自定義參數配置
 /usr/local/Cellar/elasticsearch/6.8.4/bin/elasticsearch -E node.name=master -E cluster.name=elasticsearch_icymoon -E path.data=/usr/local/var/lib/elasticsearch/ -E path.logs=/usr/local/var/log/elasticsearch/ -E http.port=9200 -E transport.tcp.port=9300 -E node.master=true -E node.max_local_storage_nodes=3
  • 開啓slave-node:
/usr/local/Cellar/elasticsearch/6.8.4/bin/elasticsearch -E node.name=slave-1 -E cluster.name=elasticsearch_icymoon -E path.data=/usr/local/var/lib/elasticsearch/ -E path.logs=/usr/local/var/log/elasticsearch/ -E http.port=9201 -E transport.tcp.port=9301 -E node.master=false -E discovery.zen.ping.unicast.hosts=127.0.0.1:9300,127.0.0.1:9301,127.0.0.1:9302

開啓第二個salve。。省略

4. 查看集羣狀態

我自己的http.port的端口配置的9200(默認也是9200), 所以直接訪問就好了.
輸入地址

http://localhost:9200/_cluster/health?level=indices 

看到status : 爲 green 說明就ok了。 可以愉快的進行玩耍了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章