提交Spark任务到新增Task节点
MRS集群可以通过增加Task节点,提升计算能力。集群Task节点主要用于处理数据,不存放持久数据。
本章节指导用户通过租户资源绑定新增的Task节点,并提交Spark任务到新增的Task节点。基本内容如下所示:
添加Task节点
- 在MRS集群的集群详情页面,选择“节点管理”页签,单击“新增节点组”,进入“新增节点组”页面。
- 根据需求配置参数。
表1 新增节点组参数说明 参数名称
描述
节点规格
选择节点组内主机的规格类型。
节点数量
设置新增节点组内的节点数量。
系统盘
设置新增节点的系统盘的规格与容量。
数据盘/数据盘数量
设置新增节点的数据盘的规格与容量及数量。
部署角色
添加“NodeManager”角色。
- 单击“确定”。
添加资源池
- 在集群详情页,单击“租户管理”。
- 单击“资源池”页签。
- 单击“添加资源池”。
- 在“添加资源池”设置资源池的属性。
- “名称”:填写资源池的名称,例如“test1”。
- “资源标签”:填写资源池的标签。例如“1”。
- “可用主机”:选择添加Task节点添加的节点。
- 单击“确定”保存。
添加租户
- 在集群详情页,单击“租户管理”。
- 单击“添加租户”,打开添加租户的配置页面,参见以下表格内容为租户配置属性(以MRS 3.x版本集群为例)。
表2 租户参数一览表 参数名
描述
名称
例如:tenant_spark
租户类型
选择“叶子租户”。当选中“叶子租户”时表示当前租户为叶子租户,无法再添加子租户。当选中“非叶子租户”时表示当前租户可以再添加子租户。
计算资源
选择“Yarn”,系统将自动在Yarn中以租户名称创建任务队列。计算资源不选择“Yarn”时,系统不会自动创建任务队列。
配置模式
计算资源选择“Yarn”时,“配置模式”可选“基础”或“高级”。
- 基础:需配置“默认资源池容量 (%)”,配置当前租户在“default”资源池中使用的计算资源百分比。
- 高级:需配置如下参数。
- 权重:资源分配权重,取值范围从0到100。租户资源占比=租户权重/同级别租户总权重之和。
- 最小资源:保证租户能获得的资源(有抢占支持)。取值可以是父租户资源的百分比或绝对值。当租户作业量比较少时,资源会自动借给其他租户,当租户能使用的资源不满足最小资源时,可以通过抢占来要回之前借出的资源。
- 最大资源:租户最多能使用的资源,租户不能得到比最大资源设定更多的资源。取值可以是父租户资源的百分比或绝对值。
- 预留资源:租户最多能使用的资源,租户不能得到比最大资源设定更多的资源。取值可以是父租户资源的百分比或绝对值。
默认资源池容量 (%)
配置当前租户在“default”资源池中使用的计算资源百分比,例如“20%”。
储存资源
选择“HDFS”,第一次创建租户时,系统自动在HDFS根目录创建“/tenant”目录。存储资源不选择“HDFS”时,系统不会在HDFS中创建存储目录。
文件/目录数上限
例如:100000000000
存储空间配额
配置当前租户使用的HDFS存储空间配额。最小值为“1”,最大值为父租户的全部存储配额。单位为MB或GB。例如:50000,单位为MB。此参数值表示租户可使用的HDFS存储空间上限,不代表一定使用了这么多空间。如果参数值大于HDFS物理磁盘大小,实际最多使用全部的HDFS物理磁盘空间。
说明:为了保证数据的可靠性,HDFS中每保存一个文件则自动生成1个备份文件,即默认共2个副本。HDFS存储空间表示所有副本文件在HDFS中占用的磁盘空间大小总和。例如“存储空间配额”设置为“500MB”,则实际只能保存约500/2=250MB大小的文件。
存储路径
例如:“tenant/spark_test”,系统默认将自动在“/tenant”目录中以租户名称创建文件夹。例如租户“spark_test”,默认HDFS存储目录为“tenant/spark_test”。第一次创建租户时,系统自动在HDFS根目录创建“/tenant”目录。支持自定义存储路径。
服务
配置当前租户关联使用的其他服务资源,支持HBase。单击“关联服务”,在“服务”选择“HBase”。在“关联类型”选择“独占”表示独占服务资源,选择“共享”表示共享服务资源。
描述
配置当前租户的描述信息。
- 单击“确定”保存,完成租户添加。
保存配置需要等待一段时间,界面右上角弹出提示“租户创建成功。”,租户成功添加。
- 创建租户时将自动创建租户对应的角色、计算资源和存储资源。
- 新角色包含计算资源和存储资源的权限。此角色及其权限由系统自动控制,不支持通过“角色管理”进行手动管理。
- 使用此租户时,请创建一个系统用户,并分配Manager_tenant角色以及租户对应的角色。
队列配置
- 在集群详情页,单击“租户管理”。
- 单击“队列配置”页签。
- 在租户队列表格,指定租户队列的“操作”列,单击“修改”。
- 在“租户管理”页签左侧租户列表,单击目标的租户,切换到“资源”页签,单击也能打开修改队列配置页面(仅适用于MRS 3.x之前版本)。
- 一个队列只能绑定一个非default资源池。
默认资源标签选择添加资源池时填写的标签,其他参数请根据实际情况填写。
- 单击“确定”。
配置资源分布策略
- 在集群详情页,单击“租户管理”。
- 单击“资源分布策略”页签,资源池选择添加资源池创建的资源池。
- 在租户tenant_spark“操作”列,单击“修改”。
- 权重:20
- 最小资源:20
- 最大资源:80
- 预留资源:10
- 单击“确定”。
创建用户
- 登录FusionInsight Manager管理界面,具体请参考访问FusionInsight Manager。
- 选择“系统 > 权限 > 用户”,单击“添加用户”。
- 用户名:spark_test
- 用户类型:人机
- 用户组:hadoop、hive
- 主组:hadoop
- 角色:tenant_spark
- 单击“确定”,完成用户添加。
使用spark-submit提交任务
- 使用root用户登录客户端节点,执行如下命令:
source bigdata_env
source Spark2x/component_env
安全集群(开启kerberos认证)执行命令kinit spark_test,普通模式(关闭kerberos认证)无需执行。
输入密码,完成认证(第一次登录需要修改密码)。
cd Spark2x/spark/bin
sh spark-submit --queue tenant_spark --class org.apache.spark.examples.SparkPi --master yarn-client ../examples/jars/spark-examples_*.jar