安装kerberos认证的cdh环境

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 ./

2.4 下载到客户端机器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/75970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL基础 [六] - 内置函数+复合查询+表的内连和外连

内置函数一般要用select调用 内置函数 日期函数 current_date函数 current_date函数用于获取当前的日期。如下: current_time函数 current_time函数用于获取当前的时间。如下: now函数 now函数用于获取当前的日期时间。如下: date函数 dat…

CS内网渗透 - 如何通过冰蝎 Webshell 上线 Weblogic 服务器到 Cobalt Strike 并绕过杀软检测(360、火绒)?

目录 1. 冰蝎连接上 Weblogic 服务器如何上线到 Cobalt Strike 2. 服务器安装杀毒工具如何绕过杀软上线到 Cobalt Strike 2.1 杀软对 Webshell 命令执行的检测及绕过 2.2 杀软对 Cobalt Strike 上线木马的检测及绕过 2.3 杀软对这两方面的限制及综合绕过 3. 如何生成免杀…

[ctfshow web入门] web10

前置知识 cookie Cookie是网站存储在浏览器中的小数据片段,用于识别用户、保持登录状态或记住偏好设置。 也就是说,我以会员A的身份登录了网站,网站会发送一段cookie(会员卡)给我,上面写着会员卡A,下一次我再访问&am…

蓝桥杯:日期统计

文章目录 问题描述解法一递归解法二:暴力破解 问题描述 首先我们要了解什么是子序列,就是一个序列之中可以忽略元素但是不能改变顺序之后获得的序列就叫做子序列。 如"123"就是"11234"的子序列而不是"11324"的子序列 解法…

蓝桥杯 C/C++ 组历届真题合集速刷(一)

一、1.单词分析 - 蓝桥云课 &#xff08;模拟、枚举&#xff09;算法代码&#xff1a; #include <bits/stdc.h> using namespace std;int main() {string s;cin>>s;unordered_map<char,int> mp;for(auto ch:s){mp[ch];}char result_charz;int max_count0;fo…

重塑知识的引擎:人工智能如何改变知识的生产与传播

一、引言&#xff1a;知识的边界正在被人工智能重构 千百年来&#xff0c;人类对于“知识”的获取方式一直遵循着某种路径依赖&#xff1a;感知现实 → 归纳总结 → 文字表达 → 教育传承 → 学术沉淀。这一过程复杂而缓慢&#xff0c;需要经过代际的努力才能实现知识的积累与…

list的底层:

我们之前讲解了list&#xff0c;今天我们来看一下list的底层&#xff1a; list底层是一个双向带头循环的链表&#xff0c;之前我们学习数据结构的时候&#xff0c;我们就学过。 迭代器的封装&#xff1a; 我们看这个图片&#xff0c;我们的链表的指针可以达到链表的迭代器能力…

遵循IEC62304YY/T0664:确保医疗器械软件生命周期合规性

一、EC 62304与YY/T 0664的核心定位与关系 IEC 62304&#xff08;IEC 62304&#xff09;是国际通用的医疗器械软件生命周期管理标准&#xff0c;适用于所有包含软件的医疗器械&#xff08;如嵌入式软件、独立软件、移动应用等&#xff09;&#xff0c;其核心目标是确保软件的安…

【next函数python】`next()`函数

在Python中&#xff0c;next()函数结合生成器表达式用于高效地查找序列中第一个符合条件的元素。以下是如何理解和编写类似代码的步骤&#xff1a; 1. 生成器表达式 生成器表达式&#xff08;如 (e for e in energy3 if e ! 0)&#xff09;是一种惰性计算的迭代结构。它不会一…

[创业之路-364]:穿透表象:企业投资的深层逻辑与误区规避

前言&#xff1a; 透过现象看本质 企业一生与人生相似 看企业如同看人 三岁看大&#xff0c;七岁看老 三十年河东&#xff0c;三十年河西 企业也有品行、文化、气质、性格、赚钱、生命周期与赚钱曲线 投资公司的目的是未来赚钱&#xff0c;赚未来赚钱。投资创业中的企业主要看…

【C++】Stack Queue 仿函数

&#x1f4dd;前言&#xff1a; 这篇文章我们来讲讲STL中的stack和queue。因为前面我们已经有了string、vector和list的学习基础&#xff0c;所以这篇文章主要关注一些stack和queue的细节问题&#xff0c;以及了解一下deque&#xff08;缝合怪&#xff09;和priority_queue &am…

[实战] 天线阵列波束成形原理详解与仿真实战(完整代码)

天线阵列波束成形原理详解与仿真实战 1. 引言 在无线通信、雷达和声学系统中&#xff0c;波束成形&#xff08;Beamforming&#xff09;是一种通过调整天线阵列中各个阵元的信号相位和幅度&#xff0c;将电磁波能量集中在特定方向的技术。其核心目标是通过空间滤波增强目标方…

深圳漫云科技户外公园实景儿童剧本杀小程序:开启亲子互动新纪元

在亲子娱乐需求日益增长的当下&#xff0c;深圳漫云科技推出的户外公园实景儿童剧本杀小程序&#xff0c;凭借其创新玩法与丰富功能&#xff0c;为亲子家庭带来全新体验。该小程序融合户外探险、角色扮演与逻辑推理&#xff0c;不仅满足孩子好奇心&#xff0c;更提升其思维能力…

HOW - 如何测试 React 代码

目录 一、使用 React 测试库&#xff1a;testing-library/react二、使用测试演练场&#xff1a;testing-playground.com三、使用 Cypress 或 Playwright 进行端到端测试四、使用 MSW 在测试中模拟网络请求 一、使用 React 测试库&#xff1a;testing-library/react testing-li…

COBOL语言的网络安全

COBOL语言与网络安全&#xff1a;传统语言的新挑战 引言 COBOL&#xff08;Common Business-Oriented Language&#xff09;是一种早期编程语言&#xff0c;最初于1959年被开发出来&#xff0c;主要用于商业、金融和行政系统的处理。尽管年代久远&#xff0c;COBOL在大型机系…

通过世界排名第一的免费开源ERP,构建富有弹性的智能供应链

概述 现行供应链模式的结构性弱点凸显了对整个行业进行重塑的必要性。正确策略和支持可以帮助您重塑供应链&#xff0c;降低成本&#xff0c;实现业务转型。开源智造&#xff08;OSCG&#xff09;所推出的Odoo免费开源ERP解决方案&#xff0c;将供应链转化为具有快速响应能力的…

Android 开发中compileSdkVersion 和 targetSdkVersion

在 Android 开发中&#xff0c;compileSdkVersion 和 targetSdkVersion 是 build.gradle 文件中的两个关键配置&#xff0c;它们分别控制应用的编译行为和运行时兼容性。以下是它们的详细区别和用途&#xff1a; 1. compileSdkVersion&#xff08;编译版本&#xff09; 作用&a…

Qt QComboBox 下拉复选多选

Qt 中&#xff0c;QComboBox 默认只支持单选&#xff0c;但实际使用过程中&#xff0c;我们经常会碰到需要多选的情况&#xff0c;但是通过一些直接或者曲折的方法还是可以实现的。 1、通过 QListWidget 间接实现 这种方式是网上搜索最多的一种方式&#xff0c;也是相对来说比…

Selenium自动化:玩转浏览器,搞定动态页面爬取

嘿&#xff0c;各位爬虫爱好者和自动化达人们&#xff01;是不是经常遇到这种情况&#xff1a;信心满满地写好爬虫&#xff0c;requests一把梭&#xff0c;结果抓下来的HTML里&#xff0c;想要的数据空空如也&#xff1f;定睛一看&#xff0c;原来数据是靠JavaScript动态加载出…

天梯赛 L2-023 图着色问题

使用vector<vector<int>> g(N)去存储边&#xff0c;然后每次判断每个节点的邻节点是不是相同的颜色&#xff0c;需要注意的是不同的颜色一定需要为K种&#xff0c;不能多也不能少。 #include<bits/stdc.h> using namespace std; int main(){int n,m,k;cin&g…