代码改变世界

CentOS6.5安装RHadoop

2016-05-08 14:54  猎手家园  阅读(646)  评论(0编辑  收藏  举报

1、首先安装依赖包(各个节点都要安装)

[root@Hadoop-NN-01 ~]$ yum install gcc-gfortran
#否则报”configure: error: No F77 compiler found”错误

[root@Hadoop-NN-01 ~]$ yum install gcc gcc-c++
#否则报”configure: error: C++ preprocessor “/lib/cpp” fails sanity check”错误

[root@Hadoop-NN-01 ~]$ yum install readline-devel
#否则报”–with-readline=yes (default) and headers/libs are not available”错误

[root@Hadoop-NN-01 ~]$ yum install libXt-devel
#否则报”configure: error: –with-x=yes (default) and X11 headers/libs are not available”错误

 

2、下载RHadoop相关软件包

R-3.2.5.tar.gz      #https://cran.rstudio.com/src/base/R-3/
rmr-3.3.1           #https://github.com/RevolutionAnalytics/rmr2
rhdfs-1.0.8
rhbase-1.2.1        #以上软件下载地址:https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads
rJava
reshape2
Rcpp
iterators
itertools
digest
RJSONIO
functional
bitops
stringr
plyr
caTools
Rserve              #以上软件下载地址:http://cran.at.r-project.org/src/contrib/Archive/
Cairo #Linux下R的绘图软件:http://www.rforge.net/Cairo/files/ RStudio #https://www.rstudio.com/products/rstudio/download/ Thrift #https://thrift.apache.org/

 

3、安装R语言(各个节点都要安装)

[root@Hadoop-NN-01 mysofts]# tar zxf /mnt/mydisk/soft/R/R-3.2.5.tar.gz
[root@Hadoop-NN-01 mysofts]# cd R-3.2.5
[root@Hadoop-NN-01 R-3.2.5]# ./configure --prefix=/usr/local --disable-nls --enable-R-shlib  #两个选项--disable-nls --enable-R-shlib是为RHive的安装座准备,如果不安装RHive可以省去。
[root@Hadoop-NN-01 R-3.2.5]# make
[root@Hadoop-NN-01 R-3.2.5]# make install

其中readline-devel、libXt-devel在编译R的时候需要,而--enable-R-shlib是安装R的共享库,在安装Rstudio需要。

 

4、确认Java环境变量

RHadoop依赖于rJava包,安装rJava前确认已经配置了Java环境变量,然后进行R对jvm建立连接。

root@Hadoop-NN-01 ~]# R CMD javareconf

 

5、安装相关的依赖包,确保RHadoop软件包能正常使用

[root@Hadoop-NN-01 ~]# R
> install.packages("rJava")
> install.packages("reshape2")
> install.packages("Rcpp")
> install.packages("iterators")
> install.packages("itertools")
> install.packages("digest")
> install.packages("RJSONIO")
> install.packages("functional")
> install.packages("bitops")
> quit()

或者使用软件包安装:

[root@Hadoop-NN-01 mysofts]# R CMD INSTALL rJava_0.9-8.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL Rcpp_0.12.3.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL plyr_1.8.1.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL stringr_0.6.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL reshape2_1.4.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL iterators_1.0.7.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL itertools_0.1-1.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL digest_0.6.8.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL RJSONIO_1.2-0.2.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL functional_0.4.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL bitops_1.0-5.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL caTools_1.17.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL Cairo_1.5-9.tar.gz

 

6、安装RHadoop软件包

首先将下面的变量加入到环境变量中:

[root@Hadoop-NN-01 ~]# vi /etc/profile
export HADOOP_CMD=/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/bin/hadoop
export HADOOP_STREAMING=/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/share/hadoop/tools/lib/hadoop-streaming-2.6.0-cdh5.6.0.jar
 
[root@Hadoop-NN-01 ~]# source /etc/profile  #保存生效

安装

[root@Hadoop-NN-01 mysofts]# R CMD INSTALL rhdfs_1.0.8.tar.gz
[root@Hadoop-NN-01 mysofts]# R CMD INSTALL rmr2_3.3.0.tar.gz    #各个节点都要安装

 

7、使用RHadoop软件包

[root@Hadoop-NN-01 ~]# R
> library(rhdfs)
> hdfs.init()
> hdfs.ls("/")

如出现警告:

> hdfs.init() 
16/05/10 10:58:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

需要在/etc/profile中设置环境变量JAVA_LIBRARY_PATH:

export JAVA_LIBRARY_PATH=/home/hadoopuser/hadoop-2.6.0-cdh5.6.0/lib/native

再将native下面的libhadoop.so.0 及 libhadoop.so.1.0.0拷贝到 /usr/lib64下面:

[root@Hadoop-NN-01 ~]# cp /home/hadoopuser/hadoop-2.6.0-cdh5.6.0/lib/native/libhadoop.so /usr/lib64/
[root@Hadoop-NN-01 ~]# cp /home/hadoopuser/hadoop-2.6.0-cdh5.6.0/lib/native/libhadoop.so.1.0.0 /usr/lib64/

 

8、安装Rstudio Server

下载地址:https://www.rstudio.com/products/rstudio/download-server/

[root@Hadoop-NN-01 mysofts]$ wget https://download2.rstudio.org/rstudio-server-rhel-0.99.902-x86_64.rpm        #下载
[root@Hadoop-NN-01 mysofts]$ sudo yum install --nogpgcheck rstudio-server-rhel-0.99.902-x86_64.rpm             #安装
[root@Hadoop-NN-01 mysofts]$ rstudio-server start    #启动

报错:Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused

解决方案:

sudo dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

rstudio-server默认端口:8787

windows下访问:http://server-ip:8787

输入用户名、密码即可使用。

使用文档:https://support.rstudio.com/hc/en-us/articles/200552306-Getting-Started

配置RStudio Server(略)

 

9、Linux下运行R脚本

构建test.r脚本:

#!/usr/bin/Rscript
a<-c(1:20)
b<-rep(c(1:4),5)
c<-a/b
data<-data.frame(a,b,c)
write.table(data, file="/root/r_test", row.names=FALSE)

运行:

[root@Hadoop-NN-01 ~]# Rscript test.r

 

10、TIPS

A:R相关的软件包安装在/usr/local/lib64/R/library下,可以在该目录下查看是否已经安装了相应的软件包。

B:如果安装的时候不是用root身份安装,则R安装的软件包会在用户目录上,其他用户将使用不了软件包。

C:在安装rhbase软件需要安装thrift,在后面章节介绍。