Я написал Java-приложение для соединения с hive-metastore.Он работает нормально, но когда я запускаю jar-файл в Linux, он запрашивает имя пользователя и пароль Kerberos.Я уже указал основной код Kerberos и файл keytab в своем коде.И я не хочу использовать дополнительный файл jass.config.Есть ли способ решить эту проблему?
Вот мой исходный код
HiveConf conf = new HiveConf();
MetastoreConf.setVar(conf, ConfVars.THRIFT_URIS, "thrift://HOSTNAME:9083");
MetastoreConf.setBoolVar(conf, ConfVars.USE_THRIFT_SASL, true);
MetastoreConf.setVar(conf, ConfVars.KERBEROS_PRINCIPAL, "hive/HOSTNAME@example.com");
MetastoreConf.setVar(conf, ConfVars.KERBEROS_KEYTAB_FILE, "hive.keytab");
System.setProperty("java.security.krb5.realm", "EXAMPLE.COM");
System.setProperty("java.security.krb5.kdc", "HOSTNAME");
System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
HiveMetaStoreClient client = new HiveMetaStoreClient(conf);
client.close();
Ожидаемый результат - Это должно успешно проверить соединение
Фактический результат -
java -jar Приложение
Имя пользователя Kerberos [root]: Пароль Kerberos [root]:
Я хочу обойти аутентификацию в терминале Kerberos.Есть ли способ сделать это?