本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
如果服務要上線不再是測試模式的時候只需要再重啟時使用下列指令:
./bin/elasticsearch -d -p pid
而要關閉服務使用指令:
kill `cat pid`
這做法雖然沒有使用系統 service 模式呼叫方便,但其實也不難,要做到重開機服務能夠繼續也不過就是補上開機後會執行的 Shell Script 來操作就好。
上篇 Elasticsearch 安裝 中沒有特別提到設定,下面來紀錄一下:
需求面:
- 建議至少 4GB 記憶體的主機(預設會佔用 2GB 記憶體)
- VPS 部分建議是使用非 OpenVZ 架構的主機
從第一點不難看出,官方也建議使用的時候硬體資源可以簡單的將記憶體的一半為設定組態的依據。但一半夠不夠或是一定要多少就不在討論範圍了,這都跟處理的資料量以及請求數有關。
而使用前建議先來看看這篇「基礎概論」,好解決接下來會碰到的一狗票陌生定義名詞。
- Cluster 叢集(分散式)架構,這套是預設支援多個平行時空概念的猛獸R~(誤)
Index or Indices 索引,可以解釋成像 MySQL 一樣的資料庫名稱,一個資料集的起始
Type 類別、總類,資料集的小分類
Document 文件,能夠塞進去的那些資料代稱
Shards & Replicas 分散數與備份數,這個兩個大概是裡面最可能搞混人的名詞,也是一組設定參數。 Shards 這邊要注意,Index 建立時指定,之後就改不得了!用來定義資料會被分散成幾份出去到叢集架構下,而 Replicas 是指一份「文件」會被複製成幾份,這兩個都是為了高可用度(high availability)而存在的設定。
Elasticsearch 系統組態部分主要會動到設定檔有
- elasticsearch.yml (叢集配置與 memory_lock: true)
主機與作業系統組態有:
- sysctl.conf
都是用於解放作業系統限制,提高處理效率。其中 sysctl.conf 的設定參考如下:
vm.min_free_kbytes = 409600
vm.vfs_cache_pressure = 200
vm.swappiness = 0
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.sysrq = 1
vm.max_map_count = 262144
設定完後記得 sysctl -f
載入設定。組態部分可以參考這篇「es5.4内存调优」與官方文件「Heap Size」之後的設定。(這邊要注意版本之間會有些落差哦!)
最後就是,學一個東西要先看怎麼毀掉它才能知道他極限,建議搭配閱讀「Six Ways to Crash Elasticsearch」
#Elasticsearch #Configuration #VPS #虛擬主機 #設定 #組態 #紀錄 #背景執行 #教學 #基礎概論 #技術相關
- Powered by Mxp.TW -FB2WP-