CentOS6.5安裝RHadoop

獵手家園發表於2016-05-08

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,在後面章節介紹。

 

相關文章