Cloudera Hadoop 启用Kerberos认证

Cloudera Hadoop 启用kerberos

官方文档:https://www.cloudera.com/documentation/enterprise/5-8-x/topics/cm_sg_intro_kerb.html#xd_583c10bfdbd326ba--6eed2fb8-14349d04bee--76dd


环境信息

  • 操作系统系统:Centos7
  • JDK:1.7
  • CDH 版本:5.8.4

操作步骤

0.在集群节点/etc/hosts文件中添加kdc服务器。
1.在集群内所有节点安装kerberos client
$ sudo yum install krb5-workstation krb5-libs
2,确保kdc.conf文件中包含以下几项
  • max_life = 1d
  • max_renewable_life = 7d
  • kdc_tcp_ports = 88
3,如果在您的非安全集群中启用了YARN ResouseManager HA,那么在启用Kerberos之前,应该在YARN中清除StateStore znode。
  • stop yarn service.
  • Go to the YARN service and select Actions > Format State Store.
4.Cloudera Manager Server 安装 openldap-clients
$ sudo yum install openldap-clients
5,创建cloudera-scm/admin用户
$ kadmin -p admin/admin
addprinc -pw <Password> cloudera-scm/admin@HADOOP.COM
6,点击Administration->Security->Enable Kerberos
7,The four checklist items were all completed by the script you’ve already run. Check off each item and select “Continue.”
8,The Kerberos Wizard needs to know the details of what the script configured. Fill in the entries as follows:
KDC Server Host: <KDC host>
Kerberos Security Realm: HADOOP.COM
Kerberos Encryption Types: aes128-cts-hmac-sha1-96
Maximum Renewable Life for Principals: 7 days

Click “Continue.”
9,Do you want Cloudera Manager to manage the krb5.conf files in your cluster? check “Yes”
10,Advanced Configuration Snippet (Safety Valve) for the Default Realm in krb5.conf: kdc = <slave kdc host> ,and then select “Continue.”
11,The Kerberos Wizard is going to create Kerberos principals for the different services in the cluster. To do that it needs a Kerberos Administrator ID.
  • The ID created is: cloudera-scm/admin@HADOOP.COM
  • The screen shot shows how to enter this information. Recall the password is: <cloudera-scm/admin password>
12,OK, you’re ready to let the Kerberos Wizard do its work. so, you can safely select “I’m ready to restart the cluster now” and then click “Continue.”
13,修改配置项
  • 在nodemanager节点执行:sudo rm -rf /hdfs*/yarn/nm/usercache/*
  • YARN->Configration->min.user.id修改 1000 -> 500
  • 删除 YARN->Configration->banned.users 中的yarn,hdfs
  • HDFS->Configration->Cluster-wide Advanced Configuration Snippet (Safety Valve) for core-site.xml添加hadoop.proxyuser.hive.hosts=*,hadoop.proxyuser.hive.groups=*

问题排查:

问题描述:
Requested user hdfs is not whitelisted and has id 598,which is below the minimum allowed 1000

解决方案:修改min.user.id值 1000 -> 500

问题描述:
main : run as user is dengsc
main : requested yarn user is dengsc
Can't create directory /hdfs01/yarn/nm/usercache/dengsc/appcache/application_1497517106808_0001 - Permission denied

解决方案:在nodemanager节点执行:sudo rm -rf /hdfs/yarn/nm/usercache/(未启用kerberos前目录权限为yarn:yarn,启用后变成dengsc:yarn,导致权限不兼容)

问题描述:
Error: Failed to open new session: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: hive is not allowed to impersonate hive

If the data in your system is not owned by the Hive user (i.e., the user that the Hive metastore runs as), then Hive will need permission to run as the user who owns the data in order to perform compactions. If you have already set up HiveServer2 to impersonate users, then the only additional work to do is assure that Hive has the right to impersonate users from the host running the Hive metastore. This is done by adding the hostname to hadoop.proxyuser.hive.hosts in Hadoop's core-site.xml file. If you have not already done this, then you will need to configure Hive to act as a proxy user. This requires you to set up keytabs for the user running the Hive metastore and add hadoop.proxyuser.hive.hosts and hadoop.proxyuser.hive.groups to Hadoop's core-site.xml file.

参考链接:https://community.hortonworks.com/questions/34468/hive-impersonation-not-working-after-hdp-upgrade-t.html
https://cwiki.apache.org/confluence/display/Hive/Hive+Transactions#HiveTransactions-ConfigurationValuestoSetforCompaction

解决方案:/etc/hadoop/conf/core-site.xml添加参数hadoop.proxyuser.hive.hosts=*,hadoop.proxyuser.hive.groups=*

问题描述:
YARN Container Usage Aggregation
Failed to run MapReduce job to aggregate YARN container usage metrics.

解决方案:删除 YARN->Configration->banned.users 中的yarn,hdfs.

问题描述
# 关于Hadoop安全集群和非安全集群间Distcp的使用
需求:有两个集群,网络中节点是互通的,现在要用distcp进行文件迁移,但一个集群是非安全集群,一个是配置了kerberos认证的安全集群,怎么执行呢?
前提:两个集群都做了HA配置,所以要通过如下命令查看活动Namenode并获取其IP地址;
    HA配置查看活动Namenode:hdfs haadmin -getServiceState nn1或nn2(namenode名);

解决方案:hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true -D dfs.checksum.type=CRC32 webhdfs://namenodeIP:50070/data/ /data
命令中直接回退安全配置,同时采用webhdfs来传输,不过这个采用restfull机制,有IO阻塞风险。
hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true webhdfs://namenodeIP:50070/flume/data/ /data/
大文件传输时,去掉校验-D dfs.checksum.type=CRC32就正常。


问题思考

  • CM页面修改kerberos配置后需要停止整个集群才能分发kerberos文件。 --需停止集群所有服务包括CM monitor才能分发krb5.conf文件。
  • 页面不支持配置KDC高可用? --可通过自定义配置页添加高可用kdc,需重启集群。
  • kerberos用户属组问题? --继承原用户及ACL配置。
  • 可能引发组件权限问题?
  • 各组件如何平滑过渡?
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容