elasticsearch 升級 1.x --> 2.x
YO! ElasticSearch 1.x 升級 2.x 的一些小心得 來一段多餘的前言 為了不寫半行程式碼的方式完成學校的作業,我還是選擇了用ELK中的E跟K來偷懶一下,做一下資料的統計啊~ 數量長條圖啊~ 之類的 不過因為裝了新版的Kibana,跟老師提供的ElasticSearch 1.x不合,所以花了很多時間在處理升級的事...,這之中實在充滿雷啊!! 升級ElasticSearch 1.x --> 2.x https://www.elastic.co/guide/en/elasticsearch/reference/2.4/restart-upgrade.html 最簡單就是參考這篇,不過我參考了還是弄了老半天 先來講解一下裡面每個步驟 1. Disable Shard allocation shard 就是一個 Lucene index,至於Lucene,應該算是個檢索引擎 ElasticSearch平時會把資料分成多個shard然後再分別分在你所運行的node裡面 阿既然要升級,就先把shard allocation關掉,專心對付每個node PUT / _cluster / settings { "persistent" : { "cluster.routing.allocation.enable" : "none" } } 2. Perform a Synced flush (optional) 這步主要是讓接下來shard在recover的時候快一點 POST / _flush / synced 3. Shutdown and upgrade all node 這邊就比較麻煩了 你可以選擇 安裝一個新版本的ElasticSearch,然後把conf跟data路徑指向舊版的位置 解開新版壓縮檔,然後把除了data, config的都蓋過去 安裝一個新版本的,然後把舊版的config跟data拉到新版的資料夾下 在1.x --> 2.x 的時候,要注意舊版的config裡有一行 http.cors.enable