Я пытаюсь запустить rhadoop на дистрибутиве Cloudera hadoop (я не могу вспомнить, есть ли его CDH3 или 4), и я столкнулся с проблемой: сервер Rstudio, похоже, не распознает мои глобальные переменные.
В моем файле /etc/profile.d/r.sh у меня есть:
export HADOOP_HOME=/usr/lib/hadoop
export HADOOP_CONF=/usr/hadoop/conf
export HADOOP_CMD=/usr/bin/hadoop
export HADOOP_STREAMING=/usr/lib/hadoop-mapreduce/
Когда я запускаю R из терминала, я получаю:
> Sys.getenv("HADOOP_CMD")
[1] "usr/bin/hadoop"
Но когда я запускаю сервер Rstudio:
> Sys.getenv("HADOOP_CMD")
[1] ""
И в результате, когда я пытаюсь запустить rhdfs:
> library("rJava", lib.loc="/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15")
> library("rhdfs", lib.loc="/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15")
Error : .onLoad failed in loadNamespace() for 'rhdfs', details:
call: fun(libname, pkgname)
error: Environment variable HADOOP_CMD must be set before loading package rhdfs
Error: package/namespace load failed for 'rhdfs'
Кто-нибудь знает, где я должен помещать переменные enviornment, если не в этом конкретном файле r.sh?
Спасибо!