大数据平台-kerberos安装部署文档
更新时间:2024-02-01 23:48:01 阅读量: 教育文库 文档下载
- 大数据平台是什么推荐度:
- 相关推荐
1. 环境准备
1.1. 操作系统
本次安装部署要求在操作系统为CentOS release 6.5 (Final)的版本下进行部署,所以在安装部署kerberos之前请先确保操作系统为以上版本,并且集群中各机器已做时钟同步。
本次安装部署以csdm-hadoop-04作为主kdc服务器,以csdm-hadoop-05作为从kdc服务器,以csdm-hadoop-03作为客户端。一般不建议在服务器上再安装其他应用程序,比如hadoop。但为了节省资源本次安装在这三台机器均已安装hadoop相关软件。
1.2. 创建操作用户
创建操作系统hdfs、yarn、mapred用户,并使其归属于hadoop用户组: adduserhdfs-g Hadoop adduser yarn -g Hadoop addusermapred-g Hadoop
1.3. 配置hosts文件
为各台机器修改/etc/hosts文件,将真实ip与主机名对应配置,服务端与客户端均需配置,形如:(不能存在127.0.0.1的配置,否则hadoop进行kerberos验证时将会出错)
1.4. 关闭防火墙
执行以下命令关闭防火墙:
serviceiptables stop 出现以下界面表示关闭成功
1.5. 注册服务与端口的对应
在/etc/service文件最后增加以下信息,以便后续使用:
krb5_prop 754/tcp # Kerberos slave propagation 2. 安装配置Kerberos
2.1. 安装rpm包
? 以root用户登录并创建目录存放安装包:
mkdir /var/kerberos ? 上传安装包文件到创建的目录,包括
krb5-libs-1.10.3-10.el6_4.6.x86_64.rpm、krb5-server-1.10.3-10.el6_4.6.x86_64.rpm(客户端可不安装)、krb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm ? 执行安装命令:
rpm -ivhkrb5-libs-1.10.3-10.el6_4.6.x86_64.rpm rpm -ivhkrb5-server-1.10.3-10.el6_4.6.x86_64.rpm【客户端可不安装】 rpm -ivhkrb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm ? 查看上述包是否已安装成功:
rpm –qa krb5*
若出现以下情况则代表安装成功。
2.2. 配置主KDC服务器 2.2.1. 设置全局环境变量
需要以root身份登录系统在/etc/profile末尾增加配置文件的全局环境变量: export KRB5_CONFIG=/etc/krb5.conf
export KRB5_KDC_PROFILE=/var/kerberos/krb5kdc/kdc.conf
保存后并执行source /etc/profile 使之生效。
2.2.2. 配置krb5.conf
执行vi编辑/etc/krb5.conf,内容如下:
[libdefaults]
default_realm = ERICSSON.COM dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true
[realms]
ERICSSON.COM = { kdc = csdm-hadoop-04 kdc = csdm-hadoop-05
admin_server =csdm-hadoop-04 }
[domain_realm]
.ericsson.com = ERICSSON.COM ericsson.com = ERICSSON.COM
2.2.3. 配置kdc.conf
执行vi编辑/var/kerberos/krb5kdc/kdc.conf,内容如下: [kdcdefaults]
Kdc_ports=750,88 [realms]
ERICSSON.COM ={ kadmind_port = 749 max_life=10h 0m 0s
max_renewable_life=7d 0h 0m 0s
database_name=/var/kerberos/krb5kdc/principal admin_keytab=/var/kerberos/krb5kdc/kadm5.keytab acl_file=/var/kerberos/krb5kdc/kadm5.acl
key_stash_file=/var/kerberos/krb5kdc/.k5.ERICSSON.COM } [logging]
default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
集群机器如果开启selinux,请在机器上执行restorecon -R -v /etc/krb5.conf
2.2.4. 生成数据库
在主KDC服务器上执行以下命令创建数据库,在执行的过程中会提示输入密码和确认密码,两次输入相同的密码即可:
kdb5_util create -r ericsson.com –s
等待片刻后在提示输入密码界面输入密码后会出现以下界面:
2.2.5. 创建管理用户
运行管理入口命令:
kadmin.local 在提示符下执行以下命令
addprinc kadmin/admin@ERICSSON.COM addprinc kadmin/changepw@ERICSSON.COM
会提示输入密码,输入两次一样的密码后会提示成功创建。
将主体添加至密钥文件中
ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/admin ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/changepw
2.2.6.
启动krb5kdc 和kadmind服务
执行以下命令启动krb5kdc和kadmind服务:
krb5kdcstart kadmind 出现以下界面表示启动成功
2.3. 配置从KDC服务器
2.3.1. 为从kdc服务器创建创建授权票证
每一个kdc服务器都需要一个host票证,用于在迁移数据库数据市在各kdc服务器之间进行交互验证。注意,创建host票据需要在主kdc服务器上执行而不是在从kdc服务器。在csdm-hadoop-04上执行以下命令创建票证:
kadmin addprinc –randkeyhost/csdm-hadoop-04@ERICSSON.COM addprinc –randkey host/csdm-hadoop-05@ERICSSON.COM ktaddhost/csdm-hadoop-05@ERICSSON.COM
2.3.2. 设置从kdc服务器的配置文件
将主kdc服务器中的配置文件(kdc.conf、 krb5.conf、 .k5.ERICSSON.COM、 kadm5.acl)复制到从kdc服务器上相应的目录中;在从kdc服务器的/var/Kerberos/krb5kdc的目录下创建kpropd.acl文件并增加以下信息:
host/csdm-hadoop-04@ERICSSON.COM host/csdm-hadoop-05@ERICSSON.COM
2.4. 复制数据库数据到KDC从服务器
? 在主服务器上创建数据库的dump文件
kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans ? 在从服务器上执行数据迁移
kprop -f /var/Kerberos/krb5kdc/slave_datatrans csdm-hadoop-05
定时将主KDC服务器上的数据库数据,更新到从KDC服务器上 由于KDC不提供数据库数据的同步服务功能,因此需要使用脚本或者手工将主KDC服务器上的数据同步到从KDC服务器上,可以参考以下脚本,并配置到定时器中 #!/bin/sh
kdclist = \ kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans forkdc in $kdclist do kprop -f /var/kerberos/krb5kdc/slave_datatrans $kdc
2.5. 启动从服务器的krb5kdc程序
在从服务器上启动命令执行启动: krb5kdc 2.6. 配置自启动
在/etc/inittab中增加以下信息可使进程随系统自启动: /etc/init.d/krb5kdc start Kadmind
2.7. 客户端配置
下面以csdm-hadoop-03这台机器作为客户端说明相关配置 1、在csdm-hadoop-03上安装客户端软件
rpm -ivhkrb5-libs-1.10.3-10.el6_4.6.x86_64.rpm rpm -ivhkrb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm 2、在主KDC服务器csdm-hadoop-04上,把/etc/krb5.conf复制到csdm-hadoop-03本地对应目录
3、在客户端csdm-hadoop-03上启动命令执行启动:
krb5kdc 此时即可在客户端csdm-hadoop-03上连接KDC服务器 4、生成可访问csdm-hadoop-03机器应用程序的验证
在主KDC服务器csdm-hadoop-04,生成csdm-hadoop-03的principals和keytab, 为客户端csdm-hadoop-03添加principals(可以为host或者所要进行验证的机器用户)
addprinc –randkey host/csdm-hadoop-03@ERICSSON.COM
为客户端csdm-hadoop-03生成keytab
Ktadd–k
/var/kerberos/krb5kdc/keytab/host.keytabhost/csdm-hadoop-03@ERICSSON.COM
把csdm-hadoop-04上生成的keytab复制到csdm-hadoop-03机器上
3. 测试服务器
3.1. 服务器端测试客户端连接
运行kinit admin/admin,显示提示输入密码则代表配置成功:
3.2. 远程客户机连接测试
在客户机运行kinit admin/admin连接服务端,显示提示输入密码则代表配置成功:
4. Hadoop集成kerberos配置 4.1 kerberos配置
Hadoop官方网站建议的操作系统用户及权限如下,下面我们按照这三个用户的权限进行配
置,要求使用下面三种用户分别具有各自启动相应进程的权限。 User:Group hdfs:hadoop yarn:hadoop mapred:hadoop
Daemons NameNode, Secondary NameNode, JournalNode, DataNode ResourceManager, NodeManager MapReduce,JobHistory Server 4.1.1 为所有机器的用户生成principal
从主KDC服务器csdm-hadoop-04上,把/etc/krb5.conf复制到csdm-hadoop-03本地对应目录,
在主KDC服务器上为hadoop集群中每台机器的用户创建principal,下面以csdm-hadoop-03这台机器为例,运行管理入口命令:
kadmin.local 在提示符下执行以下命令:
addprinc -randkeyhdfs/csdm-hadoop-03@ERICSSON.COM addprinc -randkeyhost/csdm-hadoop-03@ERICSSON.COM
addprinc -randkeyyarn/csdm-hadoop-03@ERICSSON.COM addprinc -randkeyhost/csdm-hadoop-03@ERICSSON.COM
addprinc -randkeymapred/csdm-hadoop-03@ERICSSON.COM addprinc -randkeyhost/csdm-hadoop-03@ERICSSON.COM
注:
? 集群中的每台机器所用到的用户都需执行上面的命令生成principal
? 每个用户必须执行addprinc -randkeyhost/XX@XX的命令,这个命令生成的是基于
Kerberos 的应用程序(例如klist和kprop)和服务(例如ftp和telnet)使用的主体。此主体称为host主体或服务主体。
4.1.2 生成keytab文件
完成5.1.1后在主KDC服务器上为所有principal生成keytab文件,运行管理入口命令:
kadmin.local 在提示符下执行以下命令:
xst -norandkey -k /var/kerberos/krb5kdc/keytab/hdfs.keytab hdfs/csdm-hadoop-03@ERICSSON.COM host/csdm-hadoop-03@ERICSSON.COM xst -norandkey -k /var/kerberos/krb5kdc/keytab/mapred.keytab mapred/csdm-hadoop-03@ ERICSSON.COM host/csdm-hadoop-03@ERICSSON.COM xst -norandkey -k /var/kerberos/krb5kdc/keytab/yarn.keytab yarn/csdm-hadoop-03@ERICSSON.COM host/csdm-hadoop-03@ERICSSON.COM
生成授权文件后,使用以下命令检查生成的keytab是否可用: kinit -k -t
/var/kerberos/krb5kdc/keytab/hdfs.keytabhdfs/csdm-hadoop-03@ERICSSON.COM kinit -k -t
/var/kerberos/krb5kdc/keytab/mapred.keytabmapred/csdm-hadoop-03@ERICSSON.COM
kinit -k -t
/var/kerberos/krb5kdc/keytab/yarn.keytab yarn/csdm-hadoop-03@ERICSSON.COM
检查没问题后,把生成的keytab文件分发到整个集群中的所有机器。
4.2 修改HADOOP配置文件 4.2.1Jsvc安装配置
Datanode的安全机制需要以root用户身份用jsvc来启动,因此首先需要检查是否安装是jsvc如果没有,按以下步骤进行安装:
1、 下载commons-daemon-1.0.15-src.tar.gz 包并上传至自定义的目录(本操作目录为
/home/hadoop) 2、 解压缩后
以root用户登录进入目录/home/Hadoop执行: tar –xvfcommons-daemon-1.0.15-bin.tar.gz 解压完成后进入
/home/Hadoop/commons-daemon-1.0.15-src/src/native/unix 执行命令:configure 执行命令:make 编译完成后,会在/home/hadoop/commons-daemon-1.0.15-src/src/native/unix目录下生成jsvc可执行文件,如下图
在该目录下执行file jsvc如果出现下图所示,则jsvc安装成功
这里,我们把该执行文件复制到$HADOOP_HOME/bin以便后续的配置
执行命令:cp/home/hadoop/commons-daemon-1.0.15-src/src/native/unix/jsvc /home/hadoop/hadoop/bin
4.2.2 hadoop-env.sh配置
找到以下两项配置,并修改
export HADOOP_SECURE_DN_USER=hdfs(配置为要执行datanode的用户,这里为hdfs)
export JSVC_HOME=/home/hadoop/hadoop/bin(配置为jsvc所在的目录)
4.2.3 core-site.xml
在集群中所有节点的core-site.xml文件中添加下面的配置
4.2.4hdfs-site.xml
在集群中所有节点的hdfs-site.xml文件中添加下面的配置,下面配置以节点csdm-hadoop-04为例:
The Kerberos keytab file with the credentials for the HTTP Kerberos principal used by Hadoop-Auth in the HTTP endpoint.
配置中有几点要注意的
? . dfs.datanode.address表示data transceiver RPC server所绑定的hostname或IP
地址,如果开启security,端口号必须小于1024(privileged port),否则的话启动datanode时候会报“Cannot start secure cluster without privileged resources”错误
? . principal中的instance部分可以使用'_HOST'标记,系统会自动替换它为全称域名
? . 如果开启了security, hadoop会对hdfs block data做permission check,方式用
户的代码不是调用hdfsapi而是直接本地读block data,这样就绕过了kerberos和文件权限验证,管理员可以通过设置dfs.datanode.data.dir.perm来修改datanode文件权限,这里我们设置为700
配置完成后,修改hdfs.keytab所有者为hdfs
chown -R hdfs:hadoop/var/kerberos/krb5kdc/keytab/hdfs.keytab chmod700 /var/kerberos/krb5kdc/keytab/hdfs.keytab
同时保证以下表格中各个目录的对于hdfs用户的权限 Filesystem local Path User:Group hdfs:hadoop Permissions drwx------ dfs.namenode.name.dir local dfs.datanode.data.dir hdfs:hadoop drwx------ local Hdfs Hdfs Hdfs $HADOOP_LOG_DIR / /tmp /user hdfs:hadoop hdfs:hadoop hdfs:hadoop hdfs:hadoop drwxrwxr-x drwxr-xr-x drwxrwxrwxt drwxr-xr-x
1、测试namenode进程启动是否正常
切换到hdfs用户,首先执行klist命令,查看当前是否获取了ticket,经测试,如果已经获取了ticket那么启动namenode进程的时候会报以下错误
使用kdestroy销毁获取的ticket
切换到hdfs用户,启动namenode进程(已经执行过HDFS格式化的操作) 执行命令:hadoopnamenode
如果配置正常,应该会看到以下的日志信息输出
验证namenode是否启动正常 ? 可打开网页
http://XX:50070/dfshealth.html#tab-overview验证 ? hadoopfs -ls /
注:如果在你的凭据缓存中没有有效的kerberos ticket,执行hadoopfs–ls /将会失败。 可以使用klist来查看是否有有有效的ticket。
如果为空,使用kinit来获取ticket.命令如下 kinit -k -t
/var/kerberos/krb5kdc/keytab/hdfs.keytabhdfs/csdm-hadoop-03@ERICSSON.COM
2、测试datanode启动是否正常
切换到root用户,
执行命令:hadoop-daemon.sh start datanode
如果启动正常,能在日志文件看到以下日志内容
在日志目录,启动datanode进程会有以下几个日志文件,其中jsvc.err记录了jsvc的错误信息
启动datanode进程,只能使用root用户,如果使用其他用户启动,只会报以下错误
4.2.5mapred-site.xml
在mapred-site.xml中添加
将mapred.keytab文件赋权给mapred用户,执行以下命令:
chown -R mapred:hadoop/var/kerberos/krb5kdc/keytab/mapred.keytab chmod700/var/kerberos/krb5kdc/keytab/mapred.keytab
确保以下表格中各个路径的执行权限 Filesystem hdfs Path User:Group mapred:hadoop Permissions drwxrwxrwxt mapreduce.jobhistory.intermediate-done-dir mapreduce.jobhistory.done-dir hdfs mapred:hadoop drwxr-x---
测试historyserver进程
执行命令:mr-jobhistory-daemon.sh start historyserver 配置正常,则会看到以下日志内容
4.2.6yarn-site.xml
在yarn-site.xml追加以下内容:
YARN提供了两种Container启动实现,DefaultContainerExecutor以及LinuxContainerExecutor
,
在
上
面
的
yarn-site.xml
里
配
置
了
yarn.nodemanager.container-executor.class的启动方式为LinuxContainerExecutor,那么就需要编译安装LinuxContainerExecutor,按如下操作执行:在hadoop的home目录(这里是/home/Hadoop/hadoop)的 /etc/hadoop/目录下创建 container-executor.cfg文件,内容如下:
设置该文件权限:
$ chownroot:hadoop container-executor.cfg $ chmod400 container-executor.cfg
注意:
?
container-executor.cfg 文件读写权限需设置为 400,所有者为 root:hadoop。
并且该文件所在的父目录所有者必须为root用户,并对该文件所在的各个父目录赋
以下权限,例如:chmod 750 /home/hadoop/
?
yarn.nodemanager.linux-container-executor.group 要同时配置在
yarn-site.xml 和 container-executor.cfg,且其值需要为运行NodeManager的用户所在的组,这里为hadoop。
? ?
banned.users 不能为空,默认值为 hfds,yarn,mapred,bin
min.user.id 默认值为 1000,在centos系统中,需要设置为小于500的值
? 确保 yarn.nodemanager.local-dirs 和 yarn.nodemanager.log-dirs 对应的目录权限为 755 。
设置$HADOOP_HOME/bin/container-executor 读写权限为 6050 如下:
$ chownroot:hadoop$HADOOP_HOME/bin/container-executor $ chmod6050$HADOOP_HOME/bin/container-executor
测试是否配置正确:
$ /home/hadoop/hadoop/bin/container-executor –checksetup
出现以下信息,则表示配置正确,如果出错,请检查各个目录的权限及container-executor.cfg文件是否配置正确
修改yarn.keytab权限
chown -R yarn:hadoop/var/kerberos/krb5kdc/keytab/yarn.keytab chmod700 /var/kerberos/krb5kdc/keytab/yarn.keytab 确保以下表格各目录的权限 Filesystem hdfs Path User:Group yarn:hadoop Permissions drwxrwxrwxt yarn.nodemanager.remote-app-log-dir $YARN_LOG_DIR local local yarn:hadoop yarn:hadoop drwxrwxr-x drwxr-xr-x yarn.nodemanager.local-dirs yarn.nodemanager.log-dirs container-executor local yarn:hadoop drwxr-xr-x local local root:hadoop root:hadoop --Sr-s--- r-------- conf/container-executor.cfg
? 测试nodemanager进程 执行命令:yarnnodemanager
如果配置正常,会输出以下日志
? 测试resourcemanager进程 执行命令:yarnresourcemanager
如果配置正常,会输出以下日志
5说明
注:本部署文档部署环境默认机器未配置DNS,如果配置有DNS的机器上创建实体则格式为:用户名/hostname.DNS@领域名。例如:hdfs/csdm-hadoop-04.ericsson.com@ERICSSON.COM
火狐配置使用SPNNEGO
1、 在地址栏输入about:config打开配置界面 2、 network.negotiate-auth.delegation-uris
network.negotiate-auth.trusted-uris
找到以上两个选项,把你要访问的页面地址加进去
LINUX下配置
1、 在/etc/hosts下加入要访问的地址对应关系(包括客户端和服务器) 2、 在KDC服务器上生成浏览器所在客户端的principal:格式如下:HTTP/hd2@ERICSSON.COM,
并把该principal生成到keytab中,在KEYTAB中应该可以看到如下的信息
正在阅读:
大数据平台-kerberos安装部署文档02-01
31届科技创新大赛获奖榜汇总 - 图文10-16
我是责任者心得体会(共5篇)08-08
2015-2016学年度苏教版二年级数学下册第四单元测试卷03-13
太傻十日谈pdf免费阅读下载04-28
广东省湛江市第二十七中学九年级政治上学期第二次月考试题 粤教04-13
健康状况调查问卷(SF-36)11-28
幼儿园春季传染病预防知识要点07-31
贫困更容易滋生丑恶一辩稿06-01
加强新形势下党员发展和管理工作的几点做法10-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 部署
- kerberos
- 安装
- 文档
- 数据
- 平台
- 施工组织设计、安全专项方案培训
- 小学二年级音乐教案下册
- 小箱梁预制施工方案
- 部编新教材2019秋季学期统编版语文五年级(上)7 什么比猎豹的速度更快 教学反思3-公开课配套资料
- 文化与社会教案
- 2008年注册会计师全国统一考试《经济法》试题及答案
- 《第二单元》复习课教案
- 屋面工程施工方案 - 图文
- 顶击式标准振筛机
- 职业卫生重点整理
- 费尔巴哈
- 优秀中班教案数学:开宝箱—认识数字9
- SAP - BADI屏幕增强实例MB - MIGO - BADI
- 南开18年9月考试《管理经济学(一)》考核要求 答案
- 标准化钢筋加工场方案
- 无锡格力空调营销推广
- 浅谈施工项目部HSE管理
- 电大古代小说戏曲专题小抄(直接打印)
- 胸膜外血肿的X线平片与CT扫描诊断对比
- 人教版五年级数学上册《小数乘整数》说课稿