分布式計(jì)算框架Mesos最新版本六大新特性揭秘
1、容器的網(wǎng)絡(luò)隔離
Mesos 0.23 提供支持在容器部署前定義網(wǎng)絡(luò)的監(jiān)控和隔離規(guī)則。網(wǎng)絡(luò)隔離避免了單個(gè)容器占用太多的端口、太多的帶寬,以及造成其他用戶數(shù)據(jù)包明顯的延遲。
每個(gè)運(yùn)行的容器的網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)可以在 slave 上從 /monitor/statistics.json 文件中讀取。網(wǎng)絡(luò)隔離對(duì)運(yùn)行在 slave 上的多數(shù) tasks 都是透明的(那些綁定到 port 0 和讓內(nèi)核分配給它們對(duì)應(yīng)的端口)。這個(gè)特性僅僅是在 Linux 上實(shí)現(xiàn)并且需要設(shè)置 configure-time flag(配置時(shí)間標(biāo)志位)。請(qǐng)參閱:http://mesos.apache.org/documentation/latest/network-monitoring/
2、SSL
對(duì)通過(guò) libevent 的任何 libprocess 通信提供 SSL 加密支持(目前還是實(shí)驗(yàn)性)。對(duì) Mesos master 和它對(duì)應(yīng)的 slaves 及 Frameworks 之間的流量進(jìn)行加密,防止被竊聽(tīng)和偽造,對(duì)于提高信息安全至關(guān)重要。這個(gè)特性需要 configure-time flag 并且有一些性能的影響。請(qǐng)參閱:http://mesos.apache.org/documentation/latest/mesos-ssl
3、超售
嘗試在可撤銷的資源上啟動(dòng) tasks/executors,而 Mesos 可以隨時(shí)撤銷任務(wù)。重要的任務(wù)可以利用這些臨時(shí)資源來(lái)提升性能。
為了應(yīng)對(duì)峰值負(fù)載以及一些無(wú)法預(yù)料的負(fù)載暴增,高優(yōu)先級(jí)的 2C 服務(wù)會(huì)置備在大型集群上。因此,大多數(shù)時(shí)間,資源沒(méi)有得到充分的利用。超售特性可以利用暫時(shí)沒(méi)有使用的資源來(lái)執(zhí)行一些后臺(tái)運(yùn)行的任務(wù),比如后臺(tái)分析、視頻 /圖像處理、芯片仿真,以及其他低優(yōu)先級(jí)的工作,當(dāng)資源被征用,這些任務(wù)可以被隨時(shí)撤銷。
超售特性增加了兩個(gè)新的 slave 的模塊:資源估算和服務(wù)質(zhì)量(QoS)控制,同時(shí)對(duì)現(xiàn)有的資源進(jìn)行分配、資源監(jiān)視器和 mesos slave 進(jìn)行了擴(kuò)展。請(qǐng)參閱:http://mesos.apache.org/documentation/latest/oversubscription/
4、持久化卷
嘗試支持 Frameworks 提供創(chuàng)建磁盤持久化卷服務(wù),這使得有狀態(tài)服務(wù)例如 HDFS 以及 Cassandra 可以通過(guò) Mesos 存儲(chǔ)相關(guān)數(shù)據(jù),而不是像之前必須將數(shù)據(jù)存儲(chǔ)在網(wǎng)絡(luò)掛載的 EBS 卷或者將數(shù)據(jù)放置在其他位置使得磁盤資源不受管理。詳情請(qǐng)參閱:http://mesos.apache.org/documentation/latest/persistent-volume/
5、動(dòng)態(tài)保留
Framework 可以對(duì)特定的 salve 上的動(dòng)態(tài)資源進(jìn)行預(yù)留(實(shí)驗(yàn)性支持)。不需要操作者在 slave 啟動(dòng)的時(shí)候指定一個(gè)固定的、預(yù)先計(jì)算好的“靜態(tài)”資源,現(xiàn)在 Framework 可以預(yù)留 slave 提供的資源而無(wú)需重啟 salve?,F(xiàn)有的動(dòng)態(tài)預(yù)留機(jī)制重大改變,這意味著現(xiàn)有的靜態(tài)預(yù)留機(jī)制繼續(xù)全力支持。請(qǐng)參閱:http://mesos.apache.org/documentation/latest/reservation/
6、緩存抓取
Executor/task 的二進(jìn)制文件讀取器(fetcher)現(xiàn)在支持緩存機(jī)制(實(shí)驗(yàn)性)?,F(xiàn)在可以指示讀取器將通過(guò) URI 下載的二進(jìn)制文件緩存到一個(gè)專用的目錄,這樣后續(xù)的下載可以重用。如果對(duì)于URI的 “cache” 標(biāo)志位是 true,緩存讀取機(jī)制將會(huì)生效。如果 URI 是***次被下載(對(duì)于特定用戶),則首先下載到高速緩存中,然后從那里復(fù)制到 sandbox 目錄。如果相同的 URI 再次被遇到(對(duì)于同一個(gè)用戶!),而且相應(yīng)的緩存文件還在緩存中,則不會(huì)進(jìn)行重復(fù)下載,此時(shí)讀取器會(huì)直接從高速緩存進(jìn)行拷貝。請(qǐng)參閱:http://mesos.apache.org/documentation/latest/fetcher/