在前幾篇實戰中,我已經用 chef 把 Elasticsearch cluster 的雛型做出來了,接下的問題是要怎麼 scale up。
最初的想法是用 EC2 的 Autoscaling 來做,但仔細想了一下,scale up 比較沒問題,但如果要 scale down 的話,因為有效的 shards 減少了,整個 cluster 就必須重新分配 shards。
接續前篇 Chef 實戰 part4 — 設定 Elasticsearch cluster,現在總算可以來設定 role 及 chef-client cookbook 實現自動更新機制了。
在 Learn Chef Rally 學習筆記 part7 — 除錯及定期執行 chef-client 的時候我已安裝好 chef-client cookbook…
在上一篇我完成了 IK 安裝與更新詞庫的機制,但必須手動執行 chef-client 詞庫才會更新,所以還需要用 chef-client cookbook 及 role 來建立自動更新的機制,在 Learn Chef Rally 學習筆記 part7 — 除錯及定期執行 chef-client 有學到這些用法。
chef-client
這次要來安裝 Elasticsearch 的 plugin — IK Analyzer,以及建立更新詞庫的機制。
NOTE: 其實一開始想學 Chef 就是為了做這件事,因為 IK Analyzer 雖說有遠端熱更新分詞功能,但我怎麼試就是都不能用,只好用本機端的詞庫。問題是我的 node 不只一台,必須建立一個優雅的機制去同時更新它們的本機端詞庫才行。
上一篇 Chef 實戰 part1 — 從 0 開始寫 Cookbook 架設 Elasticsearch 中,我是用從無到有的方式來架設 Elasticsearch node。但其實官方有提供寫好的 cookbook,我覺得主要的差別是只要設定好需要的參數,就可以不用自己準備設定檔。
我們可以到 Chef Supermarket 搜尋 “elasticsearch” 就可以找到官方的 elasticsearch cookbook,然後參考…
在 Learn Chef Rally 學完了 3 個 modules,學了一些基本的用法,先來實際操作一下看會遇到什麼問題。
這次的需求是架設 Elasticsearch + IK analyzer,但這篇文章還不會實作到 IK 的部分。