1、服务端安装
1.1 安装wget
yum -y install wget
由于本地已安装过wget,所以显示Nothing to do
1.2 进入 home 目录
cd /home
1.3 下载centos6.7.iso文件,并挂载
wget https://archive.kernel.org/centos-vault/6.7/isos/x86_64/CentOS-6.7-x86_64-bin-DVD1.iso# 并挂载到mnt目录
mount -o loop /home/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/
1.4 下载 cloudera/quickstart:5.5.0-0-beta 镜像,并启动
docker pull cloudera/quickstart:5.5.0-0-betadocker run --name cdh -idt --hostname=quickstart.cloudera --privileged=true -p 8888:8888 -p 80:80 -p 88:88 -p 88:88/udp -p 8020:8020 -p 8022:8022 -p 7180:7180 -p 21050:21050 -p 50070:50070 -p 50075:50075 -p 50010:50010 -p 8990:8990 -p 1004:1004 -p 50020:50020 -p 8890:8890 -p 60010:60010 -p 10000:10000 -p 10002:10002 -p 1006:1006 -p 25010:25010 -p 25020:25020 -p 18088:18088 -p 8088:8088 -p 19888:19888 -p 7187:7187 -p 11000:11000 -v /mnt/:/mnt/ cloudera/quickstart:5.5.0-0-beta /usr/bin/docker-quickstart
1.5 进入容器,设置时区,并启动ntpd
docker exec -it cdh /bin/bash
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #输入y
echo 'Asia/Shanghai' >/etc/timezone
service ntpd start
1.6 在容器中设置yum的源为下载iso文件
mkdir /root/repo
mv /etc/yum.repos.d/*repo /root/repo/
cd /etc/yum.repos.d/
vi local.repo
# 写入以下内容
[base]
name=kuhn
baseurl=file:///mnt/
enable=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6# 查看当前系统有效的源
yum repolist
yum clean all && yum makecache fast
1.7 执行yum下载需要的kerberos相关库,并执行 /home/cloudera/kerberos,进行验证
yum install -y krb5-server krb5-lib krb5-workstation krb5-libs krb5-workstation krb5-auth-dialog gcc-c++
注:在这里需要注意控制台打印的输出信息
Success! Kerberos is now running. You can enable Kerberos in a Cloudera Manager
cluster from the drop-down menu for that cluster on the CM home page. It will
ask you to confirm that this script performed the following steps:* set up a working KDC.* checked that the KDC allows renewable tickets.* installed the client libraries.* created a proper account for Cloudera Manager.Then, it will prompt you for the following details (accept defaults if not
specified here):KDC Type: MIT KDCKDC Server Host: quickstart.clouderaKerberos Security Realm: CLOUDERALater, it will prompt you for KDC account manager credentials:Username: cloudera-scm/admin (@ CLOUDERA)Password: cloudera
1.8 启动cdh集群
/home/cloudera/cloudera-manager --express --force
1.9 进入cdh manager
# 浏览器打开
http://IP:7180
Username: cloudera
Password: cloudera
1.10 进入管理,security,启用kerberos
1.11 勾选4个步骤
1.12 继续填写信息,这里的信息和控制台中输出的内容一致(一模一样)
KDC Type: MIT KDC
KDC Server Host: quickstart.cloudera
Kerberos Security Realm: CLOUDERA
1.13 不要勾选“通过 Cloudera Manager 管理 krb5.conf” 继续
1.14 填写account manager凭据,需要与控制台输出内容一致,填写后继续
Later, it will prompt you for KDC account manager credentials:Username: cloudera-scm/admin (@ CLOUDERA)
Password: cloudera
# 注意:
# 请手动输入,不要复制粘贴
# 请手动输入,不要复制粘贴
# 请手动输入,不要复制粘贴
# 复制粘贴会在下一步报错
1.15 导入KDC account manager 凭据,继续
1.16 确认主体
1.17 配置端口,勾选准备好启动集群
1.18 等待重启完成,第一条报错,是因为原本没有启动任何服务
1.19 kerberos启动完成
1.20 点击完成,查看主页
2 服务端生成客户端使用的票据
2.1 登录服务器,进入容器
docker exec -it cdh bash
2.2 通过kb命令,生成keytab
kadmin.local
# 查看用户列表
listprincs
# 提取主体
xst -k hive.keytab -norandkey hive/quickstart.cloudera@CLOUDERA
# 输入q退出
2.3 拷贝keytab和krb5.conf到宿主机
docker cp cdh:/home/hive.keytab ./
docker cp cdh:/etc/krb5.conf ./