大数据快速使用Kerberos认证集群

一、创建安全集群并登录其Manager

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

  2. 登录MRS管理控制台页面。

  3. 单击“集群列表“,在“现有集群“列表,单击指定的集群名称,进入集群信息页面。

  4. 单击“集群管理页面“后的“前往Manager”,打开Manager页面。

    • 若用户创建集群时已经绑定弹性公网IP。

      1. 添加安全组规则,默认填充的是用户访问公网IP地址9022端口的规则。如需对安全组规则进行查看,修改和删除操作,请单击“管理安全组规则“。

         说明:

        • 自动获取的访问公网IP与用户本机IP不一致,属于正常现象,无需处理。
        • 9022端口为knox的端口,需要开启访问knox的9022端口权限,才能访问Manager服务。
      2. 勾选“我确认xx.xx.xx.xx为可信任的公网访问IP,并允许从该IP访问MRS Manager页面。“

    • 若用户创建集群时暂未绑定弹性公网IP。

      1. 在弹性公网IP下拉框中选择可用的弹性公网IP或单击“管理弹性公网IP“创建弹性公网IP。

      2. 添加安全组规则,默认填充的是用户访问公网IP地址9022端口的规则。如需对安全组规则进行查看,修改和删除操作,请点击“管理安全组规则“。

         说明:

        • 自动获取的访问公网IP与用户本机IP不一致,属于正常现象,无需处理。
        • 9022端口为knox的端口,需要开启访问knox的9022端口权限,才能访问Manager服务。
      3. 勾选“我确认xx.xx.xx.xx为可信任的公网访问IP,并允许从该IP访问MRS Manager页面。“

  5. 单击“确定“,进入Manager登录页面。

  6. 输入创建集群时默认的用户名“admin“及设置的密码,单击“登录“进入Manager页面。

二、创建角色和用户

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

  1. 在Manager界面选择“系统 > 权限 > 角色”。

  2. 单击“添加角色“。

    填写如下信息:

    • 填写角色的名称,例如mrrole。
    • 在“配置资源权限”选择待操作的集群,然后选择“Yarn > 调度队列 > root”,勾选“权限”列中的“提交”和“管理”,勾选完全后,不要单击确认,要单击如下图的待操作的集群名,再进行后面权限的选择。
    • 选择“HBase > HBase Scope”,勾选global的“权限”列的“创建”、“读”、“写”和“执行”,勾选完全后,不要单击确认,要单击如下图的待操作的集群名,再进行后面权限的选择。
    • 选择“HDFS > 文件系统 > hdfs://hacluster/”,勾选“权限”列的“读”、“写”和“执行”,勾选完全后,不要单击确认,要单击如下图的待操作的集群名,再进行后面权限的选择。
    • 选择“Hive > Hive读写权限”,勾选“权限”列的“查询”、“删除”、“插入”和“建表”,单击“确定”,完成角色的创建。
  3. 选择“系统 > 权限 > 用户组 > 添加用户组”,为样例工程创建一个用户组,例如mrgroup。

  4. 选择“系统 > 权限 > 用户 > 添加用户”,为样例工程创建一个用户。

    • 填写用户名,例如test,当需要执行Hive程序时,请设置用户名为“hiveuser“。

    • 用户类型为“人机”用户。

    • 输入密码(特别注意该密码在后面运行程序时要用到)。

    • 加入用户组mrgroup和supergroup。

    • 设置其“主组”为supergroup,并绑定角色mrrole取得权限。

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

  5. 选择“系统 > 权限 > 用户”,选择新建用户test,选择“更多 > 下载认证凭据”,保存后解压得到用户的keytab文件与krb5.conf文件。

三、执行MapReduce程序

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

前提条件

已编译好待运行的程序及对应的数据文件,如mapreduce-examples-1.0.jar、input_data1.txt和input_data2.txt。

操作步骤

  1. 采用远程登录软件(比如:MobaXterm)通过ssh登录(使用集群弹性IP登录)到安全集群的master节点。

  2. 登录成功后分别执行下列命令,在/opt/Bigdata/client目录下创建test文件夹,在test目录下创建conf文件夹:

    cd /opt/Bigdata/client
    mkdir test
    cd test
    mkdir conf
    
  3. 使用上传工具(比如:WinScp)将mapreduce-examples-1.0.jar、input_data1.txt和input_data2.txt复制到test目录下,将“创建角色和用户“中的步骤5获得的keytab文件和krb5.conf文件复制到conf目录。

  4. 执行如下命令配置环境变量并认证已创建用户,例如test。

    cd /opt/Bigdata/client
    source bigdata_env
    export YARN_USER_CLASSPATH=/opt/Bigdata/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会显示如下:

    图 1 查看程序运行结果

四、执行Spark程序

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

前提条件

已编译好待运行的程序及对应的数据文件,如FemaleInfoCollection.jar、input_data1.txt和input_data2.txt。

操作步骤

  1. 采用远程登录软件(比如:MobaXterm)通过ssh登录(使用集群弹性IP登录)到安全集群的master节点。

  2. 登录成功后分别执行下列命令,在/opt/Bigdata/client目录下创建test文件夹,在test目录下创建conf文件夹:

    cd /opt/Bigdata/client
    mkdir test
    cd test
    mkdir conf
    
  3. 使用上传工具(比如:WinScp)将样FemaleInfoCollection.jar、input_data1.txt和input_data2.txt复制到test目录下,将“创建角色和用户“中的步骤5获得的keytab文件和krb5.conf文件复制到conf目录。

  4. 执行如下命令配置环境变量并认证已创建用户,例如test。

    cd /opt/Bigdata/client
    source bigdata_env
    export YARN_USER_CLASSPATH=/opt/Bigdata/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/Bigdata/client/Spark/spark
    bin/spark-submit --class com.huawei.bigdata.spark.examples.FemaleInfoCollection --master yarn-client /opt/Bigdata/client/test/FemaleInfoCollection-1.0.jar /tmp/input
    
  7. 程序运行成功后,会显示如下:

    图 2 程序运行结果

五、执行Hive程序

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

前提条件

已编译好待运行的程序及对应的数据文件,如hive-examples-1.0.jar、input_data1.txt和input_data2.txt。

操作步骤

  1. 采用远程登录软件(比如:MobaXterm)通过ssh登录(使用集群弹性IP登录)到安全集群的master节点。

  2. 登录成功后分别执行下列命令,在/opt/Bigdata/client目录下创建test文件夹,在test目录下创建conf文件夹:

    cd /opt/Bigdata/client
    mkdir test
    cd test
    mkdir conf
    
  3. 使用上传工具(比如:WinScp)将样FemaleInfoCollection.jar、input_data1.txt和input_data2.txt复制到test目录下,将“创建角色和用户“中的步骤5获得的keytab文件和krb5.conf文件复制到conf目录。

  4. 执行如下命令配置环境变量并认证已创建用户,例如test。

    cd /opt/Bigdata/client
    source bigdata_env
    export YARN_USER_CLASSPATH=/opt/Bigdata/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/Bigdata/client/Hive/Beeline/lib/*:/opt/Bigdata/client/HDFS/hadoop/lib/* com.huawei.bigdata.hive.example.ExampleMain
    
  6. 程序运行成功后,会显示如下:

    图 3 程序运行的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟机调用摄像头设备一直 select timeout问题的解决

在VMware里面调用v4l2-ctl捕获图像,或者opencv的VideoCapture(0)捕获图像,或者直接调用v4l2的函数,在streamon后,调用select读取数据,均会一直提示select timeout的问题,大概率是由于USB版本的兼容性造成的…

fs.1.10 ON rockylinux8 docker镜像制作

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 rockylinux docker上编译安装fs1.10版本的流程记录。 环境 docker engine:Version 24.0.6 rockylinux docker:8 freeswitch:v1.10.7 手动模式 rockylinux准备 docker hub拉取r…

AI智能体做高考志愿填报分析

关注公众号,赠送AI/Python/Linux资料,对AI智能体有兴趣的朋友也可以添加一起交流 高考正在进行时,学生焦虑考试,家长们焦虑的则是高考志愿怎么填。毕竟一个好的学校,好的专业是进入社会的第一个敲门砖 你看张雪峰老师…

2024.6.10学习记录

1、代码随想录二刷 2、项目难点 review 3、计组复习

RabbitMQ-工作模式(Topics模式RPC模式Publisher Confirms模式)

文章目录 Topics模式topic代码示例 RPC模式客户端界面回调队列关联ID总结RPC代码示例 Publisher Confirms模式概述在通道上启用发布者确认单独发布消息批量发布消息异步处理发布者确认总结总体代码示例 更多相关内容可查看 Topics模式 在Topics中,发送的消息不能具…

目标检测算法YOLOv9简介

YOLOv9由Chien-Yao Wang等人于2024年提出,论文名为:《YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information》,论文见:https://arxiv.org/pdf/2402.13616 ;源码见: https://github.com/W…

一文带你轻松掌握Java数组定义和声明

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

Java_Map集合

认识Map集合 Map集合称为双列集合,格式:{key1value,key2value2,key3value3,…},一次需要存一对数据作为一个元素。 Map集合的每个元素“Keyvalue” 称为一个键值对/键值对对象/一个Entry对象,Map集合也被叫做“键值对集合” Map集…

Vue笔记(二)

Vue(一):Vue笔记(一)-CSDN博客 综合案例:水果购物车 项目功能: 视频链接:034-水果购物车-基本渲染_哔哩哔哩_bilibili 目录结构: index.css .app-container {padding-…

已解决Error || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10]

已解决Error || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10] 原创作者: 猫头虎 作者微信号: Libin9iOak 作者公众号: 猫头虎技术团队 更新日期: 2024年6月6日 博主猫头虎的技术世界 🌟 欢迎来…

第十一篇——信息增量:信息压缩中的保守主义原则

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 通过信息中的保守主义,我想到了现实中人的保守主义一样&#…

汇编语言作业(五)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验结果与分析 五、 实验总结 一、实验目的 1.熟悉掌握汇编语言的程序结构,能正确书写数据段、代码段等 2,利用debug功能,查看寄存器(CS,IP,AX,DS..)及数据段的…

基于AI大文本模型的智慧对话开发设计及C#源码实现,实现智能文本改写与智慧对话

文章目录 1.AI 大模型发展现状2.基于AI服务的智慧对话开发2.1 大模型API选择2.2 基于C#的聊天界面开发2.3 星火大模型API接入2.4 优化开发界面与显示逻辑 3.源码工程Demo及相关软件下载参考文献 1.AI 大模型发展现状 端午假期几天,关注到国内的AI大模型厂商近乎疯狂…

计算机网络期末考试知识点(关键词:江中)

目录 大家端午节快乐呀!又到了一年两度的期末考试月了,这里给大家整理了一些复习知识点,大家可以边吃粽子边复习,事半功倍哈哈哈。祝各位期末过!过!过!。 1 第一章 计算机网络体系结构 计算机…

Kaggle -- Digit Recognizer 98.57%

使用卷积神经网络进行模型构建,代码如下: import pandas as pd import numpy as np import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from torch.utils.data import DataLoader, Dataset, random_spl…

【MySQL】聊聊唯一索引是如何加锁的

首先我们要明确,加锁的对象是索引,加锁的基本单位是next-key lock,由记录锁和间隙锁组成。next-key是前开后闭区间,间隙锁是前开后开区间。根据不同的查询条件next-key 可能会退化成记录锁或间隙锁。 在能使用记录锁或者间隙锁就…

电路防护-贴片陶瓷气体放电管

贴片陶瓷气体放电管 GDT工作原理GDT主要特性参数典型电路压敏电阻与 TVS 管的区别 GDT工作原理 陶瓷气体放电管是一种电子器件,其工作原理基于气体放电现象。这种管子的内部填充了一种特定的气体,通常是氖气或氩气。当管子两端施加足够的电压时&#xf…

vivado HW_ILA_DATA、HW_PROBE

HW_ILA_DATA 描述 硬件ILA数据对象是ILA调试核心上捕获的数据的存储库 编程到当前硬件设备上。upload_hw_ila_data命令 在从ila调试移动捕获的数据的过程中创建hw_ila_data对象 核心,hw_ila,在物理FPGA上,hw_device。 read_hw_ila_data命令还…

nginx优化与防盗链【☆☆☆】

目录 一、用户层面的优化 1、隐藏版本号 方法一:修改配置文件 方法二:修改源码文件,重新编译安装 2、修改nginx用户与组 3、配置nginx网页缓存时间 4、nginx的日志切割 5、配置nginx实现连接超时 6、更改nginx运行进程数 7、开启网…

1 c++多线程创建和传参

什么是进程? 系统资源分配的最小单位。 什么是线程? 操作系统调度的最小单位,即程序执行的最小单位。 为什么需要多线程? (1)加快程序执行速度和响应速度, 使得程序充分利用CPU资源。 (2&…