更新时间:2024-08-05 GMT+08:00

准备Spark连接集群配置文件

准备集群认证用户信息

对于开启Kerberos认证的MRS集群,需提前准备具有相关组件操作权限的用户用于程序认证。

以下Spark2x权限配置示例供参考,在实际业务场景中可根据业务需求灵活调整。

  1. 登录FusionInsight Manager。
  2. 选择“集群 > 服务 > Spark2x > 更多 > 启用Ranger鉴权”,查看该参数是否置灰。

    • 是,创建用户并在Ranger中赋予该用户相关操作权限:
      1. 选择“系统 > 权限 > 用户 > 添加用户”,在新增用户界面创建一个机机用户,例如developuser

        “用户组”需加入developgroup组。若用户需要对接Kafka,则需要添加kafkaadmin用户组。

      2. 使用Ranger管理员用户rangeradmin登录Ranger管理页面。
      3. 在首页中单击“HADOOP SQL”区域的组件插件名称如“Hive”。
      4. 单击“Policy Name”名称为“all - database, table, column”操作列的
      5. 在“Allow Conditions”区域新增策略允许条件,“Select User”列勾选2.a新建的用户名称,“Permissions”列勾选“Select All”。
      6. 单击“Save”。
    • 否,创建用户并在Manager赋予用户相关操作权限:
      1. 选择系统 > 权限 > 角色 > 添加角色
        1. 填写角色的名称,例如developrole
        2. (若安装了HBase,则配置)在“配置资源权限”表格中选择“待操作集群的名称 > HBase > HBase Scope > global”,勾选“default”的“创建”,单击“确定”保存。
        3. (若安装了HBase,则配置)编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global > hbase”,勾选“hbase:meta”的“执行”,单击“确定”保存。
        4. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > user”,勾选“hive”的“执行”,单击“确定”保存。
        5. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ >user >hive”,勾选“warehouse”的“读”、“写”和“执行”,单击“确定”保存。
        6. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > Hive > Hive读写权限”,勾选“default”的“建表”,单击“确定”保存。
        7. 编辑角色,在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”,勾选“default”的“提交”,单击“确定”保存。
      2. 选择“用户 > 添加用户”,在新增用户界面,创建一个机机用户,例如developuser。
        • “用户组”需加入“hadoop”用户组。
        • “角色”加入2.a新增的角色。

  3. 使用admin用户登录FusionInsight Manager,选择系统 > 权限 > 用户,在用户名为developuser的操作列选择“更多 > 下载认证凭据”下载认证凭据文件,保存后解压得到该用户的“user.keytab”文件与“krb5.conf”文件。

准备运行环境配置文件

进行应用开发时,需要同时准备代码的运行调测的环境,用于验证应用程序运行正常。

  • 场景一:准备本地Windows开发环境调测程序所需配置文件。
    1. 登录FusionInsight Manager页面,选择“集群 > 概览 > 更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,根据待安装客户端节点的节点类型选择正确的平台类型后(x86选择x86_64,ARM选择aarch64)单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。

      例如,客户端文件压缩包为“FusionInsight_Cluster_1_Services_Client.tar”,解压后得到“FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar”,继续解压该文件。

    2. 进入客户端配置文件解压路径“*\Spark\config”,获取Spark配置文件,并所有的配置文件导入到Spark样例工程的配置文件目录中(通常为“resources”文件夹)。

      准备集群认证用户信息时获取的keytab文件也放置于该目录下。

    3. 复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中。
      • 在应用开发过程中,如需在本地Windows系统中调测应用程序,需要确保本地节点能与“hosts”文件中所列出的各主机在网络上互通。
      • 如果当前节点与MRS集群所在网络平面不互通,可以通过绑定EIP的方式访问MRS集群。
      • Windows本地hosts文件存放路径举例:“C:\WINDOWS\system32\drivers\etc\hosts”。
  • 场景二:准备Linux环境运行程序所需配置文件。
    1. 在节点中安装MRS集群客户端,例如客户端安装目录为“/opt/client”。
    2. 获取配置文件:
      1. 登录FusionInsight Manager,在“主页”右上方选择“更多 > 下载客户端”,“选择客户端类型”设置为“仅配置文件”,勾选“仅保存到如下路径”,单击“确定”,下载客户端配置文件至集群主OMS点。
      2. 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文件也放置于该目录下。

    3. 检查客户端节点网络连接。

      在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。