阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Apache Hadoop配置Kerberos指南

154次阅读
没有评论

共计 3431 个字符,预计需要花费 9 分钟才能阅读完成。

通常,一个 Hadoop 集群的安全使用 kerberos 来进行保障。在启用 Kerberos 后,需要用户进行身份验证。用户通过验证后可以使用 GRANT/REVOKE 语句来进行基于角色的访问控制。本文介绍一下在 CDH 集群中如何配置 kerberos。

1.KDC 安装和配置脚本

脚本 install_kerberos.sh 可以完成 kerberos 服务器所有安装配置和相应的参数配置

#!/bin/bash

#
echo “ready to install and config kerberos”

# 使用 root 权限运行
cd /root
chmod 755 /etc
chmod 755 /etc/hadoop

# 安装 kerberos 组件
yum install -y krb5-server
yum install  -y openldap-clients
yum -y install krb5-workstation

# 在配置文件中更新域名和主机名

# 设置域名
sed -i.orig ‘s/EXAMPLE.COM/CLOUDERA/g’ /etc/krb5.conf
# 设置 kerberos server 主机名
sed -i.m1 ‘s/kerberos.example.com/quickstart.cloudera/g’ /etc/krb5.conf
# 设置域名为 cloudera
sed -i.m2 ‘s/example.com/cloudera/g’ /etc/krb5.conf

# 从 Oracle 官网下载 JDK 到 root 目录

mkdir jce
cd jce
unzip ../UnlimitedJCEPolicyJDK7.zip
# 保存原始 jar 文件做备份
cp /usr/java/jdk1.7.0_67-cloudera/jre/lib/security/local_policy.jar local_policy.jar.orig
cp /usr/java/jdk1.7.0_67-cloudera/jre/lib/security/US_export_policy.jar US_export_policy.jar.orig

# 将新的 jar 包拷贝进来
cp /root/jce/UnlimitedJCEPolicy/local_policy.jar /usr/java/jdk1.7.0_67-cloudera/jre/lib/security/local_policy.jar
cp /root/jce/UnlimitedJCEPolicy/US_export_policy.jar /usr/java/jdk1.7.0_67-cloudera/jre/lib/security/US_export_policy.jar

# 创建 kerberos 数据库
echo suggested password is cloudera

kdb5_util create -s

# 更新 kdc.conf
sed -i.orig ‘s/EXAMPLE.COM/CLOUDERA/g’ /var/kerberos/krb5kdc/kdc.conf
# 票据文件中增加一行
sed -i.m1 ‘/dict_file/a max_life = 1d’ /var/kerberos/krb5kdc/kdc.conf
# 增加可创建的最大文件数
sed -i.m2 ‘/dict_file/a max_renewable_life = 7d’ /var/kerberos/krb5kdc/kdc.conf
# 将新增加的两行缩进
sed -i.m3 ‘s/^max_/  max_/’ /var/kerberos/krb5kdc/kdc.conf

# acl 文件需要 admin 权限
sed -i ‘s/EXAMPLE.COM/CLOUDERA/’ /var/kerberos/krb5kdc/kadm5.acl

# 修改 kdc.conf 文件
sed -i.m3 ‘/supported_enctypes/a default_principal_flags = +renewable, +forwardable’ /var/kerberos/krb5kdc/kdc.conf
# 设置缩进
sed -i.m4 ‘s/^default_principal_flags/  default_principal_flags/’ /var/kerberos/krb5kdc/kdc.conf

# 启动 krb5kdc 和 kadmin 服务
service krb5kdc start
service kadmin start

kadmin.local <# cloudera-scm/admin@YOUR-LOCAL-REALM.COM

# 在集群中添加 admin 用户
kadmin.local <

2.Cloudera Manager Kerberos 配置

在运行脚本之后,我们现在拥有一个正在运行的 Kerberos 服务器,可以使用它来保护 Hadoop 集群。ClouderaManager 封装了大部分工作,我们只需要配置一些参数值。

通过浏览器访问 http://<your.cm.manager>:7180 登录到 Cloudera Manager。

Apache Hadoop 配置 Kerberos 指南 直接进入管理 > 安全 >Kerberos,如下图所示

Apache Hadoop 配置 Kerberos 指南

点击“启用 Kerberos”按钮

列表中这四个选项全部已经由运行的脚本完成。然后选择“继续”。

Apache Hadoop 配置 Kerberos 指南

Kerberos 向导需要知道脚本的配置项的值。需要我们填写以下选项:

  • KDC 服务器主机:<your_kdc_server>
  • Kerberos 安全领域:<your_safe_realm>
  • Kerberos 加密类型:aes256-cts-hmac-sha1-96

点击“继续”。

Apache Hadoop 配置 Kerberos 指南

勾选通过 Cloudera Manager 管理 krb5.conf。点击继续

Apache Hadoop 配置 Kerberos 指南

输入创建的用户名和密码。点击继续,之后提示成功可需要重启集群。重启后我们就构建了一个使用 kerberos 进行安全保护的 hadoop 集群。

3. 启动 kerberos 后集群使用方式

未开启 kerberos 时,hdfs 用户是 hdfs 的超级用户,用户可以通过 su hdfs 来获取对 hdfs 操作的权限,启用 kerberos 后使用方式如下:

kinit hdfs@HADOOP

使用 hdfs 命令进行验证

hadoop fs -mkdir /kongc
hadoop fs -rmdir /kongc

使 Kerberos·token 无效

kdestroy

现在已经成功构建了一个正在运行的 Kerberos 集群!

Hadoop2.3-HA 高可用集群环境搭建  http://www.linuxidc.com/Linux/2017-03/142155.htm

Hadoop 项目之基于 CentOS7 的 Cloudera 5.10.1(CDH)的安装部署  http://www.linuxidc.com/Linux/2017-04/143095.htm

Hadoop2.7.2 集群搭建详解(高可用)http://www.linuxidc.com/Linux/2017-03/142052.htm

使用 Ambari 来部署 Hadoop 集群(搭建内网 HDP 源)http://www.linuxidc.com/Linux/2017-03/142136.htm

Ubuntu 14.04 下 Hadoop 集群安装  http://www.linuxidc.com/Linux/2017-02/140783.htm

CentOS 6.7 安装 Hadoop 2.7.2  http://www.linuxidc.com/Linux/2017-08/146232.htm

Ubuntu 16.04 上构建分布式 Hadoop-2.7.3 集群  http://www.linuxidc.com/Linux/2017-07/145503.htm

CentOS 7 下 Hadoop 2.6.4 分布式集群环境搭建  http://www.linuxidc.com/Linux/2017-06/144932.htm

Hadoop2.7.3+Spark2.1.0 完全分布式集群搭建过程  http://www.linuxidc.com/Linux/2017-06/144926.htm

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

  本文永久更新链接地址 :https://www.linuxidc.com/Linux/2018-02/150959.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3431字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中