<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      集群應(yīng)用及運(yùn)維經(jīng)驗(yàn)小結(jié)

      作者: 大圓那些事 | 文章可以轉(zhuǎn)載,請以超鏈接形式標(biāo)明文章原始出處和作者信息

      網(wǎng)址: http://www.rzrgm.cn/panfeng412/archive/2013/06/27/cluster-use-and-maintain-experience-summary.html

      本人目前很重要的一部分工作是參與或負(fù)責(zé)部門內(nèi)一些集群的維護(hù)、應(yīng)用開發(fā)以及優(yōu)化,其中包括:HBase集群、Storm集群、Hadoop集群、Super Mario集群(部門內(nèi)部開發(fā)的實(shí)時流處理系統(tǒng))等,隨著業(yè)務(wù)的拓展,集群機(jī)器數(shù)已經(jīng)小有規(guī)模。

      接下來是我對自己這1年多以來,在集群應(yīng)用與運(yùn)維方面所做事情的梳理與總結(jié)。以下內(nèi)容有些零散,大家姑且當(dāng)做一篇非嚴(yán)格意義上的技術(shù)文章來閱讀。

      1)安裝、部署過程要盡可能自動化。

      將集群搭建的步驟腳本化,可以做到批量部署多個節(jié)點(diǎn)、快速上線/下線一個節(jié)點(diǎn)。集群的節(jié)點(diǎn)多,或者不斷有節(jié)點(diǎn)上下線的話,都能省出不少的時間。

      2)搭建并充分利用好集群的監(jiān)控系統(tǒng)。

      首先,最重要的是集群自帶的監(jiān)控系統(tǒng)。例如,HBase的Master、Region Server監(jiān)控頁面;Hadoop的JobTracker/TaskTracker、NameNode/DataNode監(jiān)控頁面;Storm的Storm UI監(jiān)控頁面,等等。這類監(jiān)控側(cè)重集群上的作業(yè)、資源等,而且包含的信息很全,包括作業(yè)運(yùn)行的異常日志等,這對于排查、定位問題是非常及時有效的。

      其次,既然是集群,就需要有一個統(tǒng)一的監(jiān)控地址負(fù)責(zé)收集、展示各個節(jié)點(diǎn)的工作狀態(tài),集群既不能太閑,也不能負(fù)載過高。因此,我們需要對集群內(nèi)各節(jié)點(diǎn)的CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等進(jìn)行監(jiān)控。Ganglia是個很不錯的工具,它的安裝配置過程簡單,采集的指標(biāo)豐富,而且支持自定義,像Hadoop、HBase都對Ganglia進(jìn)行了擴(kuò)展。

      3)為集群內(nèi)節(jié)點(diǎn)添加必要的運(yùn)維腳本。

      刪除過期的、無用的日志文件,否則磁盤占滿會導(dǎo)致節(jié)點(diǎn)不工作甚至發(fā)生故障,如Storm集群的Supervisor進(jìn)程日志、Nimbus進(jìn)程日志,Hadoop集群的各個進(jìn)程日志。

      為集群上的守護(hù)進(jìn)程添加開機(jī)自啟動腳本,盡可能避免宕機(jī)重啟后的人工干預(yù)。例如,CDH已經(jīng)為Hadoop、Hive、HBase等添加了啟動腳本,rpm安裝后進(jìn)程可在機(jī)器重啟后自啟動。

      同時監(jiān)控集群上的守護(hù)進(jìn)程是否存在,不存在則直接重啟。這種方式只適用于無狀態(tài)的進(jìn)程,像Storm的Nimbus、Supervisor進(jìn)程,Zookeeper進(jìn)程等,都應(yīng)該加上這樣的監(jiān)控腳本,確保服務(wù)進(jìn)程終止后可以盡快被重啟恢復(fù)。例如,通過設(shè)置crontab每分鐘檢查一次。

      4)根據(jù)業(yè)務(wù)特點(diǎn)添加應(yīng)用層的監(jiān)控和告警。

      對于業(yè)務(wù)層的計(jì)算任務(wù),可以監(jiān)控每天產(chǎn)出數(shù)據(jù)的大小和時間,如果出現(xiàn)異常情況(如數(shù)據(jù)文件的大小驟變,計(jì)算結(jié)果產(chǎn)出延遲等)則進(jìn)行報警。

      對于實(shí)時計(jì)算的應(yīng)用,最重要的是數(shù)據(jù)處理是否出現(xiàn)明顯延遲(分鐘延遲、秒級延遲等),基于此,可以定義一系列的規(guī)則,觸發(fā)不同級別的報警,以便第一時間發(fā)現(xiàn)并解決問題。

      5)使多個用戶能夠共享集群的計(jì)算和存儲資源。

      使用集群的Quota限制不同用戶的資源配額,例如Hadoop就提供了這一機(jī)制;但是,Storm和HBase目前并沒有發(fā)現(xiàn)有什么方式可以限制。

      通過多用戶隊(duì)列的方式對集群的資源進(jìn)行限制與隔離。例如Hadoop為了解決多用戶爭用計(jì)算資源的情況,使用Capacity Scheduler或Fair Scheduler的方式,對不同用戶提交的作業(yè)進(jìn)行排隊(duì),可以直接部署應(yīng)用,也可以根據(jù)業(yè)務(wù)需求對其進(jìn)行定制后使用,很方便。

      對于Storm集群,其計(jì)算資源也是按照Slots劃分的,因此可以考慮在Storm之上加上一層資源控制模塊,記錄每個用戶最大可占用的Slots數(shù)、當(dāng)前已占有的Slots數(shù)等,從而實(shí)現(xiàn)用戶的資源配額(不過目前Storm無論從集群規(guī)模還是內(nèi)部使用用戶來看,都還不算多,這一需求并不是特別迫切)。

      另外,不同用戶對集群的訪問控制權(quán)限十分必要。比如,是否可以提交作業(yè)、刪除作業(yè),查看集群各類資源等,這是保證集群安全運(yùn)行的一道基本保障。

      6)實(shí)時計(jì)算應(yīng)用要想辦法應(yīng)對流量峰值壓力。

      真實(shí)壓測:例如為了應(yīng)對雙11當(dāng)天流量壓力,模擬平時3~5倍流量進(jìn)行壓測,提前發(fā)現(xiàn)解決問題,保證系統(tǒng)穩(wěn)定性。

      運(yùn)維開關(guān):通過加上運(yùn)維開關(guān),避免流量峰值時刻對系統(tǒng)帶來的沖擊,例如,通過ZooKeeper對實(shí)時計(jì)算應(yīng)用加上開關(guān),在線調(diào)整處理速度,允許一定時間的延遲,將流量平滑處理掉。

      容錯機(jī)制:實(shí)時計(jì)算的場景隨流量的變化而變化,可能遇到各種突發(fā)情況,為此在做系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)時必須充分考慮各種可能出錯的情況(如數(shù)據(jù)延遲、丟數(shù)據(jù)、臟數(shù)據(jù)、網(wǎng)絡(luò)斷開等等)。

      穩(wěn)定性與準(zhǔn)確性折中:建議不要在實(shí)時計(jì)算中過于追求計(jì)算結(jié)果的準(zhǔn)確性,為了保證系統(tǒng)的穩(wěn)定運(yùn)行,可以犧牲一定的準(zhǔn)確性,保證應(yīng)用能夠“活下去”更重要。

      7)多種方式追蹤、定位、解決集群中的問題。

      借助于集群的監(jiān)控系統(tǒng),定位問題所在的具體機(jī)器。登錄到問題機(jī)器上,也可使用top、free、sar、iostat、nmon等常用命令進(jìn)一步查看、確認(rèn)系統(tǒng)資源使用情況、問題之處。

      同時,通過查看集群上的日志(包括集群級別、業(yè)務(wù)級別),確認(rèn)是否有異常日志及對應(yīng)的原因。

      另外,也可通過strace、jvm工具等方式追蹤工作進(jìn)程,從問題現(xiàn)場尋找原因。

      8)集群運(yùn)行任務(wù)的一些調(diào)優(yōu)思路。

      綜合考慮系統(tǒng)資源負(fù)載:結(jié)合集群監(jiān)控,從各個節(jié)點(diǎn)上任務(wù)實(shí)例的運(yùn)行情況(CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)),定位系統(tǒng)瓶頸后再做優(yōu)化,盡可能使得每個節(jié)點(diǎn)的系統(tǒng)資源得到最大利用,尤其是CPU和內(nèi)存。

      任務(wù)實(shí)例并行化:可以并行化的直接采用多shard,多進(jìn)程/多線程的方式;復(fù)雜的任務(wù)則可以考慮先進(jìn)行拆解,然后進(jìn)行并行化。

      不同類型的任務(wù):CPU密集型考慮利用多核,將CPU盡可能跑滿;內(nèi)存密集型則考慮選擇合適的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)在內(nèi)存中壓縮(壓縮算法的選擇)、數(shù)據(jù)持久化等。

      緩存Cache:選擇將頻繁使用、訪問時間開銷大的環(huán)節(jié)做成Cache;通過Cache減少網(wǎng)絡(luò)/磁盤的訪問開銷;合理控制Cache的大小;避免Cache帶來的性能顛簸,等等。

       

      posted on 2013-06-27 13:43  大圓那些事  閱讀(10391)  評論(3)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 人人做人人妻人人精| 亚洲日韩乱码一区二区三区四区 | 国产91精品调教在线播放| 亚洲精品日本久久一区二区三区| 国产精品中文字幕二区| 彭山县| 国自产拍偷拍精品啪啪模特| 国产超碰无码最新上传| 久久精品第九区免费观看| 亚洲欧美国产精品久久久久久久 | 国产精品有码在线观看| 亚洲a免费| 人成午夜免费大片| 成人无码h真人在线网站| 亚欧洲乱码视频在线专区| 猫咪网网站免费观看| 欧美浓毛大泬视频| 国产成人精品无人区一区| 日本偷拍自影像视频久久| 又黄又无遮挡AAAAA毛片| 国产午夜精品理论大片| 国产成人av三级在线观看| 午夜福利国产一区二区三区| 日本一本正道综合久久dvd| 亚洲男人在线天堂| 亚洲成a人片在线观看久| 疯狂添女人下部视频免费| 亚洲一区成人av在线| 亚洲精品美女久久久久9999| 日韩国产精品无码一区二区三区| 中文字幕av一区二区| 精品国产精品国产偷麻豆| 伊人色综合久久天天小片| 免费看国产精品3a黄的视频| 亚洲精品理论电影在线观看| 中文字幕精品无码一区二区| 亚洲av色香蕉一区二区| 推油少妇久久99久久99久久| 无码国产偷倩在线播放| 国产精品高清一区二区三区| 国产系列丝袜熟女精品视频 |