日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Zookeeper分布式一致性原理(十一):Zookeeper在JStorm中应用

發(fā)布時間:2025/4/16 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zookeeper分布式一致性原理(十一):Zookeeper在JStorm中应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Storm 是Twitter開源的一個高容錯的分布式實(shí)時計算系統(tǒng),而JStorm是阿里巴巴集團(tuán)中間件團(tuán)隊在Storm基礎(chǔ)上改造和優(yōu)化的一個分布式實(shí)時計算引擎,它使用Java語言開發(fā)。

JStorm是一個類似與Hadoop MapReduce的分布式計算系統(tǒng),用戶按照指定的接口編寫一個任務(wù)程序,然后將這個任務(wù)程序提交給Jstorm系統(tǒng),Jstorm系統(tǒng)會復(fù)雜7*24小時運(yùn)行并調(diào)度該任務(wù)。在運(yùn)行過程中如果某個任務(wù)執(zhí)行器發(fā)生意外其他故障,調(diào)度器會立即分配一個新的Worker替換這個失效的Worker來繼續(xù)執(zhí)行任務(wù)。

JStorm 整體架構(gòu)圖:

其核心部分由Nimbus、Supervisor、Worker、Task和Zookeeper五部分組成

  • Nimbus:是任務(wù)的中央調(diào)度器
  • Supervisor:做為Worker的代理角色,負(fù)責(zé)管理Worker的生命周期。
  • Worker: 是Task的容器
  • Task:對應(yīng)每一個任務(wù)的真正執(zhí)行體
  • Zookeeper:是整個系統(tǒng)的協(xié)調(diào)者

無論Storm還是JStorm,都高度依賴Zookeeper來實(shí)現(xiàn)諸如同步心跳。

1. 同步心跳

在JStorm中,需要集群內(nèi)部實(shí)時同步三種心態(tài);

Worker向Supervisor匯報心跳
Supervisor向Nimbus匯報心跳
Task向Nimbus匯報心跳

其中后面兩種心跳檢測機(jī)制通過Zookeeper來實(shí)現(xiàn)。

在JStorm實(shí)現(xiàn)中,Supervisor每隔10s就將字節(jié)擁有的資源數(shù)量同步到Zookeeper的/supervisor節(jié)點(diǎn)上,Nimbus就可以通過這些節(jié)點(diǎn)來檢查由哪些集群式或者的。

而每個Task每隔10s就會將自己的心跳和運(yùn)行狀態(tài)同步到Zookeeper的/tasks節(jié)點(diǎn)上,這樣Nimbus就能夠檢查到哪些task是活著的。同時一旦檢查到某個Task的心跳超時,則會觸發(fā)Nimbus對該Task執(zhí)行Rassign動作(重新分配任務(wù))。

2. 同步任務(wù)配置

JStorm來負(fù)責(zé)運(yùn)行并調(diào)度該任務(wù),因此同步任務(wù)配置是JStorm的一大核心功能。整個同步任務(wù)配置過程大體上可以分為提交任務(wù)和同步Topology狀態(tài)兩大環(huán)節(jié)。

2.1 提交任務(wù)

提交任務(wù)的過程如下:

  • 客戶但提交提交一個Jar到Nimbus
  • Nimbus掃描Zookeeper上的/supervisor節(jié)點(diǎn),獲取本集群中所有的資源信息。
  • Nimbus掃描Zookeeper上的/assignments節(jié)點(diǎn),來獲取分配的任務(wù)的資源占用情況。
  • Nimbus根據(jù)平衡算法,將Task分配到每一個機(jī)器上,同時確定Task綁定的端口和資源調(diào)度情況(CPU Slot、Memory Slot、Disk Slot)
  • 完成分配任務(wù)之后,Nimbus會將任務(wù)的分配結(jié)果寫入Zookeeper的/assignmetns節(jié)點(diǎn)中
  • Nimbus還需要設(shè)置Topology的狀態(tài)為Active,做法就是在Zookeeper上的/topology節(jié)點(diǎn)下找到以該Topology的topology-id命名的對應(yīng)子節(jié)點(diǎn),并將其設(shè)置為Active
  • 重新分配任務(wù)。每個Supervisor都會監(jiān)聽/Zookeeper上的/assignmetns節(jié)點(diǎn)。當(dāng)檢測到節(jié)點(diǎn)發(fā)生變更時,就會立即獲得本機(jī)的任務(wù)配置,然后啟動或者殺死對應(yīng)的Worker。
  • 2.2 同步Topology狀態(tài)

    JStorm提供了一系列的命令來控制Storm的服務(wù),這里以客戶端的deactivate命令為例來說明JStorm是如何借助Zookeeper來同步Topology狀態(tài)的。

  • 客戶端發(fā)出deactive命令
  • Nimbus收到這個命令之后,會設(shè)置Zookeeper中的/StomrBase節(jié)點(diǎn)對應(yīng)的Topology狀態(tài)為deactive
  • 同時Worker進(jìn)程會對Zookeeper中的/StormBase節(jié)點(diǎn)進(jìn)行注冊監(jiān)聽,當(dāng)節(jié)點(diǎn)發(fā)生變化之后,立即設(shè)置Worker的狀態(tài)為deactive
  • Worker內(nèi)部的Task每執(zhí)行一個batch操作后,就會檢查Worker狀態(tài),如果狀態(tài)變更為deactive,那么Task就會立即將自己設(shè)置為掛起狀態(tài)。
  • 2.3 調(diào)度器選舉

    JStorm增加了調(diào)度器的HA機(jī)制,用于實(shí)現(xiàn)調(diào)度器的動態(tài)選舉。每個Nimbus在啟動的時候,都會試圖到Zookeeper上創(chuàng)建一個臨時節(jié)點(diǎn)/nimbus_master。在創(chuàng)建這個過程中,如果發(fā)現(xiàn)該節(jié)點(diǎn)以及存在,則表示Nimbus的Master已經(jīng)存在,那么當(dāng)前Nimbus就會在Zookeeper的/nimbus_slave節(jié)點(diǎn)下創(chuàng)建一個臨時子節(jié)點(diǎn),并將自己的機(jī)器名和端口號寫入到該節(jié)點(diǎn)中,同時注冊對/nimbus_master的監(jiān)聽。

    在運(yùn)行過程過程中,該Nimbus(這里指的是創(chuàng)建/nimbus_slave節(jié)點(diǎn)對應(yīng)的機(jī)器)還會啟動一個Follower線程,用于:

  • 反復(fù)掃描/nimbus_master是否存在
  • 如果/nimbus_master節(jié)點(diǎn)存在,則同步/nimbus_master的Topology到本機(jī)中
  • 如果/nimbus_master節(jié)點(diǎn)消失,則會觸發(fā)調(diào)度器的重新選舉。
  • 3. Zookeeper使用優(yōu)化

    3.1 減少Zookeeper的全量掃描

    3.2 減少無用的Watcher操作

    3.3 延長心跳設(shè)置

    總結(jié)

    以上是生活随笔為你收集整理的Zookeeper分布式一致性原理(十一):Zookeeper在JStorm中应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 在线黄色网页 | 久久艹精品 | 国产高清自拍av | 51嘿嘿嘿国产精品伦理 | 黄色一级免费 | 成年人免费在线观看网站 | 美国av导航 | 涩涩视频免费在线观看 | 精品熟女一区二区三区 | 亚洲视频第一页 | 成人在线观看h | 亚洲欧美国产日韩精品 | www.午夜激情 | 奇米四色在线观看 | 蜜臀av免费在线观看 | 激情天堂网| 精品无码国产一区二区三区av | 国产精品亚洲专区无码牛牛 | 一区二区日韩欧美 | 国产香蕉视频在线 | 极品福利视频 | 天天干夜夜操视频 | 精品人妻无码一区二区性色 | 五十路黄色片 | 极品色综合 | 波多野结衣50连登视频 | 亚洲精品一区在线观看 | 久久三区 | 免费毛片在线 | 一级片av| 日本在线三级 | 欧美激情18| 少妇做爰k8经典 | 午夜在线播放视频 | 丝袜+亚洲+另类+欧美+变态 | av色婷婷 | 亚洲一区二区精品在线观看 | 国产精彩视频在线观看 | 热热色原网址 | 四虎首页 | 欧美我不卡| 亚洲一区国产 | 日日久| 久久精品国产亚洲av蜜臀色欲 | 精品中出 | 九九自拍视频 | 国产精品久久av无码一区二区 | 91精品国产综合久久香蕉 | 艳母在线视频 | 老师的肉丝玉足夹茎 | 午夜福利视频 | 蜜臀视频在线播放 | 国产手机看片 | 国产字幕侵犯亲女 | 呦呦视频在线观看 | 欧美中文一区 | 国产久一 | 国产99久久久国产精品成人免费 | 青青草在线视频免费观看 | 成人瑟瑟 | 国产一区二区视频在线观看免费 | 香港三日本8a三级少妇三级99 | 国产精品国语自产拍在线观看 | 日韩激情四射 | 日韩成人福利视频 | 3d动漫精品啪啪一区二区免费 | 中文视频一区二区 | 日韩最新在线 | 欧美成人国产 | 亚洲欧洲精品一区二区三区 | 欧美色鬼| 国产高清成人久久 | 夜夜精品一区二区无码 | 国产精品一区二区三区不卡 | 免费超碰在线观看 | 久久精品国产电影 | 亚洲免费av一区二区 | 青青青在线免费观看 | 亚洲综合精品国产 | 五月激情在线观看 | 亚洲www啪成人一区二区麻豆 | 免费超爽大片黄 | 亚洲国产片| 欧美日韩3p | 三上悠亚一区二区在线观看 | a级在线看 | 在线国产毛片 | 日韩精品第二页 | 中文字幕在线观看的网站 | 插插插日日日 | 精品久久久99 | 少妇性生活视频 | 久草综合在线观看 | 黑帮大佬和我的365日第二部 | 男人的天堂国产 | 婷婷伊人综合 | 五月天久久婷婷 | 国产一级片精品 | 国产一线二线在线观看 |