Tôi đang cố gắng chạy rhadoop trên bản phân phối của Cloudera (Tôi không thể nhớ nếu CDH3 hoặc 4) của nó, và đang chạy vào một vấn đề: Rstudio server dường như không nhận ra các biến toàn cầu của tôi.Biến môi trường máy chủ Rstudio không tải?
Trong file /etc/profile.d/r.sh tôi, tôi có:
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/
Khi tôi chạy R từ nhà ga, tôi nhận được:
> Sys.getenv("HADOOP_CMD")
[1] "usr/bin/hadoop"
Nhưng khi tôi chạy máy chủ Rstudio:
> Sys.getenv("HADOOP_CMD")
[1] ""
Và kết quả là, khi tôi cố gắng chạy 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'
Có ai biết nơi tôi nên đặt các biến môi trường của mình nếu không có trong tệp r.sh cụ thể đó không?
Cảm ơn!
Hmm ... Tôi thêm HADOOP_CMD = "/ usr/bin/hadoop" để tôi ~/.Rprofile, nhưng điều đó dường như không làm các trick. Máy chủ Rstudio vẫn cung cấp kết quả "" cho Sys.getenv ("HADOOP_CMD"). – AI52487963
Làm việc cho tôi tôi đã thêm 'SOMEVAR =/somepath' vào'/usr/lib/R/etc/Renviron'. 'R.home() ="/usr/lib/R "'. Tôi khởi động lại RStudio và 'Sys.getenv ('SOMEVAR')' tìm thấy biến một cách chính xác. – user1609452
Xin lỗi, tôi mới dùng rstudio-server và dường như không thể tìm ra vị trí của hồ sơ Renviron. Trong '/ usr/lib /' tôi chỉ có 'rstudio-server' và các thư mục con' bin', 'extras',' R', 'resources', và' www'. Có một điểm được đề nghị để bắt đầu một tệp Renviron trong không? – AI52487963