복붙노트

[HADOOP] impala 및 hbase에 연결하는 중 Kerberos 오류가 발생했습니다.

HADOOP

impala 및 hbase에 연결하는 중 Kerberos 오류가 발생했습니다.

우리는 HDFS, HBase 및 임팔라와 같은 hadoop 구성 요소와 상호 작용하는 웹 응용 프로그램을 개발하고 있습니다. 클러스터가 kerberized, 우리는 JAAS 구성을 사용하여 인증합니다. 다음과 같이 VM 인수에 JAAS를 구성합니다.

-Djava.security.auth.login.config=/user/gss-jaas.conf
-Djava.security.krb5.conf=/user/krb5.ini
-Djavax.security.auth.useSubjectCredsOnly=false 

JAAS 설정은 다음과 같습니다.

com.sun.security.jgss.initiate {
  com.sun.security.auth.module.Krb5LoginModule required
  useTicketCache=false
  doNotPrompt=true
  useKeyTab=true
  keyTab="file:C:/blah/blah/dummy.keytab"
  principal="dummy@SOME.REALM"
  debug=false;
};

hbase 및 Hdfs에 연결할 때 제대로 작동합니다. 그러나 Impala와 연결되는 동안 우리는 문제에 직면 해 있습니다. com.sun.security.jgss.initiate를 Client로 변경하면 Impala와 연결할 수 있습니다. 그러나 우리는 Jaas 설정을 변경하거나 전환하고 싶지 않습니다.

모든 서비스에 동일한 JAAS 구성 파일을 사용할 수있는 방법이 있습니까? 우리는 System.setProperties를 사용하여 이것을 원하지 않습니다. 또한 JAAS 구성을 전환 할 때 예외가 발생합니다. 따라서 동일한 설정 파일을 사용하는 것이 더 좋을 것입니다.

어떤 도움?

해결법

  1. ==============================

    1.전환 할 필요가 없습니다. 둘 다 사용하십시오!

    전환 할 필요가 없습니다. 둘 다 사용하십시오!

    왜 두 가지가 필수인지 궁금해하셨습니까? - 마지막 매개 변수 다음에 하나, 중괄호 뒤에 하나? 왜냐하면 동일한 구성 파일에서 섹션 내에서 정의 된 여러 메커니즘 (첫 번째부터 마지막까지 시도한)과 여러 섹션 (이름이 다른)을 가질 수 있기 때문입니다.

    Kafka 설명서에서 브로커와 클라이언트 응용 프로그램에 대한 JAAS 구성을 같은 파일에 설정하는 방법을 살펴보십시오. http://docs.confluent.io/current/kafka/sasl.html

    그리고 여러 가지 메커니즘에 대해 궁금한 점이있는 경우 Java 설명서를 살펴보십시오 (그러나 조심해야 할 것은 디버그 및 디버그에 악몽입니다 ...) https://docs.oracle.com/javase/8/docs/ jre / api / security / jaas / spec / com / sun / security / auth / module / Krb5LoginModule.html

  2. from https://stackoverflow.com/questions/45770743/kerberos-error-connecting-to-impala-and-hbase by cc-by-sa and MIT license