Не могу получить царство Kerberos - PullRequest
0 голосов
/ 29 октября 2018

Я новичок в Kerberos / hive, хочу подключить куст (Kerberos реализован) с использованием JDBC.

> > org.apache.hadoop.conf.Configuration conf = new
> > org.apache.hadoop.conf.Configuration();
> >             conf.set("hadoop.security.authentication", "Kerberos");
> >             UserGroupInformation.setConfiguration(conf);
> >             UserGroupInformation.loginUserFromKeytab("<principal>", "<path to keytab file>");
> > 
> > 
> > Class.forName(Util.getConstantProperty("hive.class.name"));
> > 
> > log.info("Making connection with Hive DB"); hiveConn =
> > DriverManager.getConnection("<hive db url>",,"hive.user","");

получая ошибку:

2018-10-29 20:32:50 ERROR ConnectionHandler:80 - java.lang.IllegalArgumentException: Can't get Kerberos realm java.lang.IllegalArgumentException: Can't get Kerberos realm
        at org.apache.hadoop.security.HadoopKerberosName.setConfiguration(HadoopKerberosName.java:65)
        at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:263)
        at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:299)
        at utils.ConnectionHandler.connectHiveDB(ConnectionHandler.java:58)

1 Ответ

0 голосов
/ 29 октября 2018

дополнительно предложение от Прази в комментариях

Не забудьте установить область по умолчанию в krb5.conf

и если у вас все еще есть проблемы, добавьте отладку kerberos в вашу командную строку

export HADOOP_OPTS="-Dsun.security.krb5.debug=true"
export HADOOP_ROOT_LOGGER=DEBUG,console
...