2013-06-01 5 views
13

मैं क्लौडेरा के हैडूप डिस्ट्रो (मुझे इसकी सीडीएच 3 या 4 याद नहीं है) पर rhadoop चलाने की कोशिश कर रहा हूं, और एक समस्या में चल रहा है: Rstudio सर्वर मेरे वैश्विक चर को पहचानने के लिए प्रतीत नहीं होता है।Rstudio-server पर्यावरण चर लोड नहीं हो रहा है?

मेरी /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/ 

जब मैं टर्मिनल से आर चलाने के लिए, मैं:

> 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 फ़ाइल में नहीं होने पर मुझे अपने enviornment चर को कहां रखना चाहिए?

धन्यवाद!

उत्तर

11

आपको .Renviron या Renviron.site में अपने पर्यावरण चर सेट करना चाहिए। मुझे लगता है कि इन फ़ाइलों को R_HOME/etc/Renviron.site के तहत परिभाषित किया गया है। आप लिखने से और अधिक जानकारी प्राप्त कर सकते हैं:

> ?Startup 

किसी ने वही समस्या here था और यह है कि क्या वह इसे हल करने के लिए किया था।

+0

हम्म ... मैं HADOOP_CMD = "/ usr/bin/Hadoop" मेरी ~/.Rprofile को जोड़ा गया है, लेकिन है कि चाल करने के लिए नहीं मालूम था। Rstudio सर्वर अभी भी Sys.getenv ("HADOOP_CMD") के लिए परिणाम देता है। – AI52487963

+1

मेरे लिए काम किया मैंने 'SOMEVAR =/somepath' को'/usr/lib/r/etc/Renviron' में जोड़ा। 'R.home() ="/usr/lib/r "'। मैंने RStudio को पुनरारंभ किया और 'Sys.getenv ('SOMEVAR') 'सही ढंग से चर पाया। – user1609452

+0

क्षमा करें, मैं rstudio-server के लिए नया हूं और यह पता लगाने में प्रतीत नहीं होता कि रेन्यूवायर प्रोफाइल कहां बैठेगा। '/ Usr/lib /' में मेरे पास केवल 'rstudio-server' और उपफोल्डर' बिन', 'अतिरिक्त ',' आर', 'संसाधन', और' www' है। क्या एक नवीनीकरण फ़ाइल शुरू करने के लिए कोई अनुशंसित स्थान है? – AI52487963

0

आप

Sys.setenv ("/ पथ Hadoop के लिए")

और फिर आप की कोशिश इस

+0

यह पथ समस्याओं को हल करने का एक प्रभावी तरीका है, लेकिन कृपया ध्यान दें कि सही वाक्यविन्यास 'Sys.setenv (HADOOP_CMD ="/path/to/hadoop ") होगा। – FvD

2

ध्यान दें कि विंडोज पर, अनुसंधान के लिए लगता है कि Rstudio में अपने वातावरण चर सेट करना चाहिए /Users/<name>/Documents में पुनर्विक्रेता फ़ाइल, जबकि RStudio अपेक्षा करता है कि RENOOD फ़ाइल /Users/<name>/ में हो।

संबंधित मुद्दे