当前位置:文档之家› 大数据平台-kerberos安装部署文档

大数据平台-kerberos安装部署文档

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用户组:adduser hdfs -g Hadoopadduser yarn -g Hadoopadduser mapred -g Hadoop1.3.配置hosts文件为各台机器修改/etc/hosts文件,将真实ip与主机名对应配置,服务端与客户端均需配置,形如:(不能存在127.0.0.1的配置,否则hadoop进行kerberos验证时将会出错)1.4.关闭防火墙执行以下命令关闭防火墙:service iptables stop出现以下界面表示关闭成功1.5.注册服务与端口的对应在/etc/service文件最后增加以下信息,以便后续使用:krb5_prop 754/tcp # Kerberos slave propagation2.安装配置Kerberos2.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 -ivh krb5-libs-1.10.3-10.el6_4.6.x86_64.rpmrpm -ivh krb5-server-1.10.3-10.el6_4.6.x86_64.rpm【客户端可不安装】rpm -ivh krb5-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.confexport KRB5_KDC_PROFILE=/var/kerberos/krb5kdc/kdc.conf保存后并执行source /etc/profile 使之生效。

2.2.2.配置krb5.conf执行vi编辑/etc/krb5.conf,内容如下:[libdefaults]default_realm = dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = true[realms] = {kdc = csdm-hadoop-04kdc = csdm-hadoop-05admin_server =csdm-hadoop-04}[domain_realm] = = 2.2.3.配置kdc.conf执行vi编辑/var/kerberos/krb5kdc/kdc.conf,内容如下:[kdcdefaults]Kdc_ports=750,88[realms] ={kadmind_port = 749max_life=10h 0m 0smax_renewable_life=7d 0h 0m 0sdatabase_name= /var/kerberos/krb5kdc/principaladmin_keytab=/var/kerberos /krb5kdc/kadm5.keytabacl_file=/var/kerberos /krb5kdc/kadm5.aclkey_stash_file=/var/kerberos /krb5kdc/}[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log集群机器如果开启selinux,请在机器上执行restorecon -R -v /etc/krb5.conf 2.2.4.生成数据库在主KDC服务器上执行以下命令创建数据库,在执行的过程中会提示输入密码和确认密码,两次输入相同的密码即可:kdb5_util create -r –s等待片刻后在提示输入密码界面输入密码后会出现以下界面:2.2.5.创建管理用户运行管理入口命令:kadmin.local在提示符下执行以下命令addprinc kadmin/admin@addprinc kadmin/changepw@会提示输入密码,输入两次一样的密码后会提示成功创建。

将主体添加至密钥文件中ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/adminktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/changepw2.2.6.启动krb5kdc和kadmind服务执行以下命令启动krb5kdc和kadmind服务:krb5kdc startkadmind出现以下界面表示启动成功2.3.配置从KDC服务器2.3.1.为从kdc服务器创建创建授权票证每一个kdc服务器都需要一个host票证,用于在迁移数据库数据市在各kdc 服务器之间进行交互验证。

注意,创建host票据需要在主kdc服务器上执行而不是在从kdc服务器。

在csdm-hadoop-04上执行以下命令创建票证:kadminaddprinc –randkey host/csdm-hadoop-04@addprinc –randkey host/csdm-hadoop-05@ktadd host/csdm-hadoop-05@2.3.2.设置从kdc服务器的配置文件将主kdc服务器中的配置文件(kdc.conf、krb5.conf、、kadm5.acl)复制到从kdc服务器上相应的目录中;在从kdc服务器的/var/Kerberos/krb5kdc的目录下创建kpropd.acl文件并增加以下信息:host/csdm-hadoop-04@host/csdm-hadoop-05@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/shkdclist = " "kdb5_util dump /var/kerberos/krb5kdc/slave_datatransfor kdc in $kdclist dokprop -f /var/kerberos/krb5kdc/slave_datatrans $kdc2.5.启动从服务器的krb5kdc程序在从服务器上启动命令执行启动:krb5kdc2.6.配置自启动在/etc/inittab中增加以下信息可使进程随系统自启动:/etc/init.d/krb5kdc startKadmind2.7.客户端配置下面以csdm-hadoop-03这台机器作为客户端说明相关配置1、在csdm-hadoop-03上安装客户端软件rpm -ivh krb5-libs-1.10.3-10.el6_4.6.x86_64.rpmrpm -ivh krb5-workstation-1.10.3-10.el6_4.6.x86_64.rpm2、在主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@为客户端csdm-hadoop-03生成keytabKtadd –k /var/kerberos/krb5kdc/keytab/host.keytabhost/csdm-hadoop-03@把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官方网站建议的操作系统用户及权限如下,下面我们按照这三个用户的权限进行配置,要求使用下面三种用户分别具有各自启动相应进程的权限。

4.1.1 为所有机器的用户生成principal从主KDC服务器csdm-hadoop-04上,把/etc/krb5.conf复制到csdm-hadoop-03本地对应目录,在主KDC服务器上为hadoop集群中每台机器的用户创建principal,下面以csdm-hadoop-03这台机器为例,运行管理入口命令:kadmin.local在提示符下执行以下命令:addprinc -randkey hdfs/csdm-hadoop-03@addprinc -randkey host/csdm-hadoop-03@addprinc -randkey yarn/csdm-hadoop-03@addprinc -randkey host/csdm-hadoop-03@addprinc -randkey mapred/csdm-hadoop-03@addprinc -randkey host/csdm-hadoop-03@注:◆集群中的每台机器所用到的用户都需执行上面的命令生成principal◆每个用户必须执行addprinc -randkey host/XX@XX的命令,这个命令生成的是基于Kerberos 的应用程序(例如klist和kprop)和服务(例如ftp和telnet)使用的主体。

相关主题