1

我正在尝试让 cloudera 管理器对 kudu 集群运行检查,最终将是以下命令,以 kudu 用户身份运行:

kudu cluster ksck master_host

该命令的输出是:

未授权:领导主活动检查错误:无法连接到集群:客户端连接协商失败:客户端连接到 10.xyz:7051:服务器需要身份验证,但客户端没有可用的 Kerberos 凭据

如果我从命令行手动运行这个命令,作为 kudu,我有同样的错误。如果我尝试运行kinit,则会要求 kudu 用户输入密码,但据我了解,所有“后端”用户都是无密码的。

如果我更新 $HOME/.klogin 以允许我的用户使用ksu我确实有一张 krb 票(klist显示它)但它仍然不是 kudu 用户的票,我最终会收到相同的错误消息。

我的 kerberos-fu 很弱,但据我所知,集群配置良好,spark/impala/kudu 可以很好地协同工作,没有授权问题。检查器全是绿色的,集群的所有主机都有 kudu 凭据。

我怎样才能让这个命令从 cloudera 管理器中正常运行?

4

1 回答 1

1

半答案:

要在命令行中运行命令,您可以superuser_acl从 kudu 设置中的用户帐户运行它。然后当这个用户运行kinit,然后你可以运行kudu cluster ksck命令。

这并不能解释为什么来自 cloudera manger 的同一用户仍然无法运行重新平衡,但至少我有一个变通办法。

于 2020-07-22T10:27:47.353 回答