Overview

Kerberos是一个第三方认证机制,用户和服务(known as principals)通过kerberos server (known as the Key Distribution Center, or KDC)认证彼此。KDC有三部分:

  • A database of principals and their Kerberos passwords
  • An Authentication Server (AS) which performs the initial authentication and isssues a TGT
  • A Ticket Granting Server (TGS) that issues subsequent service tickets based on the initial TGT

User principal向AS请求认证。AS返回用用户kerberos password加密的TGT。直到ticket过期,用户都可以用该TGT向TGS申请service tickets。

由于cluster resource(hosts or services)不能每次提供password来解密TGT,他们使用keytab,一种从数据库中导出并存储在本地、包含resource principal's authentication credentials的特殊文件。

安装和配置 KDC

  • 启动Kerberos 认证需要安装 KDC 服务器和必要的软件。安装KDC 的命令可以在任何机器上执行。
yum -y install krb5-server krb5-lib krb5-auth-dialog krb5-workstation
  • 接着,在集群中的其他节点上安装Kerberos client和命令
yum -y install krb5-lib krb5-auth-dialog krb5-workstation
  • 编辑 KDC 配置的realms,AD(active directory)

  krb5.conf 文件包含 KDCs、admin 服务器的地址,是当前 realm 和 Kerberos 应用的默认配置,该配置将主机名映射到 Kerberos realms。krb5.conf一般在/etc/krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log [libdefaults]
default_realm = HADOOP.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true [realms]
HADOOP.COM = {
kdc = node1.hadoop.com
admin_server = node1.hadoop.com
} AD.COM = {
kdc = windc.ad.com
admin_server = windc.ad.com
} [domain_realm]
.hadoop.com = HADOOP.COM
hadoop.com = HADOOP.COM
.ad.com = AD.COM
ad.com = AD.COM [capaths]
AD.COM = {
HADOOP.COM = .
}

realms: HADOOP_COM下的 kdc, admin_server是我们安装KDC的主机地址,AD.COM下的是 Domain Controller主机地址。

domain_realm: 提供domain name 或者主机名字到kerberos realms名字的转换。两者都必须小写。

capaths: cross-realm authentication中,不同 realms 之间需要数据库去创建authentication paths。 这部分定义存储。

  • 编辑 kdc.conf,默认在 /var/Kerberos/krb5kdc/kdc.conf。包含 KDC 配置信息,包括发放 Kerberos tickets 时的默认值。
[realms]
HADOOP.COM = {
#master_key_type = aes256-cts
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}

创建数据库和第一个administrator

  • 创建 Kerberos database. -s表明将数据库的master server key存在隐藏文件stash file中
kdb5_util create -s
  • 添加admin到ACL文件 (编辑 /var/kerberos/krb5kdc/kadm5.acl)
*/admin@EXAMPLE.COM *
  • 创建第一个administrator.
kadmin.local -q "addprinc <username>/admin"
  • 启动 Kerberos
service krb5kdc start
service kadmin start

验证安装

# enter kadmin shell
kadmin.local
kadmin.local: listprincs # enter kadmin
kadmin
kadmin: Client not found in Kerberos database kinit <username>/admin klist kadmin

其他Kerberos管理命令

  • kadmin: kadmin provides for the maintenance of Kerberos principals, password policies, and service key tables (keytabs).
  • kadmind
  • kdb5_util: allows an administrator to perform maintenance procedures on the KDC database
  • kdb5_ldap_util
  • krb5kdc
  • kprop
  • kpropd
  • kproplog
  • ktutil:The ktutil command invokes a command interface from which an administrator can read, write, or edit entries in a keytab or Kerberos V4 srvtab file.
  • k5srvutil
  • sserver

kadmin and kadmin.local are command-line interfaces to the Kerberos V5 administration system. They provide nearly identical functionalities; the difference is that kadmin.local directly accesses the KDC database, while kadmin performs operations using kadmind

[Kerberos] How to Kerberize an Hadoop Cluster的更多相关文章

  1. Command-line tools can be 235x faster than your Hadoop cluster

    原文链接:http://aadrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html Introduc ...

  2. kettle添加hadoop cluster时报错Caused by: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: hadoop:password@node56:9000

    完整报错是: Caused by: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: ...

  3. Hadoop Cluster 安装

    本篇源自Hadoop官网,先将中文翻译如下. 目标 本文章主要是描述如何安装和配置几个节点的Hadoop clusters,甚至于数以千计的节点数.为了了解详细的安装步骤,需要先了解如何安装在单台机器 ...

  4. Hadoop:操作 Hadoop Cluster

    启动Hadoop 当完成所有的必要配置后,将HADOOP_CONF_DIR目录中的所有配置文件复制到所有机器,建议将HDFS和YARN后台进程一不同的用户身份运行,比如运行HDFS进程们的用户为hdf ...

  5. Hadoop: Hadoop Cluster配置文件

    Hadoop配置文件 Hadoop的配置文件: 只读的默认配置文件:core-default.xml, hdfs-default.xml, yarn-default.xml 和 mapred-defa ...

  6. HADOOP cluster some issue for installation

    给namenode搭建了HA,然后根据网上的配置也配置了secondary namenode, 但是一直没有从日志中看到启动secondnary namenode,当然进程也没有. 找了很多资料,按照 ...

  7. How to install Hadoop Cluster

    https://dwbi.org/etl/bigdata/183-setup-hadoop-cluster https://www.linode.com/docs/databases/hadoop/h ...

  8. Setting up a Hadoop cluster - Part 1: Manual Installation

    http://gbif.blogspot.com/2011/01/setting-up-hadoop-cluster-part-1-manual.html

  9. a completely rewritten architecture of Hadoop cluster

    https://www.ibm.com/developerworks/library/bd-yarn-intro/

随机推荐

  1. IEnumerable 遍历用法

    咋一看到IEnumerable这个接口,我们可能会觉得很神奇,在一般的编程时,基本上我们是想不到去用它的,可是,俗话说得好,存在便是道理,那么,它对我们来说,能够带来哪些奇妙的事情呢? 要想弄懂它,我 ...

  2. [U3D 画起重机,绑脚本和控制它运动的基本操作]

    之前在学习Unity3D,不知为何网上的教学资源真是少啊...我某段时间还卡在不知如何让物体绑个脚本自动运动.. 之所以要学习U3D是因为导师让我做的IOS项目里有个需要模拟起重机,从而控制真实起重机 ...

  3. hihoCoder #1379 Emulator

    hihoCoder Challenge 23, Prob. A 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 有一个\(n\)个点的无向正权图\(G\),这个图是连通的, ...

  4. codevs 1229 数字游戏(可重集的全排列)

    传送门 Description Lele 最近上课的时候都很无聊,所以他发明了一个数字游戏来打发时间.  这个游戏是这样的,首先,他拿出几张纸片,分别写上0到9之间的任意数字(可重复写某个数字),然后 ...

  5. Error=Bias+Variance

    首先 Error = Bias + Variance Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输 ...

  6. How to set up an FTP server on Ubuntu 14.04

    How to set up an FTP server on Ubuntu 14.04 Setting up a fully-functional and highly secure FTP serv ...

  7. [Java]double初始化问题

    如下: 1. 直接初始化 double[][] embossFilter = {{-1/9, 0, 1/9}, {-1/9, 1/9, 1/9}, {-1/9, 0, 1/9}}; 2. 赋值初始化 ...

  8. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  9. angular 兼容ie7 实现

    <script src="~/Content/js/angular.min.js"></script><script src="~/Cont ...

  10. Windows7、8无法访问其他计算机共享盘

    Windows7.8无法访问其他计算机共享盘 WIN7 访问共享的时候提示用户名和密码不正确,在XP系统上可以正常访问 一.win+r   gpedit.msc    进行组策略如图所示 二.wind ...