Ubuntu 14.04 64bit SparkR安装部署
Posted 小胖子小胖子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 14.04 64bit SparkR安装部署相关的知识,希望对你有一定的参考价值。
要安装SparkR,首先需要安装好hadoop和Spark,这个安装前面两篇已经引用了详细的教程。
值得注意的是,jdk也要确保安装正确,并且有一个默认的版本(如果安装过多个不同版本的jdk),可以通过sudo update-alternatives --config java进行查看和设置。
本文只针对Ubuntu,其他的系统不一定有用。下面通过走过的弯路和具体的安装步骤进行一下记录。
1.安装R
1.1 在source list中添加镜像源
<< sudo vim /etc/apt/sources.list
在该文件中添加新的镜像源,加入文件的最前或者最后:
deb http://cran.rstudio.com/bin/linux/ubuntu trusty/
1.2 运行命令下载公钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9
然后需要更新:
sudo apt-get update
1.3 安装R
sudo apt-get install r-base
2. 安装Rstudio
2.1 下载系统安装文件
下载地址为:http://www.rstudio.com/products/rstudio/download/
然后执行:
sudo apt-get install gdebi-core
sudo apt-get install libapparmor1
sudo gdebi 刚才下载的Rstudio的deb安装包
2.2 在Rstudio中安装ggplot2等相关的包
install.packages('plyr')
install.packages('digest')
install.packages('gtable')
install.packages('reshape2')
install.packages('scales')
install.packages('proto')
以上的包是安装ggplot2之前的依赖包,安装之后再运行
install.packages('ggplot2')
到这里,R和Rstudio就安装成功了。
3.安装rJava
rJava是一个R语言和Java语言的通信接口,通过底层JNI实现调用,允许在R中直接调用Java的对象和方法。
3.1 配置rJava环境
注意这里最好直接使用sudo操作,否则后面可能会出现错误:
sudo R CMD javareconf
3.2 启动R并安装rJava
R
> install.packages("rJava")
4. 安装SparkR
4.1 SparkR代码下载
下载地址:https://github.com/amplab-extras/SparkR-pkg
4.2 代码编译
4.2.1 首先解压下载的zip文件
unzip XXX.zip
cd SparkR-pkg
4.2.2 编译
编译的时候需要指明Hadoop和Spark的版本,也最好使用sudo:
sudo SPARK_HADOOP_VERSION=2.7.3 SPARK_VERSION=2.0.1 ./install-dev.sh
到这里,单机版的SparkR已经安装完成。
4.2.3 分布式SparkR部署
上一步编译成功之后会生成一个lib文件夹,里面有一个SparkR的文件夹,打包为SparkR.tar.gz,这个是分布式SparkR部署的关键。
由打包好的SparkR.tar.gz在各集群节点上安装SparkR,执行
R CMD INSTALL SparkR.tar.gz
至此分布式SparkR搭建完成。
案例这里没有分析,安装成功之后,网上很多案例可以参照实现一下。
以上是关于Ubuntu 14.04 64bit SparkR安装部署的主要内容,如果未能解决你的问题,请参考以下文章
teamviewer 远程登录 + Ubuntu 14.04 (64bit) 安装
在ubuntu14.04/16.04下 安装Matlab2015b-64bit- Standalone版本
caffe环境的搭建(Ubuntu14.04 64bit,无CUDA,caffe在CPU下运行)
Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程
Flask网站搭建:Ubuntu 14.04 sever (阿里云64bit) 部署 flask + uWSGI + Ngnix