[英]Rstudio-server environment variables not loading?
I'm trying to run rhadoop on Cloudera's hadoop distro (I can't remember if its CDH3 or 4), and am running into an issue: Rstudio server doesn't seem to recognize my global variables. 我正在尝试在Cloudera的hadoop发行版上运行rhadoop(我不记得它的CDH3或4),并且遇到了一个问题:Rstudio服务器似乎无法识别我的全局变量。
In my /etc/profile.d/r.sh file, I have: 在我的/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/
When I run R from the terminal, I get: 当我从终端运行R时,我得到:
> Sys.getenv("HADOOP_CMD")
[1] "usr/bin/hadoop"
But when I run Rstudio server: 但是当我运行Rstudio服务器时:
> Sys.getenv("HADOOP_CMD")
[1] ""
And as a result, when I try to run rhdfs: 结果,当我尝试运行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'
Does anyone know where I should be putting my enviornment variables if not in that specific r.sh file? 有没有人知道我应该把我的环境变量放在那个特定的r.sh文件中?
Thanks! 谢谢!
You should set your environment variables in .Renviron
or Renviron.site
. 您应该在
.Renviron
或Renviron.site
设置环境变量。 I think these files are defined under R_HOME/etc/Renviron.site
. 我认为这些文件是在
R_HOME/etc/Renviron.site
下定义的。 You can get more information by typing: 您可以输入以下内容获取更多信息:
> ?Startup
Someone had a similar issue here and this is what he did to solve it. 有人在这里有类似的问题,这就是他为解决这个问题所做的。
请注意,在Windows上,R在/Users/<name>/Documents
查找.Renviron文件,而RStudio似乎期望.Renviron文件位于/Users/<name>/
。
You should set your environment variables in Rstudio like 你应该在Rstudio中设置你的环境变量
Sys.setenv("/path to hadoop") Sys.setenv(“/ hadoop路径”)
and then you try this 然后你试试这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.