R에서 rhive.conntc() 실행시 에러 때문에 이틀동안 삽질을 했다.
R에서 RHive를 사용해 hiveserver에 접속하기위해 아래와 같이 initiate하였다.
library("RHive")
rhive.init(hiveHome="/home/project/hive", hiveLib="/home/project/hive/lib", hadoopConf="/home/project/hadoop/conf", hadoopHome="/home/project/hadoop", hadoopLib="/home/project/hadoop/lib", verbose="true")
rhive.connect(host="192.168.10.181", port=10000, hiveServer2=FALSE)
설정은 잘됬는데 문제는 rhive.connect() 실행시 아래와같은 에러 메시지가 올라오면서 hiveserver에 붙지 않았다
ERROR security.UserGroupInformation: Unable to find JAAS classes:com.sun.security.auth.UnixPrincipal not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/lib64/R/library/rJava/java/boot/], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
Error: Failed to connect to hdfs://192.168.10.181:9000.
알고보니 jdk 1.5 버전이 에러의 원인이 었다
그래서 rpm -qa | grep jdk를 하여 구 버전을 찾아 지우고 jdk 1.7로 올렸다.
jdk 버전업하면 반드시 R CMD javareconf 명령으로 R내의 java configuration을 업데이트 해줘야 한다.
인자값을 제대로 전달되지 않았다고 에러메시지가 뜨면 RHive 레퍼런스 메뉴얼을 참조하면됨
http://cran.r-project.org/web/packages/RHive/RHive.pdf
빠른 답변으로 절 삽질에서 구제 해주신 넥스알 RHive 담당자분에게 감사드립니다ㅠㅠ