作者rlearner (rlearner)
看板R_Language
标题Re: [问题] r+hadoop中rmr/rhdfs问题
时间Thu Dec 29 18:02:00 2016
不确定是否正确,但可以library(rmr2)和library(rhdfs)了@@
但却有新的问题>"<
我重新安装一次,并且不修改
brashrc、/etc/profile和/etc/envirment三个档案,
如下:
※ 引述《rlearner (rlearner)》之铭言:
: [目的]
: 在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
(ps R真的只要装在master就好了~^^)
: 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
[重新安装]
以下为重装一次,只省略那三个档案
brashrc、/etc/profile、/etc/envirment
不新增路径,如下影片
https://www.youtube.com/watch?v=w70h_u8qoHM&t=895s
[library rmr rhdfs]
新问题
先进入R:
$sudo R
#再输入路径
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")
library(rJava)#没问题
library(rhdfs)#没关题
#但在hdfs.init()时出现错误讯息
hdfs.init()
#出现unable to load native-hadoop library for your plamform...
using builtin-java classes where applicable
library(rmr2)
#出现要我 review your hadoop setting
#但是以下程式没问题:
rmr.options(backend = 'local')
small.ints = to.dfs(1:100)
mapr = mapreduce(input = small.ints,
map = function(k,v) cbind(v,v^2))
result = from.dfs(mapr)
result
#可是神奇的是关掉另外两个node一样能执行
#是不是我的程式并没有连到另两台node???
@@
[问题总结]
1.rhdfs启动hdfs.init()为何无法连><
2.范例程式为什麽关掉node也能执行!!??感觉没有成功rhadoop
求解QAQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.128.101.143
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1483005722.A.930.html