温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在CDP7.1.1中如何配置用户的Hive SQL的资源池队列

发布时间:2021-12-13 09:23:00 来源:亿速云 阅读:416 作者:小新 栏目:大数据

在CDP7.1.1中如何配置用户的Hive SQL的资源池队列

引言

在Cloudera Data Platform (CDP) 7.1.1中,Hive SQL的资源管理是一个关键的功能,它允许管理员根据业务需求分配和管理集群资源。通过配置资源池队列,可以确保不同的用户或应用程序在共享集群资源时能够获得公平的资源分配,从而提高集群的整体性能和资源利用率。本文将详细介绍如何在CDP 7.1.1中配置用户的Hive SQL资源池队列。

1. 理解资源池队列

在CDP中,资源池队列是YARN(Yet Another Resource Negotiator)的一部分,用于管理集群资源的分配。每个队列可以配置一定的资源(如CPU、内存等),并且可以设置优先级、最大资源限制等参数。通过将Hive SQL查询分配到不同的资源池队列,可以实现资源的隔离和优先级控制。

1.1 资源池队列的类型

  • 父队列:父队列可以包含多个子队列,用于组织和管理子队列的资源分配。
  • 子队列:子队列是实际执行任务的队列,每个子队列可以配置不同的资源限制和优先级。

1.2 资源池队列的配置参数

  • capacity:队列的资源容量,表示该队列可以使用的集群资源的百分比。
  • maximum-capacity:队列的最大资源容量,表示该队列可以使用的集群资源的最大百分比。
  • user-limit-factor:用户限制因子,用于控制单个用户在一个队列中可以使用的资源比例。
  • acl_submit_applications:控制哪些用户或组可以提交应用程序到该队列。
  • acl_administer_queue:控制哪些用户或组可以管理该队列。

2. 配置Hive SQL的资源池队列

在CDP 7.1.1中,配置Hive SQL的资源池队列主要涉及以下几个步骤:

2.1 创建资源池队列

首先,需要在YARN中创建资源池队列。可以通过Cloudera Manager或直接编辑YARN的配置文件来完成。

2.1.1 使用Cloudera Manager创建队列

  1. 登录Cloudera Manager。
  2. 导航到YARN服务。
  3. 点击配置选项卡。
  4. 在搜索框中输入yarn.scheduler.capacity.root.queues,找到并编辑该配置项。
  5. 在配置项中添加新的队列名称,例如hive_queue
  6. 保存配置并重启YARN服务。

2.1.2 直接编辑YARN配置文件

  1. 登录到YARN ResourceManager节点。
  2. 打开YARN的配置文件capacity-scheduler.xml,通常位于/etc/hadoop/conf/目录下。
  3. 在配置文件中添加新的队列配置,例如:
 <property> <name>yarn.scheduler.capacity.root.queues</name> <value>default,hive_queue</value> </property> <property> <name>yarn.scheduler.capacity.root.hive_queue.capacity</name> <value>50</value> </property> <property> <name>yarn.scheduler.capacity.root.hive_queue.maximum-capacity</name> <value>80</value> </property> 
  1. 保存配置文件并重启YARN服务。

2.2 配置Hive使用指定的资源池队列

在YARN中创建好资源池队列后,需要配置Hive使用该队列。可以通过以下步骤完成:

2.2.1 在Hive配置中指定队列

  1. 登录Cloudera Manager。
  2. 导航到Hive服务。
  3. 点击配置选项卡。
  4. 在搜索框中输入hive.execution.mode,找到并编辑该配置项。
  5. hive.execution.mode设置为yarn
  6. 在搜索框中输入hive.server2.tez.default.queues,找到并编辑该配置项。
  7. hive.server2.tez.default.queues设置为之前创建的队列名称,例如hive_queue
  8. 保存配置并重启Hive服务。

2.2.2 在Hive会话中指定队列

除了全局配置外,还可以在Hive会话中动态指定队列。可以通过以下方式实现:

  1. 在Hive CLI或Beeline中执行以下命令:
 SET hive.execution.mode=yarn; SET hive.server2.tez.default.queues=hive_queue; 
  1. 提交Hive SQL查询时,查询将使用指定的队列资源。

2.3 验证配置

完成配置后,可以通过以下步骤验证资源池队列是否生效:

  1. 提交一个Hive SQL查询。
  2. 登录Cloudera Manager。
  3. 导航到YARN服务。
  4. 点击资源管理器选项卡。
  5. 查看正在运行的应用程序,确认Hive查询是否在指定的队列中运行。

3. 高级配置

3.1 配置队列的ACL

为了确保只有特定的用户或组可以使用某个队列,可以配置队列的ACL(访问控制列表)。

  1. 在YARN的capacity-scheduler.xml配置文件中,添加以下配置:
 <property> <name>yarn.scheduler.capacity.root.hive_queue.acl_submit_applications</name> <value>user1,user2</value> </property> <property> <name>yarn.scheduler.capacity.root.hive_queue.acl_administer_queue</name> <value>admin</value> </property> 
  1. 保存配置文件并重启YARN服务。

3.2 配置队列的资源限制

可以通过配置队列的资源限制来防止某个队列占用过多的集群资源。

  1. 在YARN的capacity-scheduler.xml配置文件中,添加以下配置:
 <property> <name>yarn.scheduler.capacity.root.hive_queue.user-limit-factor</name> <value>2</value> </property> 
  1. 保存配置文件并重启YARN服务。

4. 总结

在CDP 7.1.1中,配置Hive SQL的资源池队列是一个重要的任务,它可以帮助管理员更好地管理集群资源,确保不同用户和应用程序之间的资源分配公平合理。通过本文的介绍,您应该已经掌握了如何在CDP 7.1.1中创建和配置资源池队列,并将其应用于Hive SQL查询中。希望这些内容对您在实际工作中有所帮助。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI