rstudio服务器环境变量未加载?

cngwdvgl  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(527)

我试图在cloudera的hadoop发行版上运行rhadoop(我不记得它是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'

有人知道我应该把我的环境变量放在哪里吗?如果没有放在特定的r.sh文件中的话?
谢谢!

hpcdzsge

hpcdzsge1#

请注意,在windows上,r在中查找.renviron文件 /Users/<name>/Documents ,而rstudio似乎希望.renviron文件在 /Users/<name>/ .

nwlqm0z1

nwlqm0z12#

您应该在rstudio中设置环境变量,就像
sys.setenv(“/path to hadoop”)
然后你试试这个

col17t5w

col17t5w3#

您应该在中设置环境变量 .Renviron 或者 Renviron.site . 我认为这些文件是在 R_HOME/etc/Renviron.site . 您可以通过键入以下内容获取更多信息:

> ?Startup

有人在这里有一个类似的问题,这就是他所做的来解决它。

相关问题