невозможно подключиться к улью из rstudio - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь использовать rJava и rstudio для подключения к кусту apache, как показано ниже:

library(rJava)
library(RJDBC)
library("DBI")

options(java.parameters = '-Xmx8g')
hadoop_jar_dirs <- c('/hadoop/common/','/hadoop/apache-hive-3.1.0-bin/lib/')
clpath <- c()
for (d in hadoop_jar_dirs) {
  clpath <- c(clpath, list.files(d, pattern = 'jar', full.names = TRUE))
}
.jinit(classpath = clpath)
.jaddClassPath(clpath)

hive_jdbc_jar <- c('/hadoop/lib/hive-jdbc-3.1.0.jar')
hive_driver <- c('org.apache.hive.jdbc.HiveDriver')
hive_url <- c('jdbc:hive2://localhost:10000/default','user','passed')
drv <- JDBC(hive_driver, hive_jdbc_jar)
conn <- dbConnect(drv, hive_url)

Я получаю эту ошибку:

018-10-02T13:29:06,804 WARN [main] org.apache.hive.jdbc.HiveConnection - Failed to connect to <server>:10000
Error in .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1],  : 
  java.sql.SQLException: Could not open client transport with JDBC Uri: jdbc:hive2://<server>:10000/default: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: <user> is not allowed to impersonate anonymous
2018-10-02T13:29:06,886 WARN [main] org.apache.hive.jdbc.HiveConnection - Failed to connect to <server>:10000

Я обновил основной сайтXML-файл в соответствии с рекомендациями выглядит следующим образом:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:9000</value>

        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/hadoop/data/hadoop_tmp_data/</value>
        </property>
        <property>
                <name>hadoop.proxyuser.<user>.groups</name>
                <value>*</value>
        </property>
        <property>
                <name>hadoop.proxyuser.<user>.hosts</name>
                <value>*</value>
        </property>
</configuration>

, когда я нахожусь на сервере, я могу получить приглашение hive и выполнить команды, такие как

show tables;показать базы данных;

Есть идеи, что не так?

...