CDH kerberos 认证,安全认证

  • 环境

           centos 7.4

           

  • 安装KDC服务
yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation

  •  修改配置文件  vi /etc/krb5.conf

默认如下

 修改为

# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = /etc/pki/tls/certs/ca-bundle.crtdefault_realm = JAST.COM
# default_ccache_name = KEYRING:persistent:%{uid}[realms]
JAST.COM = {kdc = hostname1admin_server = hostname1}[domain_realm].jast.com = JAST.COMjast.com = JAST.COM

 参数说明

[logging]:表示server端的日志的打印位置
[libdefaults]:每种连接的默认配置,需要注意以下几个关键的小配置
default_realm = HADOOP.COM 默认的realm,必须跟要配置的realm的名称一致。
udp_preference_limit = 1 禁止使用udp可以防止一个Hadoop中的错误
oticket_lifetime表明凭证生效的时限,一般为24小时。
orenew_lifetime表明凭证最长可以被延期的时限,一般为一个礼拜。当凭证过期之后, 
对安全认证的服务的后续访问则会失败。
[realms]:列举使用的realm。
kdc:代表要kdc的位置。
admin_server:代表admin的位置。
default_domain:代表默认的域名
[appdefaults]:可以设定一些针对特定应用的配置,覆盖默认配置。

  •  修改配置文件 /var/kerberos/krb5kdc/kadm5.acl 配置

原内容为  */admin@EXAMPLE.COM  *

修改为上面配置的域名

*/admin@JAST.COM  *
  • 修改配置文件 /var/kerberos/krb5kdc/kdc.conf 配置

默认为

修改为

[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]JAST.COM = {#master_key_type = aes256-ctsmax_renewable_life= 7d 0h 0m 0s acl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabsupported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}

  • 创建Kerberos数据库

需输入两遍你的密码即可

[root@fwqml006 ~]# kdb5_util create -r JAST.COM -s
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'JAST.COM',
master key name 'K/M@JAST.COM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key: 
Re-enter KDC database master key to verify: 

 创建完成再目录下有几个创建成功的文件,就是创建的数据文件

  • 创建Kerberos的管理账号
[root@xxx ~]# kadmin.local 
Authenticating as principal root/admin@JAST.COM with password.
kadmin.local:  addprinc admin/admin@JAST.COM #这里输入 addprinc admin/admin@JAST.COM
WARNING: no policy specified for admin/admin@JAST.COM; defaulting to no policy
Enter password for principal "admin/admin@JAST.COM":  #这里输入密码
Re-enter password for principal "admin/admin@JAST.COM":  #这里确认密码
Principal "admin/admin@JAST.COM" created.
kadmin.local:  exit #上面创建完成退出

如果使用 kadmin.local -q "addprinc admin/admin@JAST.COM" 启动的话,可以不需要输入kadmin.local

  • 将Kerberos服务添加到自启动服务,并启动krb5kdc和kadmin服务,查看状态
systemctl enable krb5kdc
systemctl enable kadmin
systemctl start krb5kdc
systemctl start kadmin
systemctl status krb5kdc
systemctl status kadmin

启动成功

  •  验证 kerberos 
[root@xxx ~]# kinit admin/admin@JAST.COM
Password for admin/admin@JAST.COM: #这里输入密码
[root@xxx ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin/admin@JAST.COMValid starting       Expires              Service principal
2019-08-05T14:18:54  2019-08-06T14:18:54  krbtgt/JAST.COM@JAST.COMrenew until 2019-08-12T14:18:54
  • 安装所有Kerberos客户端,集群中所有节点

所有节点执行

yum -y install krb5-libs krb5-workstation
  • 在Cloudera Manager Server服务器上安装额外的包
 yum -y install openldap-clients
  • 将KDC Server上的krb5.conf文件拷贝到所有Kerberos客户端
  • (注意:这里如果是自己复制过去,要注意权限问题,权限不够最终服务会因Kerberos认证不通过而启动失败)
scp /etc/krb5.conf root@10.248.161.17:/etc/

CDH集群启用Kerberos

  • 在KDC中给Cloudera Manager添加管理员账号
[root@fwqml006 ~]#  kadmin.local
Authenticating as principal admin/admin@JAST.COM with password.
kadmin.local:  addprinc cloudera-scm/admin@JAST.COM #这里输入cloudera-scm/admin@JAST.COM
WARNING: no policy specified for cloudera-scm/admin@JAST.COM; defaulting to no policy
Enter password for principal "cloudera-scm/admin@JAST.COM":  #这里输入密码
Re-enter password for principal "cloudera-scm/admin@JAST.COM":  #这里输入密码
Principal "cloudera-scm/admin@JAST.COM" created.
kadmin.local:  exit
  • 进入Cloudera Manager 管理页面启用 Kerberos

 

  • 全部勾选然后点击继续 

  • 填写方框中的信息,与上面配置文件中相同

  • 不建议让Cloudera Manager来管理krb5.conf, 点击“继续”

  •  .输入Cloudera Manager的Kerbers管理员账号,一定得和之前创建的账号一致,点击“继续”

  • 继续

 

  • 默认配置即可,点击继续

  • 选择重启集群,使配置生效

  •  这里要多等一会,可以去cm server日志中去查看进度

 启动集群报错参考 Socket Reader #1 for port 8022: readAndProcess from client:https://datamining.blog.csdn.net/article/details/98615398

 启动成功

  • 简单验证

 查看hdfs数据

 进入hbase shell 查看一下

 使用  kinit 进行授权即可使用, kinit xxx   ,xxx是你需要登陆的账号

 

创建账户详细使用参考:https://datamining.blog.csdn.net/article/details/98625330

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

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

相关文章

虚拟继承和虚表

普通继承和虚拟继承类的大小变化: 普通继承: 虚拟继承: 类A和类B大小为: 由此可见:1、类中静态成员不会影…

node.js Express框架入门

一、为什么要用Express框架&#xff1f; Node.js由于不需要另外的HTTP服务器&#xff0c;因此减少了一层抽象&#xff0c;给性能带了不少的提升&#xff0c;同时也因此提高了开发难度&#xff0c;实现一个POST数据的表单&#xff0c;例如&#xff1a;<form><input typ…

Kerberos 基本命令 - 持续更新

授权添加yarn账户 [rootxxx ~]# kadmin.local Authenticating as principal cloudera-scm/adminJAST.COM with password. kadmin.local: addprinc yarnJAST.COM WARNING: no policy specified for yarnJAST.COM; defaulting to no policy Enter password for principal &quo…

equal_range

equal_range 是C STL中的一种二分查找的算法&#xff0c;试图在已排序的[first,last)中寻找value&#xff0c;它返回一对迭代器i和j&#xff0c;其中i是在不破坏次序的前提下&#xff0c;value可插入的第一个位置&#xff08;亦即lower_bound&#xff09;&#xff0c;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 问题原因&#xff1a;是由于Yarn限制了用户id小于1000的用户提交作业&#xff1b; 解决方法&a…

node.js工程的结构

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

C++面试(七)

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

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建立的服务器时&#xff0c;会看到一个简单的页面&#xff0c;实际上它已经完成了许多透明的工作&#xff0c;当访问http://localhost:3000&#xff0c;浏览器会向服务器发送请求&#xff0c;包括请求的方法、路径、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提交任务&#xff0c;提示 exit code :10 异常&#xff0c;具体需要到容器日志中去查看 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的工具&#xff0c;PHP首发&#xff0c;随后出现了ASP、JSP都沿用这个模式&#xff0c;即建立一个HTML页面模版&#xff0c;插入可执行的代码。运行时动态生成HTML。缺点&#xff1a; 页面功能逻辑与页面布局…

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

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

HBase ACL管理 Hbase 权限管理

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

node.js ejs的视图模块引擎

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

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

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

Kerberos Hbase Api 操作

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

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

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

MySql索引的原理

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