Rhadoop集群搭建
系統架構:
這種死板的東西,只簡要介紹。
安裝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
總結
以上是生活随笔為你收集整理的Rhadoop集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何采用设置标志的方法来区分循环队列的满
- 下一篇: python中itsdangerous模