RHadoop安装
*********************************************************************************
hadoop集群(virtualBox虛擬機,CentOS6.4)
hadoop1 192.168.100.171(hadoop master、secondaryname、zookeeper、hbase HMaster)
hadoop2 192.168.100.172(zookeeper、hbase HRegion、Hive Shell)
hadoop3 192.168.100.173(hadoop slave、zookeeper、hbase HRegion)
hadoop4 192.168.100.174(hadoop slave、zookeeper、hbase HRegion)
hadoop5 192.168.100.175(hadoop slave、zookeeper、hbase HRegion)
dataserver 192.168.100.141(Hive metastore、MySQL Server、Oracle)
安裝文檔: hadoop2.2.0測試環境搭建 ?
*********************************************************************************
本次測試在dataserver進行
#yum install gcc-gfortran????????????? #否則報”configure: error: No F77 compiler found”錯誤
#yum install gcc gcc-c++????????????? #否則報”configure: error: C++ preprocessor “/lib/cpp” fails sanity check”錯誤
#yum install readline-devel????????? #否則報”–with-readline=yes (default) and headers/libs are not available”錯誤
#yum install libXt-devel???????????????? #否則報”configure: error: –with-x=yes (default) and X11 headers/libs are not available”錯誤
1:下載RHadoop相關軟件包,放置在/mnt/mydisk/R/目錄下
http://www.r-project.org/
R語言包
https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads
rhdfs? ???R使用HDFS相關軟件包
rmr? ? R使用MapReduce相關軟件包
rhbase? ? R使用Hbase相關軟件包
?
2:安裝R語言
[root@dataserver app]# tar zxf /mnt/mydisk/soft/R/R-3.0.2.tar.gz?
[root@dataserver app]# cd R-3.0.2
[root@dataserver R-3.0.2]# yum install readline-devel?
[root@dataserver R-3.0.2]# yum install libXt-devel?
[root@dataserver R-3.0.2]# ./configure --enable-R-shlib?
[root@dataserver R-3.0.2]# make?
[root@dataserver R-3.0.2]# make install
其中readline-devel、libXt-devel在編譯R的時候需要,而--enable-R-shlib是安裝R的共享庫,在安裝Rstudio需要。
3:確認Java環境變量
RHadoop依賴于rJava包,安裝rJava前確認已經配置了Java環境變量,然后進行R對jvm建立連接。
[root@dataserver R-3.0.2]# cat /etc/profile
export JAVA_HOME=/usr/lib/jdk1.7.0_21
export JRE_HOME=/usr/lib/jdk1.7.0_21/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib/tools.jar
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
[root@dataserver R-3.0.2]# R CMD javareconf
4:安裝相關的依賴包,確保RHadoop軟件包能正常使用
[root@dataserver R-3.0.2]# 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()
5:安裝RHadoop軟件包
[root@dataserver R-3.0.2]# export HADOOP_CMD=/app/hadoop/hadoop220/bin/hadoop
[root@dataserver R-3.0.2]# export HADOOP_STREAMING=/app/hadoop/hadoop220/share/hadoop/tools/lib/hadoop-streaming-2.2.0.jar
[root@dataserver R-3.0.2]# R CMD INSTALL /mnt/mydisk/soft/R/rhdfs_1.0.8.tar.gz
[root@dataserver R-3.0.2]# R CMD INSTALL /mnt/mydisk/soft/R/rmr2_2.3.0.tar.gz
**************************************************************************************************
HADOOP_CMD=/app/hadoop/hadoop220/bin/hadoop
HADOOP_STREAMING=/app/hadoop/hadoop220/share/hadoop/tools/lib/hadoop-streaming-2.2.0.jar
加入/etc/profile或用戶的.bashrc中
**************************************************************************************************
6:使用RHadoop軟件包
[root@dataserver R-3.0.2]# R?
> library(rhdfs)
> hdfs.init()?
> hdfs.ls("/")
?
7:安裝Rstudio
[root@dataserver R-3.0.2]# cd ..
[root@dataserver app]# rm -rf R-3.0.2
[root@dataserver app]# tar -zxf /mnt/mydisk/soft/R/rstudio-0.98.484-x86_64-fedora.tar.gz
8:TIPS
A:R相關的軟件包安裝在/usr/local/lib64/R/library下,可以在該目錄下查看是否已經安裝了相應的軟件包。
B:如果安裝的時候不是用root身份安裝,則R安裝的軟件包會在用戶目錄上,其他用戶將使用不了軟件包。
C:如果使用的hadoop集群是hadoop1.2.0,則配置參數為:
export HADOOP_CMD=/app/hadoop/hadoop120/bin/hadoop
export HADOOP_STREAMING=/app/hadoop/hadoop120/contrib/streaming/hadoop-streaming-1.2.0.jar
D:在安裝rhbase軟件需要安裝thrift,在后面章節介紹。
*實驗環境:
**************************************************************************************
hadoop集群(virtualBox虛擬機,CentOS6.4)
hadoop1 192.168.100.171(hadoop master、secondaryname、zookeeper、hbase HMaster)
hadoop2 192.168.100.172(zookeeper、hbase HRegion、Hive Shell)
hadoop3 192.168.100.173(hadoop slave、zookeeper、hbase HRegion)
hadoop4 192.168.100.174(hadoop slave、zookeeper、hbase HRegion)
hadoop5 192.168.100.175(hadoop slave、zookeeper、hbase HRegion)
dataserver 192.168.100.141(Hive metastore、MySQL Server、Oracle)
相關的安裝文檔:hadoop2.2.0測試環境搭建?????Hbase0.96.0 +hadoop2.2.0安裝?????RHadoop搭建(HDFS+MapReduce)?
**************************************************************************************
本次測試在dataserver進行
1:安裝thrift0.9.1
[root@dataserver app]# sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel
[root@dataserver app]# tar zxf /mnt/mydisk/soft/program/thrift-0.9.1.tar.gz
[root@dataserver app]# cd thrift-0.9.1
[root@dataserver thrift-0.9.1]# ./configure
**************************************************************************************
**************************************************************************************
[root@dataserver thrift-0.9.1]# make
**************************************************************************************
?注意如果要編譯C++庫的話,會出現上面的錯誤,原因是編譯文件路徑有問題,可以將已經編譯的test/cpp/*.o復制到test/cpp/.libs后,繼續編譯就可以了。當然不怕麻煩的話,可以修改一下編譯文件。
[root@dataserver thrift-0.9.1] cd test/cpp
[root@dataserver cpp]# cp *.o .libs/
**************************************************************************************
[root@dataserver thrift-0.9.1]# make install
[root@dataserver thrift-0.9.1]# thrift --version
2:安裝rhase
[root@dataserver /]# export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/
[root@dataserver /]# pkg-config --cflags thrift
**************************************************************************************
正確的返回結果是:
-I/usr/local/include/thrift
如果是:
-I/usr/local/include
則:
[root@dataserver /]# vi /usr/local/lib/pkgconfig/thrift.pc
Cflags: -I${includedir}/thrift
**************************************************************************************
[root@dataserver lib]# cp /usr/local/lib/libthrift-0.9.1.so /usr/lib/
[root@dataserver lib]# /sbin/ldconfig /usr/lib/libthrift-0.9.1.so
**************************************************************************************
注意要將動態鏈接庫libthrift-0.9.1.so為系統所共享,不然會出現類似unable to load shared object '/usr/lib64/R/library/rhbase/libs/rhbase.so':libthrift-0.9.1.so: cannot open shared object file的錯誤
**************************************************************************************
[root@dataserver usr]# R CMD INSTALL /mnt/mydisk/soft/R/rhbase_1.2.0.tar.gz?
3:啟動hadoop集群、zookeeper集群、HBase集群
4:rhbase測試
總結
- 上一篇: 度量相似性数学建模_一种基于粒子群位置更
- 下一篇: HelloWorld新手常见问题