作者rlearner (rlearner)
看板R_Language
標題[問題] r+hadoop中rmr/rhdfs問題
時間Tue Dec 27 22:44:49 2016
[目的]
在VM上建立三台虛擬機
並建立rhadoop
執行簡單的rmr範例
[問題簡敘]=============================================================
在VM虛擬器上建立hadoop環境建三台機子,
master,node1,node2
裝好了hadoop(hadoop可以運作)
但是裝R時遇到了無法library:rmr和rhdfs的問題
且無法install.packages:rJava套作
上敘的環境我裝了兩次
第一次(環境一)不知怎麼的就成功install.packges:
rJava的套,但第二次重裝(環境二)卻怎麼樣也無法成功下載
rJava,若rJava無法,rmr跟rhdfs也用不了了!!
[環境一]((提外話~之前莫明成功???)))=====================================
怎麼裝有點忘了,但跟第二次差不多
感覺還是有點問題...(下有影片連結)
https://www.youtube.com/watch?v=ByAisA_dQxI&feature=youtu.be
[環境二](!!!!!主要問題!!!!!!現在安裝失敗)))=============================
[安裝步驟]
以下是我安裝的方法:(文長)(含安裝步驟影片)
https://www.youtube.com/watch?v=QTHfV_xYr8A&t=145s
沒剪輯7:04-14:30可跳過~下載很久@@
啟動hadoop
cd ~/hadoop && sbin/start-all.sh
------------------------------------------------
sudo vim .bashrc
sudo vim /etc/environment
sudo vim /etc/profile
在以上三個檔中新增路徑
export JAVA_HOME=/usr/lib/jvm/jdk/
export HADOOP_CMD=/home/hduser/hadoop/bin/hadoop
export HADOOP_HOME=/home/hduser/hadoop
export
HADOOP_STREAMING=/home/hduser/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar
重啟三個檔案
. /etc/environment
. /etc/profile
source .bashrc
-----------------------------------------------------------------------------
三個機子都要安裝R
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install r-base
sudo apt-get install r-base r-base-dev
java 設訂------------------
echo $JAVA_HOME
sudo JAVA_HOME=/usr/lib/jvm/jdk/ R CMD javareconf
in the R--------------------
進入R
sudo R
這裡有錯誤,無法下載rJava(!!!!!問題所在)(註1)
install.packages(c("codetools","R","Rcpp","RJSONIO","bitops","digest","functional","stringr","plyr","reshape2","rJava","caTools"))
下載rmr 和 rhdfs
wget --no-check-certificate
https://raw.github.com/RevolutionAnalytics/rmr2/3.3.0/build/rmr2_3.3.0.tar.gz
wget --no-check-certificate
https://raw.github.com/RevolutionAnalytics/rhdfs/master/build/rhdfs_1.0.8.tar.gz
在R中----------------------
第二次安裝出錯 (註2)
install.packages("/home/hduser/rhdfs_1.0.8.tar.gz", repos=NULL, type="source")
install.packages("/home/hduser/rmr2_2.2.2.tar.gz", repos = NULL,
type="source")
Sys.setenv(HADOOP_HOME="/home/hduser/hadoop")
Sys.setenv(HADOOP_PREFIX="/home/hduser/hadoop")
Sys.setenv(HADOOP_CMD="/home/hduser/hadoop/bin/hadoop")
Sys.setenv(HADOOP_STREAMING="/home/hduser/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar")
Sys.getenv("HADOOP_CMD")
後面就不用看了...因為全不行@@
------------------------------------
無法下載rJava後,後面步驟都出錯了QQ
[錯誤息訊]=============================================================
(安裝環境二)
https://www.youtube.com/watch?v=QTHfV_xYr8A&t=145s
7:04-14:30可跳過~下載很久@@
(註1)14:30
在install.packages(c("codetools","R","Rcpp","rJava"...後失敗,錯誤訊息:
...waring messages:
1: package 'R' is not available (for R version 3.2.3)
2: Ln install.packages(c(......) 'rJava' had non-zero exit status
(註2)16:38
install.packages("/home/hduser/rhdfs_1.0.8.tar.gz", repos=NULL, type="source")
install.packages("/home/hduser/rmr2_2.2.2.tar.gz", repos = NULL,
type="source")
兩個都出現:
would you like to use a personal library instead?
我只能選y
懷疑這裡也出了問題
因為RDM網站有提到library要設定給所有用戶(其實不太懂意思..@@)
http://www.rdatamining.com/big-data/r-hadoop-setup-guide
在7.1 Install relevant R packages的地方
原文:
RHadoop packages are dependent on above packages,
which should be installed for all users, instead of in personal library.
....文長以下略
但我不知到在install.packages那些套件前
要怎麼給所有使用者用(這裡的意思應該是三台機子吧@@
[版本]=============================================================
(三台機子都是)
ubuntu 16.04.1
hadoop-2.7.3
R 3.2.3
rmr2 3.3.0
rhdfs 1.0.8
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.128.101.143
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1482849895.A.A0C.html
→ celestialgod: 可以問有什麼需求一定要用rhdfs跟rmr嗎? 12/27 22:53
→ celestialgod: 不然我個人覺得用sparklyr就很夠了 12/27 22:54
→ celestialgod: 不知道有沒有幫助 可以參考看看 12/27 22:55
→ celestialgod: 不過我那篇用英文寫,我英文爛,不懂可以在留言QQ 12/27 22:55
→ rlearner: 好,謝謝你我試試,能問一下spark+R跟rhadoop有什麼不一樣 12/27 23:04
→ rlearner: 嗎? @@ 太感謝你了 12/27 23:05
→ celestialgod: 你知道hadoop跟spark的差異嗎? 12/27 23:12
→ celestialgod: 知道這點大概就清楚了吧 12/27 23:12
→ rlearner: 兩個似乎都是做分散式計算的@@ 12/27 23:17
→ obarisk: job給yarm分配,其實不用每台都裝r 12/27 23:17
→ rlearner: 好的 謝謝提醒@@ 12/27 23:20
推 Edster: 卡在rjava的話,有些機率是要去手動更新java, 至於x64或x 12/27 23:30
→ Edster: 86的java, 看你的R決定. 另外, java跟rjava版本要對應, 12/27 23:30
→ Edster: 其中一個太新都不行。 12/27 23:30
→ celestialgod: java那時候我記得我是裝oracle jdk 12/27 23:31
→ celestialgod: 然後都要跑R cmd javareconf,openjdk要移除掉 12/27 23:32
→ celestialgod: 我不確定現在openjdk是否work正常 12/27 23:32
→ celestialgod: 然後all users這個的話 就建議用sudo開R裝套件 12/27 23:33
→ celestialgod: 就會直接安裝到r安裝目錄下的library 12/27 23:33
→ celestialgod: 不然我是直接把R library給775權限,全user都可以裝 12/27 23:33
→ rlearner: 謝謝大大們,我先消化一下@@ 12/27 23:51
→ rlearner: 請問給775權限是什麼意思?是sudo su root嗎? 12/28 00:00
→ howard40116: 775代表更改權限為rwxrwxr-x 12/28 01:38
→ rlearner: 感謝^^ 12/29 17:42