原文:

https://support.huaweicloud.com/qs-mrs/mrs_09_0003.html

本文导读

本章节提供从零开始使用安全集群并执行MapReduce程序、Spark程序和Hive程序的操作指导。

本指导的基本内容如下所示:

  1. 创建安全集群并登录其Manager
  2. 创建角色和用户
  3. 执行MapReduce程序
  4. 执行Spark程序
  5. 执行Hive程序

创建安全集群并登录其Manager

MRS 1.8.0及以后版本时,执行如下步骤:

  1. “确认密码”参数。该密码用于登录MRS Manager,请妥善保管。

     

  2. 登录MRS管理控制台页面。
  3. “现有集群” 列表,单击指定的集群名称,进入集群信息页面。
  4. “访问MRS Manager页面”。

     

    • “管理安全组规则”。
      开启Kerberos认证集群(转发)说明:
      • 自动获取的访问公网IP与用户本机IP不一致,属于正常现象,无需处理。
      • 9022端口为knox的端口,需要开启访问knox的9022端口权限,才能访问MRS Manager服务。
    • “我确认xx.xx.xx.xx为可信任的公网访问IP,并允许从该IP访问MRS Manager页面。”
      图2 访问MRS Manager页面
  • “管理弹性公网IP”购买弹性公网IP。
  • “管理安全组规则”。
    开启Kerberos认证集群(转发)说明:
    • 自动获取的访问公网IP与用户本机IP不一致,属于正常现象,无需处理。
    • 9022端口为knox的端口,需要开启访问knox的9022端口权限,才能访问MRS Manager服务。
  • “我确认xx.xx.xx.xx为可信任的公网访问IP,并允许从该IP访问MRS Manager页面。”
  • 图3 访问MRS Manager页面设置
  • 访问Manager章节,添加对应用户访问公网的IP地址为可信范围。
  • “登录”进入MRS Manager页面。
  • MRS 1.8.0以前版本时,执行如下步骤:

    1. 创建安全集群,请参见创建集群页面,开启“Kerberos认证”参数开关,并配置“密码”、“确认密码”参数。该密码用于登录MRS Manager,请妥善保管。

       

    2. 在MRS管理控制台,单击“集群列表”。

       

      开启Kerberos认证集群(转发)说明:
      • 创建连接MRS集群的SSH隧道并配置浏览器。
      • 分析集群和流式集群访问支持Kerberos认证的Manager方法相同。
    3. 在 “现有集群” 列表中,单击已创建的安全集群名称。

       

      “默认安全组”。

    4. 在弹性云服务器管理控制台,创建一个新的弹性云服务器。

       

      • “安全组”,需要和待访问集群的配置相同。
      • 选择一个Windows系统的公共镜像。
      • 购买弹性云服务器。
      开启Kerberos认证集群(转发)说明:

      “默认安全组”不同,用户可以选择以下任一种方法修改配置:

      • 更改安全组。
      • 创建安全组。

       

    5. 在虚拟私有云管理控制台,申请一个弹性IP地址,并与弹性云服务器绑定。

       

      为弹性云服务器申请和绑定弹性公网IP。

       

    6. 登录弹性云服务器。

       

      Windows云服务器登录方式。

       

    7. 在Windows的远程桌面中,打开浏览器访问Manager。

       

      例如Windows 2012操作系统可以使用Internet Explorer 11。

      “Kerberos认证”参数开关时输入的密码。

      开启Kerberos认证集群(转发)说明:
      • 如果使用其他MRS集群用户访问Manager,第一次访问时需要修改密码。新密码需要满足集群当前的用户密码复杂度策略。请咨询管理员。
      • 默认情况下,在登录时输入5次错误密码将锁定用户,需等待5分钟自动解锁。

       

    创建角色和用户

    开启Kerberos认证的集群,必须通过以下步骤创建一个用户并分配相应权限来允许用户执行程序。

    1. 角色管理”。
    2. 创建角色。

       

      填写如下信息:

      • 填写角色的名称,例如mrrole。
      • “服务”,再进行后面权限的选择。
      • “服务”,再进行后面权限的选择。
      • “服务”,再进行后面权限的选择。
      • “权限”的表格中选择“Hive > Hive Read Write Privileges”,勾选default的“Create”、“Select”、“Delete”、“Insert”,单击“确定”,完成角色的创建。
    3. 创建用户组。
    4. 创建用户。

       

      • “hiveuser”。
      • 用户类型为“人机”用户。
      • 输入密码(特别注意该密码在后面运行程序时要用到)。
      • 加入用户组mrgroup和supergroup。
      • 设置其“主组”为supergroup,并绑定角色mrrole取得权限。

        单击“确定”完成用户创建。

       

    5. 单击“系统设置 > 用户管理”,在用户名中选择新建用户“test”,单击“更多>下载认证凭据文件”,保存后解压得到用户的keytab文件与krb5.conf文件。

    执行MapReduce程序

    本小节提供执行MapReduce程序的操作指导,旨在指导用户在安全集群模式下运行程序。

    前提条件

    MapReduce应用开发。

    1. 采用远程登录软件(比如:MobaXterm)通过ssh登录(使用集群弹性IP登录)到安全集群的master节点。
    2. 登录成功后分别执行下列命令,在/opt/client目录下创建test文件夹,在test目录下创建conf文件夹:

       

      cd /opt/client
      mkdir test
      cd test
      mkdir conf
       

       

    3. 5获得的keytab文件和krb5.conf文件复制到conf目录。
    4. 执行如下命令配置环境变量并认证已创建用户,例如test。

       

      cd /opt/client
      source bigdata_env
      export YARN_USER_CLASSPATH=/opt/client/test/conf/
      kinit test
       

      然后按照提示输入密码,无异常提示返回,则完成了用户的kerberos认证。

       

    5. 执行如下命令将数据导入到HDFS中:

       

      cd test
      hdfs dfs -mkdir /tmp/input
      hdfs dfs -put input_data* /tmp/input
       

       

    6. 执行如下命令运行程序:

       

      yarn jar mapreduce-examples-1.0.jar com.huawei.bigdata.mapreduce.examples.FemaleInfoCollector /tmp/input /tmp/mapreduce_output
       

      其中:

      /tmp/input指HDFS文件系统中input的路径。

      /tmp/mapreduce_output指HDFS文件系统中output的路径,该目录必须不存在,否则会报错。

       

    7. 程序运行成功后,执行 hdfs dfs -ls /tmp/mapreduce_output会显示如下:

       

       

    执行Spark程序

    本小节提供执行Spark程序的操作指导,旨在指导用户在安全集群模式下运行程序。

    前提条件

    Spark应用开发。

    1. 采用远程登录软件(比如:MobaXterm)通过ssh登录(使用集群弹性IP登录)到安全集群的master节点。
    2. 登录成功后分别执行下列命令,在/opt/client目录下创建test文件夹,在test目录下创建conf文件夹:

       

      cd /opt/client
      mkdir test
      cd test
      mkdir conf
       

       

    3. 5获得的keytab文件和krb5.conf文件复制到conf目录。
    4. 执行如下命令配置环境变量并认证已创建用户,例如test。

       

      cd /opt/client
      source bigdata_env
      export YARN_USER_CLASSPATH=/opt/client/test/conf/
      kinit test
       

      然后按照提示输入密码,无异常提示返回,则完成了用户的kerberos认证。

       

    5. 执行如下命令将数据导入到HDFS中:

       

      cd test
      hdfs dfs -mkdir /tmp/input
      hdfs dfs -put input_data* /tmp/input
       

       

    6. 执行如下命令运行程序:

       

      cd /opt/client/Spark/spark
      bin/spark-submit --class com.huawei.bigdata.spark.examples.FemaleInfoCollection --master yarn-client /opt/client/test/FemaleInfoCollection-1.0.jar /tmp/input
       

       

    7. 程序运行成功后,会显示如下:

       

       

    执行Hive程序

    本小节提供执行Hive程序的操作指导,旨在指导用户在安全集群模式下运行程序。

    前提条件

    Hive应用开发。

    1. 采用远程登录软件(比如:MobaXterm)通过ssh登录(使用集群弹性IP登录)到安全集群的master节点。
    2. 登录成功后分别执行下列命令,在/opt/client目录下创建test文件夹,在test目录下创建conf文件夹:

       

      cd /opt/client
      mkdir test
      cd test
      mkdir conf
       

       

    3. 5获得的keytab文件和krb5.conf文件复制到conf目录。
    4. 执行如下命令配置环境变量并认证已创建用户,例如test。

       

      cd /opt/client
      source bigdata_env
      export YARN_USER_CLASSPATH=/opt/client/test/conf/
      kinit test
       

      然后按照提示输入密码,无异常提示返回,则完成了用户的kerberos认证。

       

    5. 执行如下命令运行程序:

       

      chmod +x /opt/hive_examples -R   cd /opt/hive_examples   java -cp .:hive-examples-1.0.jar:/opt/hive_examples/conf:/opt/client/Hive/Beeline/lib/*:/opt/client/HDFS/hadoop/lib/* com.huawei.bigdata.hive.example.ExampleMain
       

       

    6. 程序运行成功后,会显示如下:

       

       

    7.  

    相关文章: