2013-05-17 4 views
0

Я пытаюсь настроить RHive в среде CDH4. При чтении пакета «RHive» в R ошибка возвращается. Я предполагаю, что это из-за неправильных домов. Если да, то какие будут правильные? Или, если это не причина, что с этим не так?Hadoop и Hive дома в CDH4

Любая помощь будет очень признательна.

Спасибо.

> Sys.setenv(HIVE_HOME="/etc/hive") 
> Sys.setenv(HADOOP_HOME="/etc/hadoop") 
> library(RHive) 
Loading required package: rJava 
Loading required package: Rserve 
This is RHive 0.0-7. For overview type '?RHive'. 
HIVE_HOME=/etc/hive 
[1] "there is no slaves file of HADOOP. so you should pass hosts argument when you call rhive.connect()." 
Error : .onLoad failed in loadNamespace() for 'RHive', details: 
    call: .jnew("org/apache/hadoop/conf/Configuration") 
    error: java.lang.ClassNotFoundException 
In addition: Warning message: 
In file(file, "rt") : 
    cannot open file '/etc/hadoop/conf/slaves': No such file or directory 
Error: package/namespace load failed for 'RHive' 
+0

Похоже на себя сам пояснительный. Вам не хватает файла «slaves», который указывает, какие узлы находятся в кластере. – greedybuddha

ответ

0

Вы должны установить HADOOP_CONF_DIR отдельно. Попробуйте экспортировать $ HADOOP_CONF_DIR =/etc/hadoop/conf/conf.pseudo

В conf.pseudo есть файл подчиненных.

Хотя мне было бы интересно узнать, можете ли вы сделать RHive работу с CDH4.

+0

Спасибо за ответ! Я дам ему шанс и опубликую результаты. –

+0

Кажется, что RHive работает с CDH4. Вы можете посмотреть http://stackoverflow.com/questions/16783549/rhive-not-working-with-cdh4. Хотя у меня не было возможности снова взглянуть на него. Если вы его заработаете, пожалуйста, напишите, как вы это сделали. Благодарю. –

2
Had the problems but solved it. Downside is that I have to keep track of a bunch of sym links 

After struggling with install RHive_0.0-7.tar.gz on CDH 4.7.x and getting: 
Warning in file(file, "rt") : 
cannot open file '/etc/hadoop/conf/slaves': No such file or directory 
[1] "there is no slaves file of HADOOP. so you should pass hosts argument when you call rhive.connect()." 

In /etc/hadoop/conf 
I added a the following sym link ----> ln -s /opt/cloudera/parcels/CDH-4.4.0-1.cdh4.4.0.p0.39/etc/hadoop/conf.empty/slaves slaves 
(why Cloudera CHD 4.7 installs in /opt without creating the proper sym links from /usr/lib is puzzling) 

I also defined the followingin /usr/lib64/R/etc/Renviron 
## set hive paths 
HIVE_HOME='/opt/cloudera/parcels/CDH-4.4.0-1.cdh4.4.0.p0.39/lib/hive' 
HADOOP_HOME='/opt/cloudera/parcels/CDH-4.4.0-1.cdh4.4.0.p0.39/lib/hadoop' 
LD_LIBRARY_PATH='/opt/cloudera/parcels/CDH-4.4.0-1.cdh4.4.0.p0.39/lib/hadoop' 

At a shell prompt I ran R CMD INSTALL RHive_0.0-7.tar.gz 
Installation Happiness!! 

++++++ 
Inside R-Studio (server) 

> 
> library(RHive) 
Loading required package: rJava 
Loading required package: Rserve 
This is RHive 0.0-7. For overview type ‘?RHive’. 
HIVE_HOME=/opt/cloudera/parcels/CDH-4.4.0-1.cdh4.4.0.p0.39/lib/hive 
call rhive.init() because HIVE_HOME is set. 
rhive.init() 
> 
+++++++ 
Смежные вопросы