Elasticsearch官檔翻譯——3 突出的版本變化

突出的版本變化

譯者批注:這一章譯者選擇翻譯5.5版本的變化幔亥,因為全文主要講解2.x版本怕轿,所以有必要了解高版本的新特性
這一章主要討論版本之間的不同,特別是當(dāng)你要從一個版本遷移數(shù)據(jù)到另一個版本的時候,你需要注意脚翘。

通常的規(guī)律:

  • 跨越大版本遷移 —— 例如1.x到2.x —— 需要停集群升級。
  • 小版本遷移 —— 例如1.x到1.y —— 需要滾動升級销钝。
  • 跨越不連續(xù)版本遷移 —— 例如 1.x到5.x —— 不支持
    譯者批注:建議日志類集群可以進行跨版本升級厕吉,業(yè)務(wù)類集群如果已經(jīng)投入大量使用酱固,就先緩緩吧,數(shù)據(jù)同步又是一個很麻煩的過程头朱,特別是不同業(yè)務(wù)要求又不同运悲,牽扯到的人力成本比較高,升級的性價比不高项钮“嗝校可以選擇搭建新集群接入新業(yè)務(wù),老業(yè)務(wù)再有重構(gòu)需求時一并升級

詳細(xì)請看集群升級烁巫。


5.5版本變動

忽略隱藏文件夾

之前的版本會跳過plugin目錄下面的隱藏文件夾署隘,這樣會導(dǎo)致?lián)p壞的插件安裝后不會被ES探查到,所以這個寬泛的特性被移除了程拭。

跳過內(nèi)核參數(shù)設(shè)置

Elasticsearch在安裝的時候嘗試設(shè)置vm.max_map_count參數(shù)(譯者批注:譯者看了下2.2版本的啟動腳本確實有執(zhí)行sysctl -q -w vm.max_map_count=$MAX_MAP_COUNT)定踱,在某些系統(tǒng)下可能失敗棍潘。在早先的版本恃鞋,ES接受一個ES_SKIP_SET_KERNEL_PARAMTERS參數(shù)來跳過內(nèi)核參數(shù)設(shè)置。從Elasticsearch5.5.0開始亦歉,取消這個參數(shù)以及相應(yīng)的功能恤浪,可以通過systemd-sysctl操作來實現(xiàn)相同的效果。

RPM/DEB安裝包在/etc/elasticsearch下配置了 setgid

現(xiàn)在RPM/DEB安裝包中在/etc/elasticsearch里設(shè)置了 setgid肴楷,這樣任何在/etc/elasticsearch目錄下的文件或子目錄都屬于同一個組(root:elasticsearch)水由。主要是保證這個目錄下創(chuàng)建的文件都對elasticsearch用戶可讀。

獲取別名和獲取映射 API 返回404

之前的版本珍坊,在請求獲取別名 和get mapping 兩個api的時候昔园,無論什么情況都不會返回404臭家。在Elasticsearch5.5版本后,當(dāng)獲取別名或獲取映射不存在的時候鞠值,返回404.

Java API改變

has_childhas_parent渗钉,paren_id等查詢都放到了 parent-join模塊彤恶。children聚合也放到了這個模塊下钞钙。parent-join模塊需要在TransportClient使用的時候加載∩耄或者當(dāng)要動態(tài)加載模塊時芒炼,使用PreBuiltTransportClient替代


5.4版本變動

Delete_By_Query API改變

Delete_By_Query的請求體必須有查詢條件,不包含請求體的Delete_By_Query在6.0.0是不合法的术徊。


5.3版本變動

日志配置

此前的版本Elasticsearch暴露了一個系統(tǒng)參數(shù) es.logs本刽,它包含了系統(tǒng)配置的日志絕對路徑,并且它的前綴用來表示各種日志文件名(主日志文件赠涮,過期日志和慢日志)盅安。這個參數(shù)已經(jīng)被下面三個取代了:

  • es.logs.base_path:日志目錄絕對路徑
  • es.logs.cluster_name:默認(rèn)的各種日志文件名前綴。
  • es.logs.node_name:如果文件名中需要包含節(jié)點名的話世囊,在這里用别瞭。
    es.logs參數(shù)已經(jīng)廢棄并將在6.0.0版本移除。

Netty 3 被廢棄

Netty 3中的transport(transport.type=netty3)和Http(http.type=netty3)在6.0.0被廢棄

弱檢查的布爾值被廢棄

布爾值 除了false , “false” 和 true “true” 其他都被廢棄(譯者批注:2.2中有些配置支持使用 yes no)株憾。REST API和映射配置中也廢棄了這種使用方式


5.2版本變動

啟動檢查系統(tǒng)調(diào)用

Elasticsearch自2.1.0版本開始試圖加入系統(tǒng)調(diào)用過濾器蝙寨。在某些系統(tǒng)中,系統(tǒng)調(diào)用過濾器可能導(dǎo)致失敗嗤瞎。在早先的版本會加入waring日志記錄墙歪,但是會繼續(xù)執(zhí)行,可能用戶并不知道這個情況贝奇。從5.2.0版本開始加入啟動檢查系統(tǒng)調(diào)用虹菲,看是否成功。如果你啟動的時候因為這個檢查而出問題了掉瞳,你需要檢查是需要修改配置中的系統(tǒng)調(diào)用過濾器毕源,還是自擔(dān)后果去掉這個系統(tǒng)調(diào)用過濾器。

系統(tǒng)參數(shù)過濾器配置

簡單說就是bootstrap.seccomp這個參數(shù)被更名為:bootstrap.system_call_filter陕习。前者仍舊支持但是6.0版本會被移除霎褐。

Java API刪除了source方法的一些重寫

刪除了以下方法:

  • PutRepositoryRequest#source(XContentBuilder)
  • PutRepositoryRequest#source(String)
  • PutRepositoryRequest#source(byte[])
  • PutRepositoryRequest#source(byte[], int, int)
  • PutRepositoryRequest#source(BytesReference)
  • CreateSnapshotRequest#source(XContentBuilder)
  • CreateSnapshotRequest#source(String)
  • CreateSnapshotRequest#source(byte[])
  • CreateSnapshotRequest#source(byte[], int, int)
  • CreateSnapshotRequest#source(BytesReference)
  • RestoreSnapshotRequest#source(XContentBuilder)
  • RestoreSnapshotRequest#source(String)
  • RestoreSnapshotRequest#source(byte[])
  • RestoreSnapshotRequest#source(byte[], int, int)
  • RestoreSnapshotRequest#source(BytesReference)
  • RolloverRequest#source(BytesReference)
  • ShrinkRequest#source(BytesReference)
  • UpdateRequest#fromXContent(BytesReference)

_timestamp 元數(shù)據(jù)字段改變

timestamp元字段的類型由java.lang.String改成了java.util.Date

5.1版本變動

別名添加了和索引名幾乎相似的校驗規(guī)則

現(xiàn)在別名添加了和索引名幾乎相似的校驗規(guī)則该镣。唯一不同的是別名允許使用大寫字母冻璃。意味著別名不允許使用如下規(guī)則:

  • _, -, 或 +開頭
  • 包含這些字符:#, , /, *, ?, ", <, >, |, ,
  • 超過100個UTF編碼字節(jié)
  • 使用 ...

5.1.0版本以前上述規(guī)則的別名還支持,但是現(xiàn)在不支持了损合。由于使用_aliases API 修改別名實際上是刪除別名再自動重新創(chuàng)建一個省艳,修改別名如果非法也不再支持。

Log4j的依賴版本升級

Log4j的版本從2.6.2升級到2.7嫁审。如果你使用transport client跋炕,需要更新相應(yīng)的Log4j版本

節(jié)點本地發(fā)現(xiàn)已經(jīng)移除

節(jié)點本地發(fā)現(xiàn)已經(jīng)移除。這種發(fā)現(xiàn)機制的實現(xiàn)土居,用于內(nèi)部的tribe服務(wù)以及在同一個JVM環(huán)境下運行多個節(jié)點的測試枣购。這意味著設(shè)置discovery.typelocal啟動elasticsearch將會失敗嬉探。

UnicastHostsProvider 現(xiàn)在基于拉的模式

插件基于zen發(fā)現(xiàn)的UnicastHostsProvider現(xiàn)在采用拉的模式。實現(xiàn)DiscoveryPlugin類并覆蓋getZenHostsProviders方法∶奕Γ現(xiàn)在也可以通過discovery.zen.hosts_provider配置 hosts_provider類型涩堤。

ZenPing和主節(jié)點選舉服務(wù)的可插拔特性取消

ZenPing還有選舉服務(wù)類都不支持可插拔了。有必要的話分瘾,要么自己實現(xiàn)發(fā)現(xiàn)胎围,要么擴展ZenDiscovery

onModule支持移除

之前通過Guice注入模塊的插件可以實現(xiàn)一個onModule方法。插件中所有自定義onModule方法的實現(xiàn)都被轉(zhuǎn)換成基于拉的插件德召。onModule這個hook被移除白魂。
譯者批注:源碼大概看了下,2.2版本中上岗,節(jié)點啟動時先加載插件福荸,然后讀取插件中的onModule方法并把plugin對應(yīng)的module作為參數(shù)傳遞進去。這個方法并不是plugin類要求繼承的肴掷,而是一個約定

索引的stats和節(jié)點的statsAPI中無法識別的參數(shù)

索引和節(jié)點的stats API允許查詢Elasticsearch中無法識別的一些指標(biāo)敬锐。在之前的版本會默認(rèn)接受這些不識別的參數(shù)(例如 transport)。在5.1.0中這個情況不再發(fā)生呆瞻;不能識別的參數(shù)將導(dǎo)致請求失敗台夺。5.0.0移除的這個特性在5.1.0以及之后的5.x系列會給出警告,但是6.0之后會和其他不識別的參數(shù)一樣痴脾,導(dǎo)致請求失敗颤介。


5.0版本變動

這一張講解5.0的變動,當(dāng)你遷移集群到這個版本時你要注意赞赖。

遷移插件

當(dāng)你升級到Elasticsearch 5.0后滚朵,elasticsearch-migration插件(2.3以上的版本)會幫你發(fā)現(xiàn)需要解決的問題

5.0之前版本創(chuàng)建的索引

Elasticsearch5.0可以解析2.0之后創(chuàng)建的索引,但是2.0之前的索引無法識別薯定,節(jié)點啟動會失敗始绍。

初次啟動Elasticsearch 5.0瞳购,他將會自動重命名索引目錄话侄,目錄命名由原來的索引名改成索引的UUID,

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末学赛,一起剝皮案震驚了整個濱河市年堆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盏浇,老刑警劉巖变丧,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绢掰,居然都是意外死亡痒蓬,警方通過查閱死者的電腦和手機童擎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攻晒,“玉大人顾复,你說我怎么就攤上這事÷衬螅” “怎么了芯砸?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長给梅。 經(jīng)常有香客問我假丧,道長,這世上最難降的妖魔是什么动羽? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任包帚,我火速辦了婚禮,結(jié)果婚禮上运吓,老公的妹妹穿的比我還像新娘婴噩。我一直安慰自己,他們只是感情好羽德,可當(dāng)我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布几莽。 她就那樣靜靜地躺著,像睡著了一般宅静。 火紅的嫁衣襯著肌膚如雪章蚣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天姨夹,我揣著相機與錄音纤垂,去河邊找鬼。 笑死磷账,一個胖子當(dāng)著我的面吹牛峭沦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逃糟,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吼鱼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绰咽?” 一聲冷哼從身側(cè)響起菇肃,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎取募,沒想到半個月后琐谤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡玩敏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年斗忌,在試婚紗的時候發(fā)現(xiàn)自己被綠了质礼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡织阳,死狀恐怖几苍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情陈哑,我是刑警寧澤妻坝,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站惊窖,受9級特大地震影響刽宪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜界酒,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一圣拄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毁欣,春花似錦庇谆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至执解,卻和暖如春寞肖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背衰腌。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工新蟆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人右蕊。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓琼稻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親饶囚。 傳聞我的和親對象是個殘疾皇子帕翻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容