ambari 安装 Kerberos

kerberos 常用命令:

kadmin.local  //以超管身份进入kadmin
 
kadmin    //进入kadmin模式,需输入密码
 
kdb5_util create -r JENKIN.COM -s    //创建数据库
 
service krb5kdc start    //启动kdc服务
 
service kadmin start    //启动kadmin服务
 
service kprop start     //启动kprop服务
 
kdb5_util dump /var/kerberos/krb5kdc/slave_data    //生成dump文件
 
kprop -f /var/kerberos/krb5kdc/slave_data master2.com    //将master数据库同步是slave
 
kadmin模式下:
 
  addprinc -randkey root/master1@JENKIN.COM   //生成随机key的principal
 
  addprinc admin/admin    //生成指定key的principal
 
  listprincs    //查看principal
 
  change_password -pw xxxx admin/admin  //修改admin/admin的密码
 
  delete_principal  admin/admin    //删除principal
 
kinit admin/admin    //验证principal是否可用
 

ktadd -k /etc/security/keytabs/hdfs.keytab hdfs/master@HQGF.COM    //kadmin模式下使用
                                                                         //可生成keytab
 
kinit -k -t /var/kerberos/krb5kdc/keytab/root.keytab root/master1@JENKIN.COM     //测试keytab是否可用
 
klist -e -k -t /var/kerberos/krb5kdc/keytab/root.keytab    //查看keytab

kdestroy     //销毁当前获取的票

 

 

一,先升级再安装server,执行以下命令

 

yum install krb5-server krb5-libs krb5-workstation

 

 

二、修改三个配置文件

 

第一个文件 /etc/krb5.conf

 

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = HQGF.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 HQGF.COM = {
  kdc = master
  admin_server = master
 }

[domain_realm]
 .example.com = HQGF.COM
 example.com = HQGF.COM

 

 

第二个文件 /var/kerberos/krb5kdc/kdc.conf

 

[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88

[realms]
 HQGF.COM = {
  #master_key_type = aes256-cts
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
 }

 

 

第三个文件 /var/kerberos/krb5kdc/kadm5.acl (注意后面的 “*” 号不可以跟前面的字符连接在一起必须空格)

 

*/admin@HQGF.COM     *

 

 

 

三、创建kerberos 应用

 

/usr/sbin/kdb5_util create -s -r HQGF.COM

 

 

四、启动服务

 

 

service krb5kdc start

service kadmin start

 

 

五、设置开机启动服务

 

 

chkconfig krb5kdc on

chkconfig kadmin on

 

 

六、添加principal

 

 

[root@ws1es ~]# kadmin.local 
Authenticating as principal root/admin@HQGF.COM with password.
kadmin.local:  addprinc admin/admin@HQGF.COM
WARNING: no policy specified for admin/admin@HQGF.COM; defaulting to no policy
Enter password for principal "admin/admin@HQGF.COM": 
Re-enter password for principal "admin/admin@HQGF.COM": 
Principal "admin/admin@HQGF.COM" created.
kadmin.local:  listprincs 
K/M@HQGF.COM
admin/admin@HQGF.COM
kadmin/admin@HQGF.COM
kadmin/changepw@HQGF.COM
kadmin/ws1es.wondersoft.cn@HQGF.COM
krbtgt/HQGF.COM@HQGF.COM

 

 

七、重启服务

 

service kadmin restart

 

 

八、

11.下载JCE
补充1:
JCE(Java Cryptography Extension)是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。
它提供对对称、不对称、块和流密码的加密支持,它还支持安全流和密封的对象。它不对外出口,用它开发完成封装后将无法调用。
补充2:
If you are using Oracle JDK, you must distribute and install the JCE on all hosts in the cluster, including the Ambari Server. 
Be sure to restart Ambari Server after installng the JCE. If you are using OpenJDK, some distributions of the OpenJDK
 come with unlimited strength JCE automatically and therefore, installation of JCE is not required.

For Oracle JDK 1.8:

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

For Oracle JDK 1.7:

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html


将下载的JCE解压并覆盖$JAVA_HOME/jre/lib/security/目录下的文件(所有节点)

 

 

九、

第一步

 

 

十、

第二步

 

十一、

 

第三步

 

十二、

这里写图片描述

 

十三、

这里写图片描述

 

 

十四、

这里写图片描述

 

十五、

这里写图片描述

 

十六、

这里写图片描述

 

十七、安装成功后,查看它自动创建的principal和keytab

 

 

[root@master krb5kdc]# kadmin.local
Authenticating as principal root/admin@HQGF.COM with password.
kadmin.local:  listprincs
HTTP/master.hqgf.com@HQGF.COM
HTTP/master@HQGF.COM
HTTP/slave222.hqgf.com@HQGF.COM
HTTP/slave223.hqgf.com@HQGF.COM
HTTP/slave227.hqgf.com@HQGF.COM
HTTP/slave228.hqgf.com@HQGF.COM
K/M@HQGF.COM
activity_explorer/master.hqgf.com@HQGF.COM
activity_explorer/slave222.hqgf.com@HQGF.COM
admin/admin@HQGF.COM
ambari-qa-hqgf@HQGF.COM
ambari-server-hqgf@HQGF.COM
amshbase/slave222.hqgf.com@HQGF.COM
amszk/slave222.hqgf.com@HQGF.COM
dn/slave223.hqgf.com@HQGF.COM
dn/slave227.hqgf.com@HQGF.COM
dn/slave228.hqgf.com@HQGF.COM
hbase-hqgf@HQGF.COM
hbase/master.hqgf.com@HQGF.COM
hbase/slave222.hqgf.com@HQGF.COM
hdfs-hqgf@HQGF.COM
hive/master.hqgf.com@HQGF.COM
hive/slave222.hqgf.com@HQGF.COM
hive/slave223.hqgf.com@HQGF.COM
hive/slave227.hqgf.com@HQGF.COM
hive/slave228.hqgf.com@HQGF.COM
jhs/master.hqgf.com@HQGF.COM
jn/slave223.hqgf.com@HQGF.COM
jn/slave227.hqgf.com@HQGF.COM
jn/slave228.hqgf.com@HQGF.COM
kadmin/admin@HQGF.COM
kadmin/changepw@HQGF.COM
kadmin/master@HQGF.COM
kafka/slave223.hqgf.com@HQGF.COM
kafka/slave227.hqgf.com@HQGF.COM
kafka/slave228.hqgf.com@HQGF.COM
kiprop/master@HQGF.COM
krbtgt/HQGF.COM@HQGF.COM
livy/master.hqgf.com@HQGF.COM
livy/slave222.hqgf.com@HQGF.COM
nfs/master.hqgf.com@HQGF.COM
nfs/slave222.hqgf.com@HQGF.COM
nm/slave223.hqgf.com@HQGF.COM
nm/slave227.hqgf.com@HQGF.COM
nm/slave228.hqgf.com@HQGF.COM
nn/master.hqgf.com@HQGF.COM
nn/slave222.hqgf.com@HQGF.COM
oozie/master.hqgf.com@HQGF.COM
rangeradmin/master.hqgf.com@HQGF.COM
rangerkms/master.hqgf.com@HQGF.COM
rangerlookup/master.hqgf.com@HQGF.COM
rangertagsync/master.hqgf.com@HQGF.COM
rangerusersync/master.hqgf.com@HQGF.COM
rm/master.hqgf.com@HQGF.COM
rm/slave222.hqgf.com@HQGF.COM
spark-hqgf@HQGF.COM
yarn/master.hqgf.com@HQGF.COM
zookeeper/slave222.hqgf.com@HQGF.COM
zookeeper/slave223.hqgf.com@HQGF.COM
zookeeper/slave227.hqgf.com@HQGF.COM
zookeeper/slave228.hqgf.com@HQGF.COM

 

 

当hdfs文件对外是公开的则该其他用户就算没有配置相关的权限一样可以进行相关的操作。

当hdfs文件对外权限是没有开放的,其他用户若需要进行相关操作则需要通过Ranger进行相关权限的配置。

注:笔者发现Ambari管理下的Hive 与 Hbase目录下文件权限默认是对所有用户都开启了读写权限,因此
就算我们通过Ranger对Hive或Hbase中的表进行了相应的权限设置,当用户不通过Hive或Hbase方式获取
数据则依然是没控制好权限。
    所以笔者这里通过hdfs 命令首先将Hive与Hbase中文件权限进行设置成600,具体命令如下所示,然后
再通过Ranger对文Hive与Hbase表相关权限的设置。这样非文件拥有者如果没有对应的文件操作权限则无
法对该文件进行操作,当通过Ranger设定了对应权限,则可以通过Hive或Hbase的方式进行数据相关的操
作

hdfs dfs -chmod -R 600 /apps/hive/
hdfs dfs -chmod -R 600 /apps/hbase/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

卸载Kerberos后导致tez.am.view-acls参数消失的情况可能涉及到Ambari的源码。Ambari是一个开源的集群管理工具,用于部署、配置和管理Hadoop生态系统中的各种组件,包括Tez。 在Ambari中,配置参数的管理和持久化是通过Ambari Server和Ambari Agent之间的通信来实现的。当进行Kerberos卸载操作时,可能会触发Ambari相关的源码执行以下步骤: 1. Ambari Server接收到卸载Kerberos的请求。 2. Ambari Server通过与Ambari Agent的通信,将卸载Kerberos的指令发送给对应的主机。 3. Ambari Agent在主机上执行相应的操作,包括修改配置文件、删除相关的Kerberos配置等。 4. 在这个过程中,可能出现了错误或不完整的操作,导致tez.am.view-acls参数被错误地删除或修改。 具体而言,可能涉及到以下源码文件和逻辑: 1. Ambari Server源码:在Ambari Server的源码中,可能涉及到处理卸载Kerberos请求的逻辑。这涉及到与Ambari Agent的通信和指令传递,以及对主机上配置文件的修改等操作。 2. Ambari Agent源码:在Ambari Agent的源码中,可能涉及到接收和执行卸载Kerberos指令的逻辑。这可能包括对tez-site.xml文件进行修改或删除相关配置参数的操作。 3. 相关配置文件:tez-site.xml是Tez的配置文件之一,其中包含了tez.am.view-acls参数的配置。在卸载Kerberos的过程中,Ambari可能会修改或删除这个配置文件中与Kerberos相关的配置,导致tez.am.view-acls参数消失。 需要注意的是,具体的源码实现可能因Ambari版本和定制修改而有所不同。如果遇到该问题,建议参考Ambari官方文档、社区讨论或联系Ambari开发团队以获取更准确的源码分析和解决方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值