복붙노트

[HADOOP] 어떻게 커버 로스 키 탭에 R을 통해 HIVE와 연결?

HADOOP

어떻게 커버 로스 키 탭에 R을 통해 HIVE와 연결?

나는 원격으로 R을 통해 하이브 서버에 연결을 시도하고, 그리고 난이 커버 로스 키 탭 파일을 사용하여 인증을 수행 할 수 있습니다.

내가 키 탭을 통해 사용자가 로그인을 시도 할 때, 오류가 나타납니다.

#loading libraries

library("RJDBC")

hadoop.class.path <- list.files(path = c("C:/Users/antonio.silva/Desktop/jars/hadoop/"), pattern = "jar", full.names = T)
hive.class.path <- list.files(path = c("C:/Users/antonio.silva/Desktop/jars/hive/"), pattern = "jar", full.names = T)
class.path = c(hadoop.class.path,hive.class.path)
.jinit(classpath=class.path)
conf = .jnew("org.apache.hadoop.conf.Configuration")
conf$set("hadoop.security.authentication", "kerberos")
ugi = J("org.apache.hadoop.security.UserGroupInformation")
ugi$setConfiguration(conf)
path = "C:/Users/antonio.silva/Desktop/jars/antonio.silva.keytab"
ugi$loginUserFromKeytab('antonio.silva@HADOOPREALM.LOCAL', path)

내가 무슨 일을하고 있는가?

해결법

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

    1.나는 내가 java 디렉토리에 배치되는 MIT에서 Kerberos의 conf 파일 (krb5.conf의) "을 필요가 밝혀 해결책을 발견"~ \ 자바 \ jre1.8.0_192 \ lib 디렉토리 \ 보안 ".

    나는 내가 java 디렉토리에 배치되는 MIT에서 Kerberos의 conf 파일 (krb5.conf의) "을 필요가 밝혀 해결책을 발견"~ \ 자바 \ jre1.8.0_192 \ lib 디렉토리 \ 보안 ".

    디렉토리에 파일을 붙여 넣기 후, 나는 이전에 발표 된 코드의 추가에 다음 코드를 사용하여, 하이브 서버에 성공적으로 연결된 연결을 수행 할 수 있었다 :

    drv <- JDBC("org.apache.hive.jdbc.HiveDriver")
    conn <- dbConnect(drv, "jdbc:hive2://hivename:10000/default;principal=hive/_HOST@HADOOPREALM.LOCAL")
    

    내가 연결에 대한 대답을 배치하고 구성 R.와 HDFS 서버에있는 파일을 읽고 쓰기 위해 수행하는 데 필요한 HDFS에 R를 통해 연결을 수행하는 데 필요한 경우이 자격 검증은 유효

    HDFS 구성 방법 : R을 통해 HDFS에 액세스하려면?

  2. from https://stackoverflow.com/questions/53618077/how-to-connect-with-hive-via-r-with-kerberos-keytab by cc-by-sa and MIT license