专栏首页Hadoop实操如何在Redhat中安装R的包及搭建R的私有源

如何在Redhat中安装R的包及搭建R的私有源

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.文档编写目的


继上一章如何在Redhat中配置R环境后,我们知道对于多数企业来说是没有外网环境的,在离线环境下如何安装R的包,能否搭建R的私有源对R的包进行管理。

本文档主要讲述如何在Redhat中安装R的包及搭建R的私有源。

  • 内容概述

1.Package的安装

2.HTTP服务搭建

3.配置R的私有源

  • 测试环境

1.操作系统:RedHat7.2

2.采用sudo权限的ec2-user用户操作

3.R版本3.4.2

  • 前置条件

1.Linux已安装Apache2服务并正常运行

2.R已安装完成并正常使用

2.Package的安装


R的Package安装主要分为在线安装和离线安装两种方式,如下:

1.在线安装

在R的控制台输入install.packages(“vortexRdata”),操作如下

[ec2-user@ip-172-31-21-45 ~]$ R
...
>  install.packages("vortexRdata")
Installing package into ‘/home/ec2-user/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
trying URL 'https://mirror.las.iastate.edu/CRAN/src/contrib/vortexRdata_1.0.3.tar.gz'
Content type 'application/x-gzip' length 1049418 bytes (1.0 MB)
==================================================
downloaded 1.0 MB

* installing *source* package ‘vortexRdata’ ...
** package ‘vortexRdata’ successfully unpacked and MD5 sums checked
…
* DONE (vortexRdata)

The downloaded source packages are in
        ‘/tmp/RtmpZC62NA/downloaded_packages’
> 

2.离线安装

在Linux下通过命令行的方式安装离线包

首先下载需要安装的Package包

[ec2-user@ip-172-31-26-102 bin]$ sudo wget https://mirror.las.iastate.edu/CRAN/src/contrib/vortexRdata_1.0.3.tar.gz

执行R的命令进行离线安装

[ec2-user@ip-172-31-26-102 bin]$ sudo sh R CMD INSTALL vortexRdata_1.0.3.tar.gz 
* installing to library ‘/usr/local/R-3.4.2/lib64/R/library’
* installing *source* package ‘vortexRdata’ ...
** package ‘vortexRdata’ successfully unpacked and MD5 sums checked
...
* DONE (vortexRdata)
[ec2-user@ip-172-31-26-102 bin]$ 

通过上述两种安装方式可以发现,在线安装方式使用的是外网地址,离线安装方式可以解决没有外网的情况,但是如果Package有多个依赖需要安装的时候,则需要先安装好依赖包然后再安装需要的包。(一个个依赖包安装累啊,有没有类似在线安装包的方式自动安装依赖?有,搭建R的私有源)

3.搭建R私有源


1.在Apache2的部署目录创建目录

[ec2-user@ip-172-31-22-86 html]$ sudo mkdir -p /var/www/html/src/contrib

2.将官网公有源的PACKAGES文件下载至/var/www/html/src/contrib目录

[ec2-user@ip-172-31-22-86 html]$ cd /var/www/html/src/contrib/
[ec2-user@ip-172-31-22-86 contrib]$ pwd
/var/www/html/src/contrib
[ec2-user@ip-172-31-22-86 contrib]$ sudo wget https://cran.rstudio.com/src/contrib/PACKAGES
…
Saving to: ‘PACKAGES.1’
100%[=====================================================================================>] 1,790,180   --.-K/s   in 0.04s   
2017-10-08 04:13:11 (46.5 MB/s) - ‘PACKAGES.1’ saved [1790180/1790180]
[ec2-user@ip-172-31-22-86 contrib]$

3.将官网上的依赖包下载至/var/www/html/src/contrib目录与PACKAGES同目录

[ec2-user@ip-172-31-22-86 contrib]$ pwd
/var/www/html/src/contrib
[ec2-user@ip-172-31-22-86 contrib]$ sudo wget https://mirror.las.iastate.edu/CRAN/src/contrib/vortexRdata_1.0.3.tar.gz

确保PACKAGES文件中有该包的描述信息,如下:

Package: vortexRdata
Version: 1.0.3
Depends: R (>= 3.1.0)
License: GPL-3
NeedsCompilation: no

到此R的私有源搭建完成。搭建需要注意,PACKAGES文件中记录了所有包的描述信息,且每个包只有一个版本。(如果是自己制作的R包,同理在PACKAGES末尾添加包的描述信息也是可行的,未做验证有兴趣的朋友可以验证下告诉Fayson)。

4.配置R使用私有源


1.在$R_HOME/ lib64/R/etc目录下增加配置文件Rprofile.site

在Rprofile.site文件中增加如下内容:

[root@ip-172-31-21-45 etc]# vim Rprofile.site 
# Site R configuration.
local({
  r <- getOption("repos")
  r["CRAN"] <- "http://ip-172-31-22-86.ap-southeast-1.compute.internal/"
  options(repos = r)
})

上图标注部分则是将R的源地址修改为本地地址,当然这个配置文件不止这一点用处,还可以通过此文件自定义R的启动环境。(如:设置R启动时加载的包、设置编辑器、制表符宽度等)

5.测试R私有源


1.进入R控制台,执行包安装命令

[ec2-user@ip-172-31-21-45 etc]$ R

R version 3.4.2 (2017-09-28) -- "Short Summer"
...

> install.packages("vortexRdata")
Installing package into ‘/home/ec2-user/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
trying URL 'http://ip-172-31-22-86.ap-southeast-1.compute.internal/src/contrib/vortexRdata_1.0.3.tar.gz'
Content type 'application/x-gzip' length 1049418 bytes (1.0 MB)
==================================================
downloaded 1.0 MB

* installing *source* package ‘vortexRdata’ ...
** package ‘vortexRdata’ successfully unpacked and MD5 sums checked
...
* DONE (vortexRdata)

The downloaded source packages are in
        ‘/tmp/RtmpMH8iOW/downloaded_packages’
> 

可以看到在安装包的时候是通过我们自己搭建的源下载。

醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花! 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 0550-6.1-如何将普通用户增加到HDFS的超级用户组supergroup

    对于HDFS服务,hdfs默认是超级管理员用户,它的权限最大,可以说它就相当于Linux的root。hdfs用户默认对所有目录有所有权限,同时可以执行HDFS相...

    Fayson
  • 如何通过CM API优雅的获取元数据库密码

    人啊,上了年纪了,总容易忘记一些事情,比如你一不小心就忘记了CDH集群Hive,Hue和Sentry服务的元数据库密码,对于数据库(MySQL/Oracle/P...

    Fayson
  • 如何配置Kerberos服务的高可用

    在前面的文章中Fayson介绍过《如何在CDH集群启用Kerberos》,对于一个启用了Kerberos的正式生产系统,还需要考虑KDC的高可用。而Kerber...

    Fayson
  • Node基础:资源压缩之zlib

    做过web性能优化的同学,对性能优化大杀器gzip应该不陌生。浏览器向服务器发起资源请求,比如下载一个js文件,服务器先对资源进行压缩,再返回给浏览器,以此节省...

    IMWeb前端团队
  • Shell 黑科技之匿名函数实现任务并行化

    shell 作为一门系统级别胶水语言,学习成本低,用起来很方便,但是缺点也显而易见:性能问题一直为人锁诟病。所以 shell 也就多用在简单的系统管理等场合,数...

    用户1177713
  • Node基础:资源压缩之zlib

    本文作者:IMWeb 陈映平 原文出处:IMWeb社区 未经同意,禁止转载 概览 做过web性能优化的同学,对性能优化大杀器gzip应该不陌生。浏览器...

    IMWeb前端团队
  • Django Pagination 简单分页

    当博客上发布的文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面,影响用户体验。Django 内置的 Pagination 能够帮助我们实现简...

    追梦人物
  • iOS 获取UIImageView缩放后的图片Size

    赵哥窟
  • 一个关于Windows Vista下“开始”搜索的小发现

    之前一直以为在Windows Vista下从“开始”搜索程序时,搜索范围是“开始”--“所有程序”下的所有列表。

    williamwong
  • 使用JDBC操作SAP云平台上的HANA数据库

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.blog....

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券