web-dev-qa-db-ja.com

Rstudio-サーバー環境変数がロードされていませんか?

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ファイルにない場合、環境変数をどこに置くべきか誰かが知っていますか?

ありがとう!

16
AI52487963

環境変数は.RenvironまたはRenviron.siteで設定する必要があります。これらのファイルはR_HOME/etc/Renviron.siteで定義されていると思います。次のように入力すると、詳細情報を取得できます。

> ?Startup

誰かが同様の問題を抱えていました ここ そしてこれは彼がそれを解決するためにしたことです。

12
Charles Menguy

Windowsでは、Rは/Users/<name>/Documentsにある.Renvironファイルを検索しますが、RStudioは.Renvironファイルが/Users/<name>/にあることを期待しているように見えることに注意してください。

3

Rstudioで次のように環境変数を設定する必要があります

Sys.setenv( "/ path to hadoop")

そして、あなたはこれを試してみます

0
user3273633