【已解决】doris2.1.2集群连接华为hive,kerberos认证失败,大佬们帮忙看看

Viewed 29

https://doris.apache.org/zh-CN/docs/lakehouse/datalake-analytics/hive/
我参考上面链接的帖子配置的,复制了core-site.xml,hdfs-site.xml 和 hive-site.xml 放到 FE 和 BE 的 conf 目录下
重启了fe、be节点
在客户端创建catlog,查询报错如下

CREATE CATALOG hive_krb PROPERTIES (
'type'='hms',
'hive.metastore.uris' = 'thrift://25.37.67.134:21088,thrift://25.37.67.224:21088', --hive-site.xml里面取的 hive.metastore.uris
'hive.metastore.sasl.enabled' = 'true',
'hive.metastore.kerberos.principal' = 'hive/hadoop.8ddb01ec_61e7_4d46_86f9_f3e2652c7633.com@8DDB01EC_61E7_4D46_86F9_F3E2652C7633.COM', --hive-site.xml里面取的 hive.metastore.kerberos.principal
'hadoop.security.authentication' = 'kerberos',
'hadoop.kerberos.keytab' = '/etc/tt_lslczx.keytab',
'hadoop.kerberos.principal' = 'hdfs/hadoop.8ddb01ec_61e7_4d46_86f9_f3e2652c7633.com@8DDB01EC_61E7_4D46_86F9_F3E2652C7633.COM', --hdfs-site.xml里面取的 dfs.namenode.kerberos.principal
'yarn.resourcemanager.principal' = 'mapred/hadoop.8ddb01ec_61e7_4d46_86f9_f3e2652c7633.com@8DDB01EC_61E7_4D46_86F9_F3E2652C7633.COM' --hdfs-site.xml里面取的 yarn.resourcemanager.principal
);

SHOW DATABASES FROM hive_krb;

执行失败: Error Failed to execute sql: java.sql.SQLException: (conn=14) RuntimeException, msg: javax.security.auth.login.LoginException: Unable to obtain password from user

1 Answers

kerberos认证失败问题|Unable to obtain password from user,可参考 Kerberos - Q4

  1. 用到的 principal 必须在 klist 中存在,使用klist -kt your.keytab检查。
  2. 检查 catalog 配置是否正确,比如漏配yarn.resourcemanager.principal。
  3. 若上述检查没问题,则当前系统 yum 或者其他包管理软件安装的 JDK 版本存在不支持的加密算法,建议自行安装 JDK 并设置JAVA_HOME环境变量。
  4. Kerberos 默认使用 AES-256 来进行加密。如果使用 Oracle JDK,则必须安装 JCE。如果是 OpenJDK,OpenJDK 的某些发行版会自动提供无限强度的 JCE,因此不需要安装 JCE。
  5. JCE 与 JDK 版本是对应的,需要根据 JDK 的版本来选择 JCE 版本,下载 JCE 的 zip 包并解压到$JAVA_HOME/jre/lib/security目录下:
    JDK6
    JDK7
    JDK8