我成功地kerberized了一个测试Hortonworks集群。Ambari为这些服务创建了keytabs,并且它们都已启动。名称编号有HA。备用名称节点启动得快,活动名称节点需要更长得时间。Namenode UI显示一切都是正确的。可以使用Kerberos登录。名称编号为nn1.zim.com和nn2.zim.com
这个配置会有什么问题呢?以hdfs登录,用kinit-kt加载keytab。在列表HDFS尝试中,我得到以下错误:
[root@nn1 hdfs]#hdfs dfs-ls/18/12/02 16:18:22警告IPC.Client:连接到服务器时遇到异常:javax.security.sasl.saslexception:GSS initiate失败[由GSSE Xception:未提供有效凭据(机制级别:未能找到任何Ker beros T>引起)]18/12/02 16:18:22 INFO Retry.RetryInvocationHandler:java.io.ioException:本地异常失败:java.io.ioException:java.security.sasl.saslexception:GSS主机详情:本地主机为:“nn1.zim.com/192.168.50.10”;目标主机为:“nn2.zim.com”:8020;,同时在1次故障转移尝试后通过nn2.zim.com/192.168.50.11:8020调用g ClientNameNodeProtocolTranslatorPB.getFileInfo。尝试在睡眠1123ms后进行故障转移。
主机的Kerberos主体是:
nn1.zim.com/192.168.50.10@zim.com nn1.zim.com@zim.com nn2.zim.com/192.168.50.11@zim.com nn2.zim.com@zim.com host/nn1.zim.com@zim.com host/nn2.zim.com@zim.com
krb5.cfg:
[logging]default=file:/var/log/krb5libs.log
kdc=file:/var/log/krb5kdc.log
admin_server=file:/var/log/kadmind.log
[libdefaults]dns_lookup_realm=false
ticket_lifetime=24h renew_lifetime=7d
forwardable=true
rdns=false default_realm=zim.com
default_ccache_name=keyring:persistent:%{uid}
[realms]zim.com={
kdc=kb.zim.com
admin_server=kb.zim.com
}
[domain_realm]
.zim.com=zim.com
zim.com=zim.com
解决方案:必须为每个主机创建两个kerberos主体:FQDN和short。我只创建了FQDN(nn1.zim.com)--这就是问题的原因。在创建了第二个校长(nn1)之后,一切都开始工作了。
当您使用Active Directory时,这两种主体类型都将在AD计算机对象创建时自动创建。
第一次使用 kubectl 访问 如果您是第一次访问 Kubernetes API 的话,我们建议您使用 Kubernetes 命令行工具:kubectl。 为了访问集群,您需要知道集群的地址,并且需要有访问它的凭证。通常,如果您完成了入门指南那么这些将会自动设置,或者其他人为您部署的集群提供并给您凭证和集群地址。 使用下面的命令检查 kubectl 已知的集群的地址和凭证: $ kubectl
我正在尝试通过Livy连接到一个kerberized hadoop集群以执行Spark代码。请求调用im制作如下所示。 此调用失败,出现以下错误 GSSException:未提供有效凭据(机制级别:找不到任何Kerberos凭据) 如果有任何帮助,我们将不胜感激。
当我执行时 kubectl代理 它为我提供了o/p:开始在虚拟机上的127.0.0.1:8001上提供服务 我想在主机上看到仪表板,这给我带来了问题。 192 168 113 8001 api命名空间库贝系统服务https kubernetes仪表板代理 有什么问题,我没明白。我是库伯内特斯的新手。谢谢
根据用户部署和暴露服务的方式不同,有很多种方式可以用来访问 kubernetes 集群。 最简单也是最直接的方式是使用 kubectl 命令。 其次可以使用 kubeconfig 文件来认证授权访问 API server。 通过各种 proxy 经过端口转发访问 kubernetes 集群中的服务 使用 Ingress,在集群外访问 kubernetes 集群内的 service
我有1个VPC——在1个EC2实例(amazon ami)和1个Redis(支持群集模式)下,使用Auth(密码)和对所有IP:端口开放的安全组(仅用于测试)——设置非常简单。 telnet在我的EC2实例(配置endpoint)的6379端口工作 无法使用Redis CLI连接到Redis服务器-无论是配置endpoint还是节点endpoint都无关紧要;使用v.5.0.4版本的Redis C
我们有一个Hadoop集群,数据节点为275个节点(55Tb总内存,12000个VCore)。这个集群与几个项目共享,我们有一个YARN队列分配给我们,资源有限。 为了提高性能,我们正在考虑为我们的项目构建一个单独的Spark集群(在同一网络中的Mesos上)并访问Hadoop集群上的HDFS数据。 正如Spark文档中提到的:https://spark.apache.org/docs/lates