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,在后面章节介绍。