Ich versuche, Rhadoop auf Cloudera Hadoop Distro (ich kann mich nicht erinnern, wenn seine CDH3 oder 4), und laufen auf ein Problem: Rstudio Server scheint nicht meine globalen Variablen zu erkennen.RStudio-Server-Umgebungsvariablen werden nicht geladen?
In meiner /etc/profile.d/r.sh Datei, die ich habe:
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/
Wenn ich R vom Terminal laufen, erhalte ich:
> Sys.getenv("HADOOP_CMD")
[1] "usr/bin/hadoop"
Aber wenn ich laufen Rstudio Server:
> Sys.getenv("HADOOP_CMD")
[1] ""
Und als Ergebnis, wenn ich versuche, rhdfs auszuführen:
> 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'
Weiß jemand, wo ich meine Umgebungsvariablen setzen sollte, wenn nicht in dieser spezifischen r.sh-Datei?
Danke!
... Ich habe HADOOP_CMD = "/ usr/bin/hadoop" meiner ~/.Rprofile, aber das schien nicht den Trick zu tun. Rstudio Server gibt immer noch ein "" Ergebnis für Sys.getenv ("HADOOP_CMD"). – AI52487963
Arbeitete für mich Ich habe 'SOMEVAR =/somepath' zu'/usr/lib/R/etc/Renviron' hinzugefügt. 'R.home() ="/usr/lib/R "'. Ich habe RStudio neu gestartet und 'Sys.getenv ('SOMEVAR')' hat die Variable korrekt gefunden. – user1609452
Entschuldigung, ich bin neu auf dem ersten Server und kann nicht herausfinden, wo das Renviron-Profil sitzen würde. In '/ usr/lib /' habe ich nur 'rududio-server' und Unterordner' bin', 'extras',' R', 'resources' und' www'. Gibt es einen empfohlenen Ort, um eine Renviron-Datei zu starten? – AI52487963