文档章节

Hadoop的kerberos的实践部署

超人学院
 超人学院
发布于 2015/03/16 14:24
字数 904
阅读 229
收藏 3

1.安装:通过yum安装即可,组成KDC。

yum install -y krb5-server krb5-lib krb5-workstation

2.配置:Kerberos的配置文件只有两个。在Hadoop1中创建以下两个文件,并同步/etc/krb5.conf到所有机器。

  • /var/kerberos/krb5kdc/kdc.conf:包括KDC的配置信息。默认放在 /usr/local/var/krb5kdc。或者通过覆盖KRB5_KDC_PROFILE环境变量修改配置文件位置。
    配置示例:
    [kdcdefaults] kdc_ports = 88 kdc_tcp_ports = 88[realms] HADOOP.COM = {  master_key_type = aes128-cts  acl_file = /var/kerberos/krb5kdc/kadm5.acl  dict_file = /usr/share/dict/words  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab  max_renewable_life = 7d  supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal }说明:
    HADOOP.COM:是设定的realms。名字随意。Kerberos可以支持多个realms,会增加复杂度。本文不探讨。大小写敏感,一般为了识别使用全部大写。这个realms跟机器的host没有大关系。max_renewable_life = 7d 涉及到是否能进行ticket的renwe必须配置。master_key_type:和supported_enctypes默认使用aes256-cts。由于,JAVA使用aes256-cts验证方式需要安装额外的jar包。推荐不使用。acl_file:标注了admin的用户权限,需要用户自己创建。文件格式是      Kerberos_principal permissions [target_principal]  [restrictions]    支持通配符等。最简单的写法是    */admin@HADOOP.COM      *    代表名称匹配*/admin@HADOOP.COM 都认为是admin,权限是 *。代表全部权限。admin_keytab:KDC进行校验的keytab。后文会提及如何创建。supported_enctypes:支持的校验方式。注意把aes256-cts去掉。

  • /etc/krb5.conf:包含Kerberos的配置信息。例如,KDC的位置,Kerberos的admin的realms 等。需要所有使用的Kerberos的机器上的配置文件都同步。这里仅列举需要的基本配置。详细介绍参考:krb5conf
    配置示例:
    [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 max_life = 12h 0m 0s forwardable = true udp_preference_limit = 1[realms] HADOOP.COM = {  kdc = hadoop1:88  admin_server = hadoop1:749  default_domain = HADOOP.COM }[appdefaults]说明:
    [logging]:表示server端的日志的打印位置[libdefaults]:每种连接的默认配置,需要注意以下几个关键的小配置   default_realm = HADOOP.COM 默认的realm,必须跟要配置的realm的名称一致。   udp_preference_limit = 1 禁止使用udp可以防止一个Hadoop中的错误[realms]:列举使用的realm。   kdc:代表要kdc的位置。格式是 机器:端口   admin_server:代表admin的位置。格式是 机器:端口   default_domain:代表默认的域名[appdefaults]:可以设定一些针对特定应用的配置,覆盖默认配置。

  • 初始化并启动:完成上面两个配置文件后,就可以进行初始化并启动了。
    A.初始化数据库:在hadoop1上运行命令。其中-r指定对应realm。
    kdb5_util create -r HADOOP.COM -s如果遇到数据库已经存在的提示,可以把/var/kerberos/krb5kdc/目录下的principal的相关文件都删除掉。默认的数据库名字都是principal。可以使用-d指定数据库名字。(尚未测试多数据库的情况)。
    B.启动kerberos。如果想开机自启动,需要stash文件。
    /usr/local/sbin/krb5kdc /usr/local/sbin/kadmind至此kerberos,搭建完毕。

  • 搭建Slave KDCs
    为了在生产环境中获得高可用的KDC。还需要搭建Slave KDCs。 TODO 经过各种努力还是不能成功同步,先放下。

  • 测试kerberos,搭建完毕后,进行以下步骤测试Kerberos是否可用。
    A. 进入kadmin在kadmin上添加一个超级管理员账户,需要输入passwd
    kadmin.localaddprinc admin/adminB. 在其它机器尝试通过kadmin连接,需要输入密码
    kinit admin/adminkadmin 如果能成功进入,则搭建成功。

© 著作权归作者所有

共有 人打赏支持
超人学院
粉丝 110
博文 335
码字总数 388917
作品 0
昌平
CTO(技术副总裁)
私信 提问
HAS-插件式Kerberos认证框架

HAS解决方案要点 Hadoop服务以及服务之间继续使用原先的Kerberos的认证机制; 在集群部署的时候可以把节点使用的Keytab放到可靠的节点上, 集群运行时,集群内的节点只有通过认证后才能正常使...

寒沙牧
2017/12/25
0
0
开源大数据平台如何才能保证身份认证安全?

在古希腊神话中,Kerberos是住在冥河岸边的三头犬,负责看守冥界的入口。而在信息技术界,Kerberos是一种被广泛采用的网络认证协议,通过对称加密的技术,保护网络系统的安全。特别是在Hadoo...

charliewei
12/11
0
0
Cloudera大数据培训!!

Cloudera Apache Hadoop管理员际同步2016最新鲜的课程 Cloudera Apache Hadoop管理员国际同步最新鲜的课程(6月13-16日)北京站将要开班,有需要学习的同学抓紧时间报名,越早报名优惠越多!...

一只树懒
2016/05/31
0
0
CDH 的Kerberos认证配置

最近因为项目需要,需要对用户权限做限制,最终选择了kerberos+sentry+hue模式来管理用户,但是这个kerberos实在搞得我头大的不行,在网上找各种资料,怎么配置都不行,后来索性静下心来研究...

hblt-j
前天
0
0
Hive+LDAP+Sentry

介绍 hadoop生态里面常用的安全认证无非两种kerberos和ldap,kerberos的繁琐已经领教过了,ldap还好在生产中也用过,看来hive+ldap+sentry用起来应该比较顺手一些。hive+sentry的配置见Sentr...

China_OS
2017/04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

对接比特币钱包的PHP开发包

BtcTool是一个基于第三方服务和离线裸交易实现的PHP比特币应用开发包,适合不希望部署本地 节点旳PHP开发者,开发包主要包含以下特性: 利用第三方服务获取指定地址的utxo集合 离线生成消费裸...

汇智网教程
8分钟前
0
0
【自用】 VHD to VHDX

VHDX: 在VHD 2TB 的基础上提供 64TB的容量。 支持逻辑扇区大小为 4KB,和每块的大小为 256MB,来优化虚拟磁盘性能。 比VHD提供更高的安全性、可靠性和性能。 convert-VHD –path d:\Hyper-v...

Tensor丨思悟
20分钟前
0
0
30 岁转行做Python开发晚吗?而且是零基础

最近有小伙伴问小编,30 岁转行做Python开发晚吗? 小编想说,其实无论男女,只要想学,有这个动力,就直接去行动。无论年龄,无论性别,只要你想一直勇往直前,那么想做的就去做吧~这里有一...

糖宝lsh
31分钟前
7
0
详解Spring中的Profile

前言 由于在项目中使用Maven打包部署的时候,经常由于配置参数过多(比如Nginx服务器的信息、ZooKeeper的信息、数据库连接、Redis服务器地址等),导致实际现网的配置参数与测试服务器参数混淆...

watermelon11
46分钟前
4
0
phper必知必会(二)

  1.说说你对进程,线程以及协程的理解      进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础。进程是程序基本执行的实体。进程与进程之间是独立的,拥有完全独立...

SEOwhywhy
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部