[Elasticsearch] 設定背景執行模式以及系統組態方法

如果服務要上線不再是測試模式的時候只需要再重啟時使用下列指令:


./bin/elasticsearch -d -p pid

而要關閉服務使用指令:


kill `cat pid`

這做法雖然沒有使用系統 service 模式呼叫方便,但其實也不難,要做到重開機服務能夠繼續也不過就是補上開機後會執行的 Shell Script 來操作就好。

上篇 Elasticsearch 安裝 中沒有特別提到設定,下面來紀錄一下:

需求面:

  1. 建議至少 4GB 記憶體的主機(預設會佔用 2GB 記憶體)
  2. VPS 部分建議是使用非 OpenVZ 架構的主機

從第一點不難看出,官方也建議使用的時候硬體資源可以簡單的將記憶體的一半為設定組態的依據。但一半夠不夠或是一定要多少就不在討論範圍了,這都跟處理的資料量以及請求數有關。

而使用前建議先來看看這篇「基礎概論」,好解決接下來會碰到的一狗票陌生定義名詞。

  1. Cluster 叢集(分散式)架構,這套是預設支援多個平行時空概念的猛獸R~(誤)
  • Node 節點,就是說叢集架構下的每個節點
  • Index or Indices 索引,可以解釋成像 MySQL 一樣的資料庫名稱,一個資料集的起始

  • Type 類別、總類,資料集的小分類

  • Document 文件,能夠塞進去的那些資料代稱

  • Shards & Replicas 分散數與備份數,這個兩個大概是裡面最可能搞混人的名詞,也是一組設定參數。 Shards 這邊要注意,Index 建立時指定,之後就改不得了!用來定義資料會被分散成幾份出去到叢集架構下,而 Replicas 是指一份「文件」會被複製成幾份,這兩個都是為了高可用度(high availability)而存在的設定。

  • Elasticsearch 系統組態部分主要會動到設定檔有

    1. elasticsearch.yml (叢集配置與 memory_lock: true)
  • jvm.options ( -Xms2g 預設 2GB )
  • 主機與作業系統組態有:

    1. sysctl.conf
  • limits.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-

    Facebook 外掛功能


    Share:

    作者: Chun

    資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *