准备Spark连接集群配置文件
准备集群认证用户信息
对于开启Kerberos认证的MRS集群,需提前准备具有相关组件操作权限的用户用于程序认证。
以下Spark2x权限配置示例供参考,在实际业务场景中可根据业务需求灵活调整。
- 登录FusionInsight Manager。
- 选择“集群 > 服务 > Spark2x > 更多 > 启用Ranger鉴权”,查看该参数是否置灰。
- 是,创建用户并在Ranger中赋予该用户相关操作权限:
- 选择“系统 > 权限 > 用户 > 添加用户”,在新增用户界面创建一个机机用户,例如developuser。
“用户组”需加入developgroup组。若用户需要对接Kafka,则需要添加kafkaadmin用户组。
- 使用Ranger管理员用户rangeradmin登录Ranger管理页面。
- 在首页中单击“HADOOP SQL”区域的组件插件名称如“Hive”。
- 单击“Policy Name”名称为“all - database, table, column”操作列的。
- 在“Allow Conditions”区域新增策略允许条件,“Select User”列勾选2.a新建的用户名称,“Permissions”列勾选“Select All”。
- 单击“Save”。
- 选择“系统 > 权限 > 用户 > 添加用户”,在新增用户界面创建一个机机用户,例如developuser。
- 否,创建用户并在Manager赋予用户相关操作权限:
- 选择 。
- 填写角色的名称,例如developrole。
- (若安装了HBase,则配置)在“配置资源权限”表格中选择“待操作集群的名称 > HBase > HBase Scope > global”,勾选“default”的“创建”,单击“确定”保存。
- (若安装了HBase,则配置)编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global > hbase”,勾选“hbase:meta”的“执行”,单击“确定”保存。
- 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user”,勾选“hive”的“执行”,单击“确定”保存。
- 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ >user >hive”,勾选“warehouse”的“读”、“写”和“执行”,单击“确定”保存。
- 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”,勾选“default”的“建表”,单击“确定”保存。
- 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”,勾选“default”的“提交”,单击“确定”保存。
- 选择“用户 > 添加用户”,在新增用户界面,创建一个机机用户,例如developuser。
- “用户组”需加入“hadoop”用户组。
- “角色”加入2.a新增的角色。
- 选择 。
- 是,创建用户并在Ranger中赋予该用户相关操作权限:
- 使用admin用户登录FusionInsight Manager,选择“user.keytab”文件与“krb5.conf”文件。 ,在用户名为developuser的操作列选择“更多 > 下载认证凭据”下载认证凭据文件,保存后解压得到该用户的
准备运行环境配置文件
进行应用开发时,需要同时准备代码的运行调测的环境,用于验证应用程序运行正常。
- 场景一:准备本地Windows开发环境调测程序所需配置文件。
- 登录FusionInsight Manager页面,选择“集群 > 概览 > 更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64)单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。
例如,客户端文件压缩包为“FusionInsight_Cluster_1_Services_Client.tar”,解压后得到“FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar”,继续解压该文件。
- 进入客户端配置文件解压路径“*\Spark\config”,获取Spark配置文件,并所有的配置文件导入到Spark样例工程的配置文件目录中(通常为“resources”文件夹)。
准备集群认证用户信息时获取的keytab文件也放置于该目录下。
- 复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中。
- 在应用开发过程中,如需在本地Windows系统中调测应用程序,需要确保本地节点能与“hosts”文件中所列出的各主机在网络上互通。
- 如果当前节点与MRS集群所在网络平面不互通,可以通过绑定EIP的方式访问MRS集群。
- Windows本地hosts文件存放路径举例:“C:\WINDOWS\system32\drivers\etc\hosts”。
- 登录FusionInsight Manager页面,选择“集群 > 概览 > 更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64)单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。
- 场景二:准备Linux环境运行程序所需配置文件。
- 在节点中安装MRS集群客户端,例如客户端安装目录为“/opt/client”。
- 获取配置文件:
- 登录FusionInsight Manager,在“主页”右上方选择“更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,勾选“仅保存到如下路径”,单击“确定”,下载客户端配置文件至集群主OMS点。
- 以root登录主OMS节点,进入客户端配置文件所在路径(默认为“/tmp/FusionInsight-Client/”),解压软件包后获取“*\Spark\config”路径下的配置文件。并将所有的配置文件放置到与准备放置编译出的jar包同目录的“conf”目录下,用于后续调测,例如“/opt/client/conf”。
例如客户端软件包为“FusionInsight_Cluster_1_Services_Client.tar”,下载路径为主管理节点的“/tmp/FusionInsight-Client”:
cd /tmp/FusionInsight-Client
tar -xvf FusionInsight_Cluster_1_Services_Client.tar
tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar
cd FusionInsight_Cluster_1_Services_ClientConfig
cp -r Spark/config/* /opt/client/conf
准备集群认证用户信息时获取的keytab文件也放置于该目录下。
- 检查客户端节点网络连接。
在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。