日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS7.0离线安装RHadoop

發布時間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS7.0离线安装RHadoop 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近期,由于工作需要,在原有的Hadoop2.6.0環境上安裝了RHadoop,主要借鑒了——RHadoop實踐系列文章RHadoop安裝,區別之處在于離線安裝較新版本的R-3.2.3、rhdfs_1.0.8和rmr2_3.3.1,并解決參考鏈接安裝過程中的一些疑問。

安裝環境:CentOS-7.0-1460-x86_64、Hadoop-2.6.0、Java Version "1.7.0_79"

節點名稱:nameNode1、nameNode2、ResourceManager、dataNode1、dataNode2、dataNode2。

其中nameNode1(nameNode2隨意)需要安裝:R、rhdfs、rmr2。計算節點dataNode1、2、3需要安裝:R、rmr2。安裝時為了方便,直接將nameNode1上安裝好的直接scp到dataNode節點上了,rhbase暫未使用。下圖是RHadoop Package安裝位置的官方說明,紅字是對本文測試的說明。


1.安裝包準備:

https://www.r-project.org/?——?R-3.2.3.tar.gz。

https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads ——?rhdfs_1.0.8.tar.gz、rmr2_3.3.1.tar.gz。

如果系統環境不全的話,還需要配置yum本地源,安裝gcc以及下面兩個R語言編譯時需要用到的庫(下兩行源自開頭提到的RHadoop安裝)。

#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”錯誤

2.R語言安裝:nameNode1節點,用戶hadoop (非root用戶)

$ tar -xzvf /home/hadoop/R-3.2.3.tar.gz

$ cd /home/hadoop/R-3.2.3

$ ./configure // 遇到error則根據提示安裝依賴庫。?若有需要安裝RStudio則使用 ./configure --enable-R-shlib?

$ make // make安裝時沒遇到什么問題

$ make install //?cannot stat 'NEWS.rds': No such file or directory?遇到此問題忽略即可

3.添加環境變量:(root用戶)

# vi /etc/profile

1.是Java環境,2.是Hadoop環境


在文件末尾添加3.的三個環境變量,其中HADOOP_CMD和HADOOP_STREAMING兩個是RHadoop環境需要,Path中添加的是R語言環境。

保存退出

# source /etc/profile? // 使其生效

$ R? //?退回hadoop用戶,鍵入R即可看到


4.RHadoop依賴包以及rhdfs_1.0.8.tar.gz、rmr2_3.3.1.tar.gz安裝:

R語言安裝R package的2種方法?—— 離線安裝各依賴包,依賴包下載:http://mirror.bjtu.edu.cn/cran/?包很多,Ctrl+F按名稱搜索下載即可。

?(hadoop用戶下)?安裝成功均結束于Done,否則會提示缺少依賴包

$ R CMD INSTALL rJava_0.9-8.tar.gz

$?R CMD INSTALL?Rcpp_0.12.5.tar.gz

$?R CMD INSTALL magrittr_1.5.tar.gz ——>?$?R CMD INSTALL??plyr_1.8.3.tar.gz ——>?$?R CMD INSTALL?stringi_1.1.1.tar.gz

離線安裝stringi時,由于死活需要下載一個icudt55l.zip的一個文件,無奈只能手動下載解壓得到icudt55l.dat的文件,

經摸索,需要在安裝時快速放到/home/hadoop/R-3.2.3/library/stringi/libs目錄下,最終安裝成功。只有安裝完stringi才能安裝stringr。

$?R CMD INSTALL?stringr_1.0.0.tar.gz

$?R CMD INSTALL?reshape2_1.4.1.tar.gz

$?R CMD INSTALL?iterators_1.0.8.tar.gz

$?R CMD INSTALL?itertools_0.1-3.tar.gz

$?R CMD INSTALL?digest_0.6.9.tar.gz

$?R CMD INSTALL?RJSONIO_1.3-0.tar.gz

$?R CMD INSTALL?functional_0.6.tar.gz

$?R CMD INSTALL?bitops_1.0-6.tar.gz

$?R CMD INSTALL?caTools_1.17.1.tar.gz // 這個包可能是因為版本更新,也需要依賴上,否則后續加載庫的時候會報錯

安裝完這些依賴就可以安裝rhdfs_1.0.8.tar.gz和rmr2_3.3.1.tar.gz

$?R CMD INSTALL?rhdfs_1.0.8.tar.gz

$?R CMD INSTALL?rmr2_3.3.1.tar.gz

至此,運行R Client的節點安裝完成。最后,需要將R-3.2.3文件夾復制到三個dataNode中,/etc/profile文件也需覆蓋dataNode中的文件并使其生效。Hadoop集群無需重啟

5.RHadoop程序用例測試及錯誤解決:

$ R // 進入RClient,通過.packages(all.available=T)命令可以查看安裝的所有R包


然后依次輸入library(fhdfs)、hdfs.init()、library(rmr2)就可以開始使用RHadoop寫R語言的mapreduce。

截圖中的Warning message忽略即可。


>?small.ints = to.dfs(1:20)

> mapreduce(input = small.ints, map = function(k, v) cbind(v, v^2))

上述兩行R命令敲完,就會調用MapReduce,可以看到執行進度,并通過from.dfs命令查詢到如下結果:

> from.dfs("/tmp/file…………")?


本文測試時遇到的問題:

java.io.IOException: Cannot run program "Rscript": java.io.IOException: error=2, No such file or directory

解決方法:從R的安裝目錄/home/hadoop/R-3.2.3/bin下做R和Rscript的符號鏈接到/usr/bin下,再次執行即可解決錯誤。

root用戶:

# ln -s /home/hadoop/R-3.2.3/bin/R /usr/bin

# ln -s /home/hadoop/R-3.2.3/bin/Rscript /usr/bin

注意:使用絕對路經建立軟連接,否則會出現Too many levels of symbolic links的錯誤。


初次發文,錯誤之處敬請指正,謝謝~



總結

以上是生活随笔為你收集整理的CentOS7.0离线安装RHadoop的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。