赞
踩
集群规划:
在主节点(node01)启动KDC,并配置开机自启
[root@node01 ~]# systemctl start krb5kdc
[root@node01 ~]# systemctl enable krb5kdc
启动HDFS
# 启动NameNode
[root@root ~]# sudo -i -u hdfs hdfs --daemon start namenode
# 启动DataNode
[root@node01 ~]# sudo -i -u hdfs hdfs --daemon start datanode
[root@node01 ~]# sudo -i -u hdfs hdfs --daemon start datanode
[root@node01 ~]# sudo -i -u hdfs hdfs --daemon start datanode
# 启动SecondaryNameNode
[root@node01 ~]# sudo -i -u hdfs hdfs --daemon start secondarynamenode
启动Yarn
# 启动ResourceManager
[root@node02 ~]# sudo -i -u yarn yarn --daemon start resourcemanager
# 启动NodeManager
[root@node01 ~]# sudo -i -u yarn yarn --daemon start nodemanager
[root@node02 ~]# sudo -i -u yarn yarn --daemon start nodemanager
[root@node03 ~]# sudo -i -u yarn yarn --daemon start nodemanager
启动HistoryServer
# 启动历史服务器
[root@node01 ~]# sudo -i -u mapred mapred --daemon start historyserver
一路next即可,安装后会提醒是否立即重启电脑
有遇到过没有提醒直接重启电脑的,为了保险起见,建议安装之前先将集群的各个服务停止,关闭虚拟机
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
forwardable = true
rdns = false
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = node01
admin_server = node01
}
[domain_realm]
接受风险并继续
启动Kerberos客户端,点击Get Ticket
,输入主体名Principal以及密码Password
火狐浏览器访问:
https://node01:9871/
browse the file system
,输入主体名Principal以及密码Password,即可访问文件火狐浏览器输入主体名及密码,出现以下错误:
Ticket initialization failed. Kerberos 5: client not found in Kerberos database(error:1765328378)
我查找了很久,还是没有找到这个错误的解决方法。因为我的配置是没有问题的,所以猜想会不会是浏览器的问题,没想到,重启火狐浏览器,再次访问HDFS
真的就可以有权限访问文件了
重启
万岁
因为Apache Hive使用的驱动是原生自带的Hive驱动,但是这个自带的Hive驱动不支持Kerberos认证。所以连接不上之前数仓分层时在DataGrip创建的Hive数据源。
jdbc:hive2://node01:10000/;principal=hive/node01@EXAMPLE.COM
-Djava.security.krb5.conf="C:\\ProgramData\\MIT\\Kerberos5\\krb5.ini"
-Djava.security.auth.login.config="C:\\ProgramData\\MIT\\Kerberos5\\atguigu.conf"
-Djavax.security.auth.useSubjectCredsOnly=false
com.sun.security.jgss.initiate{
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
useTicketCache=false
keyTab="C:\\ProgramData\\MIT\\Kerberos5\\atguigu.keytab"
principal="atguigu@EXAMPLE.COM";
};
[root@hadooop102]# kadmin.local -q"xst -norandkey -k /home/atguigu/atguigu.keytab atguigu"
将上一步生成的atguigu.keytab
文件,置于Windows中的特定路径,该路径须与5中的keyTab属性的值保持一致
。
XFTP传输atguigu.keytab若不成功,将其
chmod 777
jdbc:hive2://node01:10000/;principal=hive/node01@EXAMPLE.COM
最后多了一个空格或者直接删掉DataGrip中的url,重新复制上文中的「4. 配置连接」的url
顺利完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。