溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Fair Scheduler到Capacity Scheduler的轉(zhuǎn)換工具有哪些

發(fā)布時間:2021-12-27 09:13:19 來源:億速云 閱讀:192 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹Fair Scheduler到Capacity Scheduler的轉(zhuǎn)換工具有哪些,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

介紹
在Apache Hadoop YARN 3.x(簡稱YARN)中,切換到Capacity Scheduler有很多好處,但也有一些缺點。為了將這些功能帶給當(dāng)前正在使用Fair Scheduler的用戶,Cloudera與上游YARN社區(qū)一起創(chuàng)建了一個工具來幫助遷移過程。
為什么要切換到Capacity Scheduler
通過切換到“容量調(diào)度程序”,我們可以獲得什么?幾個例子:
? 調(diào)度吞吐量的改進

o 一次查看多個節(jié)點

o 細粒度的鎖

o 多個分配線程

o 吞吐量提高5-10倍

? 節(jié)點分區(qū)和標(biāo)簽
? 親和力和反親和力:僅在運行應(yīng)用程序Y的那些節(jié)點上運行應(yīng)用程序X,反之亦然,切勿在同一節(jié)點上運行應(yīng)用程序X和應(yīng)用程序Y。
? 調(diào)度程序和應(yīng)用程序活動:用于調(diào)試重要調(diào)度決策的消息,可以通過RESTful API進行記錄和公開。
另外,隨著CDP的發(fā)布,Cloudera的愿景是支持Capacity Scheduler作為YARN的默認(rèn)調(diào)度程序,并逐步淘汰Fair Scheduler。同時支持兩個調(diào)度程序會帶來一些問題:不僅需要更多的支持和工程能力,而且由于功能缺陷,還需要額外的測試,更復(fù)雜的測試用例和測試套件。

經(jīng)過長期仔細的分析,我們決定選擇Capacity Scheduler作為默認(rèn)調(diào)度程序。我們整理了一份文檔,比較了  YARN-9698 (  直接鏈接 )下的“容量調(diào)度程序”和“公平調(diào)度程序”的功能。

請注意,盡管我們使用各種Fair Scheduler和YARN站點配置測試了該工具,但它是Apache Hadoop的新增功能。強烈建議手動檢查和檢查生成的輸出文件。

介紹fs2cs 轉(zhuǎn)換工具
轉(zhuǎn)換器本身是CLI應(yīng)用程序,它是yarn 命令的一部分。要調(diào)用該工具,您需要將yarn fs2cs 命令與各種命令行參數(shù)一起使用。 
該工具將生成兩個文件作為輸出:Capacity -scheduler.xml 和yarn-site.xml 。請注意,站點配置只是一個增量:它僅包含Capacity Scheduler的新設(shè)置,這意味著您必須手動將這些值復(fù)制粘貼到現(xiàn)有站點配置中。保留現(xiàn)有的Fair Scheduler屬性不太可能造成任何傷害或故障,但是我們建議刪除它們以避免混亂。
生成的屬性也可以轉(zhuǎn)到標(biāo)準(zhǔn)輸出,而不是前面提到的文件。
該工具是CDH到CDP升級的正式組成部分,在  此處進行了說明 。 

 
從命令行使用轉(zhuǎn)換器
基本用法是:  
yarn fs2cs -y /path/to/yarn-site.xml [-f /path/to/fair-scheduler.xml] {-o /output/path/ | -p} [-t] [-s] [-d]-y /path/to/yarn-site.xml [-f /path/to/fair-scheduler.xml] {-o /output/path/ | -p} [-t] [-s] [-d]
在[] 大括號之間列出的開關(guān)是可選的。  大括號{} 表示該開關(guān)是強制性的,您必須選擇一個。
您也可以使用它們的長的版本:
yarn fs2cs --yarnsiteconfig /path/to/yarn-site.xml [--fsconfig /path/to/fair-scheduler.xml] {--output-directory /output/path/ | --print} [--no-terminal-rule-check] [--skip-verification] [--dry-run]--yarnsiteconfig /path/to/yarn-site.xml [--fsconfig /path/to/fair-scheduler.xml] {--output-directory /output/path/ | --print} [--no-terminal-rule-check] [--skip-verification] [--dry-run]
例如:  
yarn fs2cs --yarnsiteconfig /home/hadoop/yarn-site.xml --fsconfig /home/hadoop/fair-scheduler.xml --output-directory /tmp--yarnsiteconfig /home/hadoop/yarn-site.xml --fsconfig /home/hadoop/fair-scheduler.xml --output-directory /tmp
重要  :  始終對-f / –fsconfig 使用絕對路徑。     
有關(guān)所有命令行開關(guān)及其說明的列表,可以使用yarn fs2cs –help 。CLI選項在本  文檔 中列出。

 
使用fs2cs的分步示例
讓我們看一下該工具的簡短演示。     
現(xiàn)有配置
假設(shè)我們有以下簡單的fair-scheduler.xml :
<allocations>   <queue name="root"><queue name="root">       <weight>1.0</weight><weight>1.0</weight>       <schedulingPolicy>drf</schedulingPolicy><schedulingPolicy>drf</schedulingPolicy>       <queue name="default"><queue name="default">           <weight>1.0</weight><weight>1.0</weight>           <schedulingPolicy>drf</schedulingPolicy><schedulingPolicy>drf</schedulingPolicy>       </queue></queue>       <queue name="users" type="parent"><queue name="users" type="parent">           <maxChildResources>memory-mb=8192, vcores=1</maxChildResources><maxChildResources>memory-mb=8192, vcores=1</maxChildResources>           <weight>1.0</weight><weight>1.0</weight>           <schedulingPolicy>drf</schedulingPolicy><schedulingPolicy>drf</schedulingPolicy>       </queue></queue>   </queue></queue>   <queuePlacementPolicy><queuePlacementPolicy>       <rule name="specified" create="true"/><rule name="specified" create="true"/>       <rule name="nestedUserQueue" create="true"><rule name="nestedUserQueue" create="true">           <rule name="default" create="true" queue="users"/><rule name="default" create="true" queue="users"/>       </rule></rule>       <rule name="default"/><rule name="default"/>   </queuePlacementPolicy></queuePlacementPolicy></allocations>
我們在yarn-site.xml中還有以下條目(僅列出與Fair Scheduler相關(guān)的條目):  
yarn.scheduler.fair.allow-undeclared-pools = true.scheduler.fair.allow-undeclared-pools = trueyarn.scheduler.fair.user-as-default-queue = true.scheduler.fair.user-as-default-queue = trueyarn.scheduler.fair.preemption = false.scheduler.fair.preemption = falseyarn.scheduler.fair.preemption.cluster-utilization-threshold = 0.8.scheduler.fair.preemption.cluster-utilization-threshold = 0.8yarn.scheduler.fair.sizebasedweight = false.scheduler.fair.sizebasedweight = falseyarn.scheduler.fair.assignmultiple = true.scheduler.fair.assignmultiple = trueyarn.scheduler.fair.dynamicmaxassign = true.scheduler.fair.dynamicmaxassign = trueyarn.scheduler.fair.maxassign = -1.scheduler.fair.maxassign = -1yarn.scheduler.fair.continuous-scheduling-enabled = false.scheduler.fair.continuous-scheduling-enabled = falseyarn.scheduler.fair.locality-delay-node-ms = 2000.scheduler.fair.locality-delay-node-ms = 2000
運行fs2cs 轉(zhuǎn)換器
讓我們?yōu)檫@些文件運行轉(zhuǎn)換器:
~$ yarn fs2cs -y /home/examples/yarn-site.xml -f /home/examples/fair-scheduler.xml -o /tmp$ yarn fs2cs -y /home/examples/yarn-site.xml -f /home/examples/fair-scheduler.xml -o /tmp
2020-05-05 14:22:41,384 INFO  [main] converter.FSConfigToCSConfigConverter (FSConfigToCSConfigConverter.java:prepareOutputFiles(138)) - Output directory for yarn-site.xml and capacity-scheduler.xml is: /tmp-05-05 14:22:41,384 INFO  [main] converter.FSConfigToCSConfigConverter (FSConfigToCSConfigConverter.java:prepareOutputFiles(138)) - Output directory for yarn-site.xml and capacity-scheduler.xml is: /tmp
2020-05-05 14:22:41,388 INFO  [main] converter.FSConfigToCSConfigConverter (FSConfigToCSConfigConverter.java:loadConversionRules(177)) - Conversion rules file is not defined, using default conversion config!-05-05 14:22:41,388 INFO  [main] converter.FSConfigToCSConfigConverter (FSConfigToCSConfigConverter.java:loadConversionRules(177)) - Conversion rules file is not defined, using default conversion config!
[...] output trimmed for brevity output trimmed for brevity
2020-05-05 14:22:42,572 ERROR [main] converter.FSConfigToCSConfigConverterMain (MarkerIgnoringBase.java:error(159)) - -05-05 14:22:42,572 ERROR [main] converter.FSConfigToCSConfigConverterMain (MarkerIgnoringBase.java:error(159)) - Error while starting FS configuration conversion! while starting FS configuration conversion!
[...] output trimmed for brevity output trimmed for brevity
Caused by: org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationConfigurationException: Rules after rule 2 in queue placement policy can never be reachedat org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueuePlacementPolicy.updateRuleSet(QueuePlacementPolicy.java:115)
[...]
這是一個非常典型的錯誤。  如果查看fair-scheduler.xml的放置規(guī)則,則可以看到默認(rèn)規(guī)則位于nestedUserQueue之后。  我們需要使用–no-terminal-rule-check開關(guān)來忽略Fair Scheduler中的終端規(guī)則檢查。  為什么?  請參閱以下部分。  
默認(rèn)情況下,F(xiàn)air Scheduler會嚴(yán)格檢查放置規(guī)則是否為終端規(guī)則。這意味著,如果您使用<reject> 規(guī)則,然后使用<specified> 規(guī)則,則不允許這樣做,因為后者不可訪問。但是,在  YARN-8967 (將  FairScheduler  更改為使用  PlacementRule  接口)之前,F(xiàn)air Scheduler比較寬松,并允許某些不再有效的規(guī)則序列。如前所述,我們使用該工具實例化Fair Scheduler實例來讀取和解析分配文件。為了使Fair Scheduler接受此類配置,請使用-t 或–no-terminal-rule-check必須提供參數(shù)以抑制Fair Scheduler引發(fā)的異常。在CDH 5.x中,這類放置配置很常見,因此建議始終使用-t 。
使用–no-terminal-rule-check 再次運行該工具
~$ yarn fs2cs -y /home/examples/yarn-site.xml -f /home/examples/fair-scheduler.xml -o /tmp --no-terminal-rule-check

2020-05-05 14:41:39,189 INFO  [main] capacity.CapacityScheduler (CapacityScheduler.java:initScheduler(384)) - Initialized CapacityScheduler with calculator=class org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator, minimumAllocation=<<memory:1024, vCores:1>>, maximumAllocation=<<memory:8192, vCores:4>>, asynchronousScheduling=false, asyncScheduleInterval=5ms,multiNodePlacementEnabled=false
2020-05-05 14:41:39,190 INFO  [main] converter.ConvertedConfigValidator (ConvertedConfigValidator.java:validateConvertedConfig(72)) - Capacity scheduler was successfully started
This time, the conversion succeeded!

 
有關(guān)轉(zhuǎn)換工具的輸出日志的注意事項
日志中有幾件事值得一提:  
? Fair Scheduler不會引發(fā)異常,它只會打印一條規(guī)則不可達的警告。
? 轉(zhuǎn)換過程中將顯示兩個警告:
2020-05-05 14:41:38,908 WARN  [main] converter.FSConfigToCSConfigRuleHandler (ConversionOptions.java:handleWarning(48)) - Setting <userMaxAppsDefault> is not supported, ignoring conversion
2020-05-05 14:41:38,945 WARN  [main] converter.FSConfigToCSConfigRuleHandler (ConversionOptions.java:handleWarning(48)) - Setting <maxChildResources> is not supported, ignoring conversion
如前所述,兩個調(diào)度程序之間存在一些功能差距,默認(rèn)情況下,每當(dāng)檢測到不支持的設(shè)置時,都會打印警告。  這對于操作員查看升級后必須微調(diào)哪些功能很有用。  
? 可以清楚地看到,已啟動Capacity Scheduler實例來驗證轉(zhuǎn)換后的配置是否有效。
查看轉(zhuǎn)換后的配置
如果我們查看/tmp/yarn-site.xml ,我們會發(fā)現(xiàn)它確實很短:
yarn.scheduler.capacity.resource-calculator =org.apache.hadoop.yarn.util.resource.DominantResourceCalculatoryarn.scheduler.capacity.per-node-heartbeat.multiple-assignments-enabled = trueyarn.resourcemanager.scheduler.class = org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
這里沒有太多參數(shù)。  這是因為禁用了許多與調(diào)度相關(guān)的設(shè)置:  沒有搶占,沒有連續(xù)調(diào)度,沒有機架或節(jié)點位置閾值設(shè)置。  
讓我們看一下新的Capacity-scheduler.xml(同樣,此處已格式化,并刪除了不必要的XML標(biāo)記):
yarn.scheduler.capacity.root.users.maximum-capacity = 100yarn.scheduler.capacity.root.default.capacity = 50.000yarn.scheduler.capacity.root.default.ordering-policy = fairyarn.scheduler.capacity.root.users.capacity = 50.000yarn.scheduler.capacity.root.default.maximum-capacity = 100yarn.scheduler.capacity.root.queues = default,usersyarn.scheduler.capacity.root.maximum-capacity = 100yarn.scheduler.capacity.maximum-am-resource-percent = 0.5
請注意屬性yarn.scheduler.capacity.maximum-am-resource-percent 設(shè)置為0.5 。  fair-scheduler.xml中缺少此功能,那么為什么在這里呢?  該工具必須進行設(shè)置,因為Capacity Scheduler中的默認(rèn)設(shè)置為10%,而Fair Scheduler中的默認(rèn)設(shè)置為50%。  
讓我們修改以下屬性:
yarn.scheduler.fair.preemption - trueyarn.scheduler.fair.sizebasedweight - trueyarn.scheduler.fair.continuous-scheduling-enabled - true
再次運行轉(zhuǎn)換后,這些設(shè)置現(xiàn)在反映在新的yarn-site.xml中:  
yarn.scheduler.capacity.resource-calculator =org.apache.hadoop.yarn.util.resource.DominantResourceCalculatoryarn.scheduler.capacity.schedule-asynchronously.scheduling-interval-ms = 5yarn.scheduler.capacity.schedule-asynchronously.enable = trueyarn.resourcemanager.monitor.capacity.preemption.monitoring_interval = 10000yarn.resourcemanager.monitor.capacity.preemption.max_wait_before_kill = 15000yarn.scheduler.capacity.per-node-heartbeat.multiple-assignments-enabled = trueyarn.resourcemanager.scheduler.class =org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduleryarn.resourcemanager.scheduler.monitor.enable = true
基于大小的權(quán)重設(shè)置也影響了Capacity-scheduler.xml :  
yarn.scheduler.capacity.root.default.ordering-policy.fair.enable-size-based-weight = trueyarn.scheduler.capacity.root.users.ordering-policy.fair.enable-size-based-weight = trueyarn.scheduler.capacity.root.users.capacity = 50.000yarn.scheduler.capacity.root.queues = default,usersyarn.scheduler.capacity.root.users.maximum-capacity = 100yarn.scheduler.capacity.root.ordering-policy.fair.enable-size-based-weight = true[...] rest is omitted because it’s the same as before

 
權(quán)重轉(zhuǎn)換
權(quán)重在FairScheduler中如何工作  
一個關(guān)鍵問題是如何轉(zhuǎn)換權(quán)重。從長遠來看,權(quán)重決定隊列的“公平份額”。公平份額是隊列可以獲取的資源數(shù)量,限制了提交給該隊列的應(yīng)用程序可以使用多少資源。
例如,如果“ root.a”和“ root.b”的權(quán)重分別為3和1,則“ root.a”將獲得群集資源總數(shù)的75%,而“ root.b”將獲得25%。
但是,如果我們僅向“ root.b”提交申請該怎么辦?只要“ root.a”為空,“ root.b”中的應(yīng)用程序就可以自由占用整個集群(現(xiàn)在讓我們忽略<maxResources> )。
我們?nèi)绾卧贑apacity Scheduler中模擬權(quán)重?
事實證明,Capacity Scheduler的“容量”非常接近權(quán)重的概念,只是將其表示為百分比,而不是整數(shù)。但是默認(rèn)情況下,容量是有上限的,這意味著容量為25.00的“ root.b”將始終僅使用群集的25%。這就是彈性概念出現(xiàn)的地方。彈性意味著可以將集群中的空閑資源分配給超出其默認(rèn)容量的隊列。該值也以百分比表示。因此,我們必須為所有隊列啟用完全彈性。
FairScheduler權(quán)重對CapacityScheduler配置的簡單示例
總而言之,我們可以使用以下屬性來實現(xiàn)類似于Fair Scheduler的行為:
Fair Scheduler中的權(quán)重:
root.a = 3root.b = 1
Capacity Scheduler的相應(yīng)設(shè)置:  
yarn.scheduler.capacity.root.a.capacity = 75.000yarn.scheduler.capacity.root.a.maximum-capacity = 100.000yarn.scheduler.capacity.root.b.capacity = 25.000yarn.scheduler.capacity.root.b.maximum-capacity = 100.000
帶有分層隊列的另一個示例
假設(shè)以下簡單隊列層次結(jié)構(gòu)在Fair Scheduler中具有權(quán)重:
root = 1root.users = 20root.default = 10root.users.alice = 3root.users.bob = 1
轉(zhuǎn)換后得出以下容量值:  
yarn.scheduler.capacity.root.capacity = 100.000yarn.scheduler.capacity.root.maximum-capacity = 100.000yarn.scheduler.capacity.root.users.capacity = 66.667yarn.scheduler.capacity.root.users.maximum-capacity = 100.000yarn.scheduler.capacity.root.default.capacity = 33.333yarn.scheduler.capacity.root.default.maximum-capacity = 100.000yarn.scheduler.capacity.root.users.alice.capacity = 75.000yarn.scheduler.capacity.root.users.alice.maximum-capacity = 100.000yarn.scheduler.capacity.root.users.bob.capacity = 25.000yarn.scheduler.capacity.root.users.bob.maximum-capacity = 100.000
fs2cs工具如何在內(nèi)部工作
在執(zhí)行了一些基本的驗證步驟(例如,如果輸出目錄存在,輸入文件存在等)之后,它將加載yarn-site.xml 并轉(zhuǎn)換與調(diào)度相關(guān)的屬性,例如搶占、連續(xù)調(diào)度和機架/節(jié)點位置設(shè)置。
該工具使用Fair Scheduler實例加載和解析分配文件。它還會檢測到不受支持的屬性,并分別顯示警告消息,表明不會轉(zhuǎn)換特定設(shè)置。不支持的設(shè)置和已知限制將在本文后面解釋。
轉(zhuǎn)換完成并生成輸出文件后,最后一步是驗證。默認(rèn)情況下,fs2cs 嘗試使用轉(zhuǎn)換后的配置在內(nèi)部啟動Capacity Scheduler。
此步驟確保資源管理器能夠使用新配置正確啟動。

 
已知限制
目前,F(xiàn)air Scheduler和Capacity Scheduler之間存在一些功能上的差距–也就是說,僅當(dāng)您不使用Capacity Scheduler中當(dāng)前未實現(xiàn)的Fair Scheduler配置中的設(shè)置時,才可以進行完全轉(zhuǎn)換。  
保留系統(tǒng)
保留系統(tǒng)設(shè)置的轉(zhuǎn)換被完全跳過,在可預(yù)見的將來這可能不會改變。原因是它不是一個經(jīng)常使用的功能,并且在兩個調(diào)度程序中的工作方式完全不同。 
放置規(guī)則
放置規(guī)則在公平調(diào)度器定義哪些隊列提交的申請應(yīng)放置到Y(jié)ARN中。放置規(guī)則遵循“失敗”邏輯:如果第一個規(guī)則不適用(該規(guī)則返回的隊列不存在),則嘗試下一個規(guī)則,依此類推。如果最后一條規(guī)則未能返回有效隊列,那么將拒絕應(yīng)用程序提交。
容量調(diào)度程序采用概念上類似的方法,稱為  映射規(guī)則。但是,實現(xiàn)方式有所不同:將放置規(guī)則轉(zhuǎn)換為映射規(guī)則目前無法正確完成。原因有很多:
1) 如果映射規(guī)則匹配,它將返回一個隊列,并且不會繼續(xù)進行下一個隊列。它要么是一個特定的隊列,要么是root.default 。
2) 映射規(guī)則使用占位符,例如%primary_group ,%secondary_group 和%user 。這與Fair Scheduler中的功能非常相似。但是,它缺少%specified 。 
3) 放置規(guī)則可以具有創(chuàng)建標(biāo)志。如果create = true ,那么將動態(tài)創(chuàng)建隊列。Capacity Scheduler沒有基于每個規(guī)則的自動隊列創(chuàng)建功能。如果父級是所謂的托管父級,則它能夠按需創(chuàng)建隊列(啟用了屬性auto-create-child-queue )。但是托管父隊列不能具有靜態(tài)葉隊列,即。它們下的子級不能在Capacity-scheduler.xml中定義。
4) 主要組和次要組的嵌套規(guī)則使事情變得更加復(fù)雜,因為create 標(biāo)志在外部和內(nèi)部規(guī)則上均被解釋。
這些差異使將放置規(guī)則轉(zhuǎn)換為映射規(guī)則變得困難,有時甚至是不可能。在這種情況下,集群運營商必須具有創(chuàng)造力,并偏離其原始的放置算法。
不支持的屬性
該工具不會轉(zhuǎn)換以下屬性:

? 每個用戶的最大應(yīng)用程序數(shù)

? <userMaxAppsDefault> –每個用戶的默認(rèn)最大應(yīng)用程序

? <minResources> –隊列的最小資源

? <maxResources> –隊列的最大資源

? <maxChildResources>   –動態(tài)創(chuàng)建的隊列的最大資源

? 隊列級別的DRF排序策略:在Capacity Scheduler中,DRF必須是全局的。在Fair Scheduler中,可以在DRF父項下使用常規(guī)的“ Fair”策略。


 
未來的改進
仍在積極地進行開發(fā)以提供更好的用戶體驗。  最重要的任務(wù)是:  

1) 在Capacity Scheduler(YARN-9936 )中將百分比向量作為資源處理。用戶將不僅可以定義單個容量,還可以定義不同資源的多個值。

2) 手柄maxRunningApps 每用戶userMaxAppsDefault (YARN-9930 )我們有“每用戶最多的應(yīng)用程序”設(shè)置,但它不是直接配置和繁瑣,因為它的三個設(shè)置的組合。我們還必須注意不要破壞現(xiàn)有行為–如果超過了最大設(shè)置,Capacity Scheduler中的現(xiàn)有邏輯將拒絕提交應(yīng)用程序,而在Fair Scheduler中,該應(yīng)用程序始終被接受,并將在以后進行調(diào)度。

3) 處理minResources ,maxResources 和maxChildResources 這些在很大程度上取決于YARN-9936 。在Fair Scheduler中,用戶可以通過多種方式(單個百分比,兩個單獨的百分比或絕對資源)表達這些設(shè)置。為了支持Capacity Scheduler中的類似設(shè)置,我們需要YARN-9936 。

4) 使映射規(guī)則的行為類似于Fair Scheduler中存在的實現(xiàn)。在“放置規(guī)則”部分中說明了如何評估映射規(guī)則。我們可能需要一種新的,可插入的方法–這樣,我們就不會在已經(jīng)非常復(fù)雜的現(xiàn)有代碼庫中引入回歸。

5) 關(guān)于DRF和其他調(diào)度策略的改進(YARN-9892 )當(dāng)前,我們有一個由屬性yarn.scheduler.capacity.resource-calculator 定義的全局資源計算器。這在Fair Scheduler中更加細膩。

6) 關(guān)于整個轉(zhuǎn)換過程的通用微調(diào)在Capacity Scheduler 中有一些屬性,例如“ user-limit-factor”或“ minimum-user-limit-percent”。我們暫時不使用這些設(shè)置,但是事實證明,在某些配置中,它們被證明是有用的


該fs2cs 工具已成為CDH-CDP的升級路徑,幫助客戶將基于調(diào)度程序的公平配置,容量調(diào)度的一個組成部分。我們了解了為什么切換到Capacity Scheduler具有明顯的好處。
我們已經(jīng)看到,目前并非所有事物都是完美的。Fair Scheduler中的某些功能可能會丟失,或者在Capacity Scheduler中僅部分受支持。在轉(zhuǎn)換過程中遇到這樣的設(shè)置時,該工具將顯示警告消息。 
轉(zhuǎn)換的某些方面非常具有挑戰(zhàn)性,尤其是展示位置規(guī)則。即使在概念上相似,這兩個調(diào)度程序遵循的隊列放置原理也略有不同,這需要我們付出額外的努力才能使Capacity Scheduler映射規(guī)則以相同的方式工作。
盡管如此,我們?nèi)灾铝τ趯嵤┧斜匾母模蕴岣呖蛻魸M意度并改善用戶體驗。

關(guān)于Fair Scheduler到Capacity Scheduler的轉(zhuǎn)換工具有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI