Rhadoop集群搭建

来源:互联网 发布:魔戒亡灵大军 知乎 编辑:程序博客网 时间:2024/05/18 08:31

系统架构:

这种死板的东西,只简要介绍。

安装R:

这个比较烦,开始几个节点无法联网,yum install R 报错。最后还是实现编译安装,当然编译一次,复制到其他节点即可。

 
 

CenOS7中安装,如果到官网下载,只能下载到readme  https://mirrors.tuna.tsinghua.edu.cn/CRAN/  

查看readme发现R项目已经迁移到RHEL,所以先安装源

yum install epel-release

直接sudo yum install R(sudo apt-get install r-base)安装,R比较大400M,先安装R再复制虚拟机。

 
 

编译安装:

wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz

(1)error: C++ preprocessor "/lib/cpp" fails sanity check

yum install glibc-headers

yum install gcc-c++

(2)

yum -y install gcc

yum install readline-devel

yum install libXt-devel

 
 

(3)cannot compile a simple Fortran program

编译运行都需要!

yum install gcc-gfortran

 
 

yum install zlib-devel

yum -y install bzip2-devel

yum -y install xz-devel.x86_64

 
 

yum install pcre

yum install pcre-devel

yum install libcurl-devel

 
 

./configure --prefix=/opt/R-3.4.1--enable-R-shlib #设置工作路径

 make && make install

 
 

 
 

安装RStudio:

下载后,解压即可打开,无需安装,这个安装到windows开发机上。

 
 

安装JDK:

服务器运行环境,还是安装jre比较简单实用。

install.packages("rJava")

 
 

 
 

安装Hadoop(2.7.1):

hadoop集群安装,配置有点麻烦,后续把笔记分享出来.

 
 

安装RHIPE:

 
 

 
 

RHIPE是R和Hadoop连接器,和RHadoop一样。

先安装protobuf(协议缓存组件)做数据交换:

最新版3.3:https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip

make install 安装

安装rhipe:

最新版本2015年更新: http://ml.stat.purdue.edu/rhipebin/Rhipe_0.75.2_hadoop-2.tar.gz

R CMD INSTALL Rhipe_0.75.2_hadoop-2.tar.gz

 
 

设置环境变量: 

 

 
 

安装RHadoop:

CentOS系统安装依赖包:

yum -y install libcurl libcurl-devel openssl-devel

 
 

先安装RHadoop依赖包:

install.packages(c("rJava","itertools","httr","devtools","plyr","reshape2","Rcpp","iterators","digest","RJSONIO","functional"))

 
 

下载RHadoop三个包:

https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads

R CMD INSTALL xx1.tar.gz

R CMD INSTALL xx2.tar.gz

R CMD INSTALL xx3.tar.gz

 
 

 
 

RHadoop调用hadoop streaming,实现多语言开发。

hadoop streaming使用:

bin/hadoop jar /opt/hadoop-2.7.1/share/hadoop/tools/lib/hadoop-streaming-2.7.1.jar\

-input myInputDirs \

-output myOutputDir \

-mapper /bin/cat \

-reducer /usr/bin/wc