1、生成票据

1.1、创建认证用户

登陆到kdc服务器,使用root或者可以使用root权限的普通用户操作:

# kadmin.local -q “addprinc -randkey spark/yjt”

1.2、生成密钥文件

生成spark密钥文件

# kadmin.local -q “xst  -norankey  -k  /etc/spark.keytab spark/yjt”

拷贝sparkkeytab到所有的spark集群节点的conf目录下

1.3、修改权限

# chmod 404 /data1/hadoop/spark/conf/spark.keytab

# chown hduser:hduser /data1/hadoop/spark/conf/spark.keytab

2、集群内部测试

2.1、获取票据

# klint -it /data1/hadoop/spark/conf/spark.keytab spark/yjt

(1)、本地机器测试

# spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab --class  org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.4.0.jar 10

(2) 、提交到yarn, 模式是client

spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab --class  org.apache.spark.examples.SparkPi  --master yarn  examples/jars/spark-examples_2.11-2.4.0.jar 10

查看8088信息:

(3) 、提交到yarn集群,模式是cluster

# spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab --class  org.apache.spark.examples.SparkPi  --master yarn --deploy-mode cluster  examples/jars/spark-examples_2.11-2.4.0.jar 10

查看8088信息:

3、客户端测试

3.1、hduser用户测试

安装spark或者从集群拷贝一份到客户端

客户端测试用户使用hduser

获取票据

# kinit -kt /data1/hadoop/spark/conf/spark.keytab spark/yjt

(1) 、提交到本地集群

# ./bin/spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab  --class  org.apache.spark.examples.SparkPi --master spark://192.168.0.230:7077 examples/jars/spark-examples_2.11-2.4.0.jar 10

注意:使用这种方式提交需要在集群里面的hosts文件配置客户端的主机域名映射关系。

(2) 、提交到yarn,模式client

# ./bin/spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab  --class  org.apache.spark.examples.SparkPi --master yarn  examples/jars/spark-examples_2.11-2.4.0.jar 10

注:这种方式也需要在集群内部设置客户端主机名映射关系

(3) 、提交到yarn,模式cluster

# ./bin/spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab --class  org.apache.spark.examples.SparkPi --master yarn  --deploy-mode cluster  examples/jars/spark-examples_2.11-2.4.0.jar 10

3.2、其他用户测试

(1)、创建用户yujt

# useradd -s /bin/bash -m -d /home/yujt -G hduser yujt

# echo “Your Password” | passwd --stdin yujt

(2)、修改spark.keytab权限

# chmod 404 /data1/hadoop/spark/conf/spark.keytab

注: 以上操作root或者sudo,需要root权限

# su -  yujt

(3)、修改yujt这个用户的环境变量

修改用户的~/.bashrc文件,添加如下信息:(当然最好是直接修改/etc/profile,这样在创建用户的时候就不需要为每个用户添加环境变量信息)

export JAVA_HOME=/data1/hadoop/jdk

export PATH=${JAVA_HOME}/bin:$PATH

export HADOOP_HOME=/data1/hadoop/hadoop

export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

(4) 、测试本地standlone模式

# ./bin/spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab  --class  org.apache.spark.examples.SparkPi --master spark://192.168.0.230:7077  examples/jars/spark-examples_2.11-2.4.0.jar 10

如上述,执行成功。

(5) 、测试yarn, 部署模式client

# $ ./bin/spark-submit  --principal spark/yjt --keytab /data1/hadoop/spark/conf/spark.keytab  --class  org.apache.spark.examples.SparkPi --master yarn  examples/jars/spark-examples_2.11-2.4.0.jar 10

执行结果如下:

Web界面如下:

(6) 、测试yarn, 部署模式cluster

注:上述在执行任务的时候,我们使用了--principal 和--keytab参数,其实,如果使用kinit -kt /data1/hadoop/spark/conf/spark.keytab  spark/yjt获取了票据以后,可以省略这两个参数。

spark集成kerberos的更多相关文章

  1. Spark:利用Eclipse构建Spark集成开发环境

    前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...

  2. spark集成hive遭遇mysql check失败的问题

    问题: spark集成hive,启动spark-shell或者spark-sql的时候,报错: INFO MetaStoreDirectSql: MySQL check failed, assumin ...

  3. Ambari集成Kerberos报错汇总

    Ambari集成Kerberos报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看报错的配置信息步骤 1>.点击Test Kerberos Client,查看相 ...

  4. HDP安全之集成kerberos/LDAP、ranger(knox自带LDAP)

    ----------------------目录导航见左上角------------------------------- 环境 HDP 3.0.1.0 (已有) JDK   1.8.0_91 (已有 ...

  5. Spark集成

    一.Spark 架构与优化器 1.Spark架构 (重点) 2.Spark优化器 二.Spark+SQL的API (重点) 1.DataSet简介 2.DataFrame简介 3.RDD与DF/DS的 ...

  6. 机器学习 - pycharm, pyspark, spark集成篇

    AS WE ALL KNOW,学机器学习的一般都是从python+sklearn开始学,适用于数据量不大的场景(这里就别计较“不大”具体指标是啥了,哈哈) 数据量大了,就需要用到其他技术了,如:spa ...

  7. 挖坑:hive集成kerberos

    集成hive+kerberos前,hadoop已经支持kerberos,所以基础安装略去: https://www.cnblogs.com/garfieldcgf/p/10077331.html 直接 ...

  8. 机器学习 - 开发环境安装pycharm + pyspark + spark集成篇

    AS WE ALL KNOW,学机器学习的一般都是从python+sklearn开始学,适用于数据量不大的场景(这里就别计较“不大”具体指标是啥了,哈哈) 数据量大了,就需要用到其他技术了,如:spa ...

  9. hive集成kerberos

    1.票据的生成 kdc服务器操作,生成用于hive身份验证的principal 1.1.创建principal # kadmin.local -q “addprinc -randkey hive/yj ...

随机推荐

  1. [HNOI2012]矿场搭建 (点双连通)

    题目 [HNOI2012]矿场搭建 解析 这个题做的我十分自闭.. 没看出这个是个点双,然后一晚上+半上午.. 一看肯定和割点有关,我们找到所有的点双,会发现有这么几种情况 连通块中一个割点也没有,这 ...

  2. mysql优化 ON DUPLICATE KEY UPDATE

    场景:比如,有一张表,专门记录业务里的唯一数据记录,这张表里如果存在此唯一数据的记录就更新此行数据的某个字段,如果此唯一数据不存在,那么就添加一条最新数据. 一贯操作:如果不知道mysql有 ON D ...

  3. 证券secuerity经济术语

    证券按其性质不同,证券可以分为证据证券.凭证证券和有价证券三大类.证据证券只是单纯地证明一种事实的书面证明文件,如信用证.证据.提单等:凭证证券是指认定持证人是某种私权的合法权利者和持证人纪行的义务有 ...

  4. 深入理解JVM-java虚拟机栈

    1.java虚拟机栈 1. Java虚拟机栈也是线程私有的,它的生命周期与线程相同(随线程而生,随线程而灭) 2. 如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowErro ...

  5. package-lock.json的作用(转载)

    package-lock.json 文件的作用  来源 :https://www.cnblogs.com/kugeliu/p/9153775.html npm5之后安装文件之后会多出一个package ...

  6. oracle中的存储过程(实例一)

    引子 这是测试环境存在了很久的问题.由于基础配置信息(如:代理人信息)不像生产环境有专人维护,常常会有数据过期,导致无法使用的情况. 而很多配置数据是在外围系统维护(如代理人信息,在销管系统)以往的解 ...

  7. 【转】Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板

    Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板 开发板:mini2440(2011.04.21)环境:ubuntu9.10 为方便的将文件上传到开发板,采用vsftpd, ...

  8. 使用kubeadm部署k8s

    k8s组件 master,node master中包括apiserver,scheduler,controller.etcd apiserver:负责接收用户请求,并且保存至etcd中. schedu ...

  9. 使用CefSharp在C#访问网站,支持x86和x64

    早已久仰CefSharp大名,今日才得以实践,我其实想用CefSharp来访问网站页面,然后抓取html源代码进行分析,如果使用自带的WebBrowser控件,可能会出现一些不兼容js的错误. Cef ...

  10. 各大公司Java面试题收录含答案(整理版)持续中....

    本文分为17个模块,分别是:Java基础.容器.多线程.反射.对象拷贝.Java web.异常.网络.设计模式.算法.Spring/Spring MVC.Spring Boot/Spring Clou ...