天天看點

OushuDB 管理指南之資源管理

OushuDB 管理指南之資源管理

使用YARN

如果OushuDB和YARN配合使用,OushuDB可以從YARN申請資源,并把申請到的資源通過資源管理隊列重新在查詢之間配置設定。在不使用資源的時候會把資源動态歸還給YARN。

你可以在hawq-site.xml中修改如下配置使之生效。

<property><name>hawq_global_rm_type</name><value>yarn</value></property>           

hawq_global_rm_type預設值為none,指的是standalone模式。

配置為YARN模式後,你需要同時配置hawq-site.xml中的下面參數:

<property><name>hawq_rm_yarn_address</name><value>localhost:8032</value></property><property><name>hawq_rm_yarn_scheduler_address</name><value>localhost:8030</value></property><property><name>hawq_rm_yarn_queue_name</name><value>hawqque</value></property><property><name>hawq_rm_yarn_app_name</name><value>hawq</value></property>           

如果你配置了YARN HA,你必須在$GPHOME/etc/yarn-client.xml中配置如下屬性:

● yarn.resourcemanager.ha

● yarn.resourcemanager.scheduler.ha

例如:

<property><name>yarn.resourcemanager.ha</name><value>{0}:8032,{1}:8032</value></property><property><name>yarn.resourcemanager.scheduler.ha</name><value>{0}:8030,{1}:8030</value></property>           

配置HA後,hawq_rm_yarn_address和hawq_rm_yarn_scheduler_address不再被使用。

當使用OushuDB YARN內建時,OushuDB隻支援YARN CapacityScheduler。下面是YARN的一個典型配置:

# yarn-site.xml<property><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value></property><property><name>yarn.nodemanager.resource.memory-mb</name><value>4GB</value></property><property><name>yarn.nodemanager.resource.cpu-vcores</name><value>1</value></property>           

yarn-site.xml配置了CapacityScheduler,并且配置了一個YARN container的記憶體和CPU大小。我們建議YARN container的 大小使用1GB/core,2GB/core或者4GB/core。這樣的話可以減少碎片的出現。

# capacity-scheduler.xml<property><name>yarn.scheduler.capacity.root.queues</name><value>mrque1,mrque2,hawqque</value></property><property><name>yarn.scheduler.capacity.hawqque.maximum-applications</name><value>1</value></property><property><name>yarn.scheduler.capacity.hawqque.capacity</name><value>20</value></property><property><name>yarn.scheduler.capacity.hawqque.maximum-capacity</name><value>80</value></property><property><name>yarn.scheduler.capacity.hawqque.user-limit-factor</name><value>2</value></property><property><name>yarn.scheduler.capacity.mrque1.capacity</name><value>30</value></property><property><name>yarn.scheduler.capacity.mrque1.maximum-capacity</name><value>50</value></property><property><name>yarn.scheduler.capacity.mrque2.capacity</name><value>50</value></property><property><name>yarn.scheduler.capacity.mrque2.maximum-capacity</name><value>50</value></property>           

上面的例子中配置了3個YARN資源管理隊列:mrque1,mrque2,hawqque。

在YARN模式下,OushuDB本身的資源管理隊列的用法不變。使用者依然可以安裝前面幾節的方法使用OushuDB資源隊列。變得是OushuDB得到資源的方式。在Standalone模式下,OushuDB假設擁有整個叢集資源,而在YARN模式下,OushuDB配置設定的資源需要從YARN申請。

繼續閱讀