Kerberos 基本命令 - 持续更新

  • 授权添加yarn账户 
[root@xxx ~]# kadmin.local 
Authenticating as principal cloudera-scm/admin@JAST.COM with password.
kadmin.local:  addprinc yarn@JAST.COM
WARNING: no policy specified for yarn@JAST.COM; defaulting to no policy
Enter password for principal "yarn@JAST.COM": 
Re-enter password for principal "yarn@JAST.COM": 
Principal "yarn@JAST.COM" created.
kadmin.local:  exit
  •  查看当前系统使用的Kerberos账户
#使用的 cloudera-scm
[root@xxx ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: cloudera-scm/admin@IZHONGHONG.COMValid starting       Expires              Service principal
2019-08-06T14:45:54  2019-08-07T14:45:54  krbtgt/JAST.COM@JAST.COMrenew until 2019-08-13T14:45:54

注意:这里 Expires 是过期时间,即我们使用kinit 授权时候是有有效期的 

有效期设置对应配置文件  /etc/krb5.conf 中的 ticket_lifetime = 24h 参数 (修改时服务端与客户端同时修改)

  • 退出授权 - kdestroy
[root@ecs-dbtest-0003 kerberos]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin/admin@JAST.COMValid starting       Expires              Service principal
10/17/2019 10:17:27  10/18/2019 10:17:27  krbtgt/JAST.COM@JAST.COMrenew until 10/24/2019 10:17:27
[root@ecs-dbtest-0003 kerberos]# kdestroy
[root@ecs-dbtest-0003 kerberos]# klist
klist: No credentials cache found (filename: /tmp/krb5cc_0)
  • 使用Kerberos账户
[root@xxx ~]# kinit yarn #这里yarn是通过 kadmin.local  addprinc yarn@JAST.COM 创建的
Password for yarn@JAST.COM:   #这里输入密码

然后使用root用户读/写/执行hdfs权限即为yarn用户

[root@xxx ~]# hdfs dfs -put index.html /tmp
[root@xxx ~]# hdfs dfs -ls /tmp
Found 6 items
drwxrwxrwx   - hdfs   supergroup          0 2019-08-06 15:56 /tmp/.cloudera_health_monitoring_canary_files
drwxr-xr-x   - yarn   supergroup          0 2019-07-17 09:37 /tmp/hadoop-yarn
drwx--x--x   - hbase  supergroup          0 2019-07-01 13:37 /tmp/hbase-staging
drwx-wx-wx   - hive   supergroup          0 2019-07-02 16:16 /tmp/hive
-rw-r--r--   2 yarn   supergroup       2381 2019-08-06 15:57 /tmp/index.html
drwxrwxrwt   - mapred hadoop              0 2019-07-18 21:38 /tmp/logs
  • 创建keytab文件
[root@xxx jast]# kadmin.local -q "xst -norandkey -k hdfs.keytab hdfs@JAST.COM"
Authenticating as principal hdfs/admin@JAST.COM with password.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:hdfs.keytab.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:hdfs.keytab.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type des3-cbc-sha1 added to keytab WRFILE:hdfs.keytab.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type arcfour-hmac added to keytab WRFILE:hdfs.keytab.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type camellia256-cts-cmac added to keytab WRFILE:hdfs.keytab.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type camellia128-cts-cmac added to keytab WRFILE:hdfs.keytab.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type des-hmac-sha1 added to keytab WRFILE:hdfs.keytab.
Entry for principal hdfs@JAST.COM with kvno 1, encryption type des-cbc-md5 added to keytab WRFILE:hdfs.keytab.
  • 命令行使用keytab 
[root@xxx jast]# kinit -kt hdfs.keytab hdfs@JAST.COM
[root@xxx jast]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: hdfs@JAST.COMValid starting       Expires              Service principal
2019-08-07T13:35:19  2019-08-08T13:35:19  krbtgt/JAST.COM@JAST.COMrenew until 2019-08-14T13:35:19

 

创建keytab不同用户,即便密码相同,也不可共用keytab

[root@xxx jast]# kinit -kt hdfs.keytab yarn@JAST.COM
kinit: Keytab contains no suitable keys for yarn@JAST.COM while getting initial credentials

 

  • 合并多个 keytab 为一个 keytab
[root@xxx jast]# ktutil
ktutil:  rkt hdfs.keytab  #读取多个keytab
ktutil:  rkt yarn.keytab  
ktutil:  wkt hdfs-nb.keytab #合并为一个hdfs-nb.keytab , 即这个文件可以使用 hdfs 和yarn 的keytab
ktutil:  exit

在当前目录可以看到生成的 hdfs-nb.keytab

验证:

[root@xxx jast]# kinit -kt hdfs.keytab yarn@JAST.COM   #使用hdfs的keytab,登录yarn用户,报错
kinit: Keytab contains no suitable keys for yarn@JAST.COM while getting initial credentials
[root@xxx jast]# kinit -kt hdfs-nb.keytab yarn@JAST.COM #使用合并的keytab,登录yarn用户,成功
[root@xxx jast]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: yarn@JAST.COMValid starting       Expires              Service principal
2019-08-07T13:43:06  2019-08-08T13:43:06  krbtgt/JAST.COM@JAST.COMrenew until 2019-08-14T13:43:06
[root@xxx jast]# kinit -kt hdfs-nb.keytab hdfs@JAST.COM  #使用合并的keytab,登录hdfs用户,成功
[root@xxx jast]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: hdfs@JAST.COMValid starting       Expires              Service principal
2019-08-07T13:44:19  2019-08-08T13:44:19  krbtgt/JAST.COM@JAST.COMrenew until 2019-08-14T13:44:19
  • 查看keytab内容
[root@xxx jast]# klist -k -e hdfs.keytab 
Keytab name: FILE:hdfs.keytab
KVNO Principal
---- --------------------------------------------------------------------------1 hdfs@JAST.COM (aes256-cts-hmac-sha1-96) 1 hdfs@JAST.COM (aes128-cts-hmac-sha1-96) 1 hdfs@JAST.COM (des3-cbc-sha1) 1 hdfs@JAST.COM (arcfour-hmac) 1 hdfs@JAST.COM (camellia256-cts-cmac) 1 hdfs@JAST.COM (camellia128-cts-cmac) 1 hdfs@JAST.COM (des-hmac-sha1) 1 hdfs@JAST.COM (des-cbc-md5) 
[root@fwqml006 jast]# klist -k -e hdfs-nb.keytab
Keytab name: FILE:hdfs-nb.keytab
KVNO Principal
---- --------------------------------------------------------------------------1 hdfs@JAST.COM (aes256-cts-hmac-sha1-96) 1 hdfs@JAST.COM (aes128-cts-hmac-sha1-96) 1 hdfs@JAST.COM (des3-cbc-sha1) 1 hdfs@JAST.COM (arcfour-hmac) 1 hdfs@JAST.COM (camellia256-cts-cmac) 1 hdfs@JAST.COM (camellia128-cts-cmac) 1 hdfs@JAST.COM (des-hmac-sha1) 1 hdfs@JAST.COM (des-cbc-md5) 1 yarn@JAST.COM (aes256-cts-hmac-sha1-96) 1 yarn@JAST.COM (aes128-cts-hmac-sha1-96) 1 yarn@JAST.COM (des3-cbc-sha1) 1 yarn@JAST.COM (arcfour-hmac) 1 yarn@JAST.COM (camellia256-cts-cmac) 1 yarn@JAST.COM (camellia128-cts-cmac) 1 yarn@JAST.COM (des-hmac-sha1) 1 yarn@JAST.COM (des-cbc-md5) 
  • spark授权 启动指定keytab
spark-submit --principal hdfs@JAST.COM --keytab hdfs-nb.keytab --jars $(echo lib/*.jar | tr ' ' ',') --class com.jast.test.Test data-filter-1.0-SNAPSHOT.jar 

 

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

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

相关文章

equal_range

equal_range 是C STL中的一种二分查找的算法,试图在已排序的[first,last)中寻找value,它返回一对迭代器i和j,其中i是在不破坏次序的前提下,value可插入的第一个位置(亦即lower_bound),j则是在不…

Kerberos 下运行spark 报错 Requested user hdfs is not whitelisted and has id 995,which is below the minimu

异常如下 main : run as user is hdfs main : requested yarn user is hdfs Requested user hdfs is not whitelisted and has id 995,which is below the minimum allowed 1000 问题原因:是由于Yarn限制了用户id小于1000的用户提交作业; 解决方法&a…

node.js工程的结构

我们使用express生成了package.json,它只产生了javascript的app.js和routes/index.js。模版引擎ejs有文件index.ejs,此外还有样式表style.css。12讲问题:创建工程时候一直使用jade。要求用ejs一、app.js 工程的入口。 分析代码:/*…

C++面试(七)

1、 谈谈你做过的项目,你主要负责哪个模块,代码量是多大(除去VC自动生成的那些代码) 2、 参与项目的人数是多少? 5、 谈谈你对C三个特点的理解(简单描述一下)。 6、 为什么要封装,如…

kerberos 下运行spark 报错 Requested user hdfs is banned

启动运行报错 main : run as user is hdfs main : requested yarn user is hdfs Requested user hdfs is bannedFailing this attempt. Failing the application.ApplicationMaster host: N/AApplicationMaster RPC port: -1queue: root.defaultstart time: 1565170753121fina…

node.js路由控制

一、工作原理 当通过浏览器访问app.js建立的服务器时,会看到一个简单的页面,实际上它已经完成了许多透明的工作,当访问http://localhost:3000,浏览器会向服务器发送请求,包括请求的方法、路径、HTTP协议版本和请求头信…

C、C++和MFC中文件的操作

对文件读写的三种方法1.C中FILE *pFilefopen("1.txt","w");fwrite(" http://www.sunxin.org",1,strlen("http://www.sunxin.org"),pFile ");//fseek(pFile,0,SEEK_SET);//fwrite("ftp:",1,strlen("ftp:"),pF…

spark 提交至yarn异常超时 Client cannot authenticate via:[TOKEN, KERBEROS]

spark-cluster提交任务,提示 exit code :10 异常,具体需要到容器日志中去查看 19/08/07 18:09:24 INFO yarn.Client: client token: N/Adiagnostics: Application application_1565171057576_0008 failed 2 times due to AM Container for appattempt_…

node.js模块引擎

一、什么是模版引擎 模版引擎是一个从页面模版根据一定的规则生成HTML的工具,PHP首发,随后出现了ASP、JSP都沿用这个模式,即建立一个HTML页面模版,插入可执行的代码。运行时动态生成HTML。缺点: 页面功能逻辑与页面布局…

勤学如春起之苗,不见其增,日有所长!

“工作三年,并不等于拥有三年的工作经验。”这句话告诉我们每天都要思考自己当天所遇到的问题,记录下来,并且思考这个问题的解决办法,每一周或两周总结这些问题和解决办法,归纳思考问题根源,学习解决问题的…

HBase ACL管理 Hbase 权限管理

场景:hadoop集群已经进行kerberos认证 启动Hbase相关配置Hbase权限分为以下五种:Read(R) : 可以读取给定范围内数据的权限 Write(W) : 可以在给定范围内写数据 Executor(X) : 可以在指定表执行Endpoints类型的协处理 Create(C) : 可以在给定范围内创建和…

node.js ejs的视图模块引擎

一、版本升级 Express从2.0升级到3.0,将ejs的用法忽略,改为用户自定义形式。引入ejs/index.js的模块,来支持ejs的模版引擎二、引入引擎的模块,然后在app中调用engine函数改造ejs引擎 app.engine(ejs, engine);将layout.ejs设置成默认的布局模…

文本文件和二进制文件的区别

广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基…

Kerberos Hbase Api 操作

初始化连接加载配置参数,这里只创建连接,具体操作hbase的api没有变化 static { try{ Configuration conf HBaseConfiguration.create();conf.addResource(new Path("config/hbase-site.xml"));//读取配置文件conf.set("hadoop.securi…

ndoe.js实战之开发微博第一讲之工具准备

内容:搭建开发环境和视图制作。一、创建项目 1.express ejs blog 创建项目cd blog 进入项目npm install 加入包的依赖2.加入ejs视图模版引擎支持加入文件 expand_modules/ejs/index.jsvar enginerequire("./expand_modules/ejs");在app中改造引擎app.e…

MySql索引的原理

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用&#xff08…

SparkStreaming 异常:java.lang.NoSuchMethodError: scala.Predef scope()Lscala/xml/TopScope

SparkStreaming运行报错 19/05/05 22:35:18 INFO SparkEnv: Registering OutputCommitCoordinator Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$;at org.apache.spark.ui.jobs.AllJobsPage.<init>(…

node.js微博案例第二讲

一、mongodb数据库安装 1.安装包下载&#xff1a;http://www.mongodb.org/downloads2.开始安装解压放入D:\Program Files\目录下。(推荐文件名为mongodb)创建Data、log和Data/db文件夹将mongodb的数据库文件D:\Program Files\mongodb\data\db目录下执行命令&#xff1a…

Spark提交 指定 kerberos 认证信息

spark-submit --principal hdfs/hostnamejast.COM --keytab hdfs-hostname.keytab --jars $(echo lib/*.jar | tr ,) --class com.jast.test.Test test.jar

mongodb数据库常用指令

详细安装看我文章http://blog.csdn.net/dreamzuora/article/details/78877898打开在bin目录下mongo.exe来操作数据库常用命令&#xff1a;show dbs //查看所有库use blog 使用指定的库show collections 查看所有的文档db.表名.find() 查询指定文档的数据db.表名.insert({…