1 服务器上如何安装R和RStudio?

为了增加计算力来处理和整合更多和更杂的数据集,运维同事给我们分配了服务器。服务器是用Centos7的Linux系统,为了完成数据科学任务,我们需要在服务器上面搭建R平台。

通过阅读本文,你可以获得:

  • 服务器上面安装R和RStudio

  • 服务器上面安装常用R包

1 准备工作

在CentOS 7上,R可以基于epel package repository使用yum来安装,所以我们需要先添加它。

1  sudo yum install epel-release
2  sudo yum update

2 安装R

1   sudo yum install R -y

安装完毕后,输入命令

1  R

出现下面结果,表示安装成功了。

1.jpg

3 安装Rstudio Server

你在这里可以查看最新的版本和安装指南。(如未安装wget命令,则:yum -y install wget)

1  wget https://download2.rstudio.org/rstudio-server-rhel-1.1.453-x86_64.rpm
2  sudo yum install rstudio-server-rhel-1.1.453-x86_64.rpm -y
$ wget https://download2.rstudio.org/rstudio-server-rhel-1.1.463-x86_64.rpm
$ sudo yum install rstudio-server-rhel-1.1.463-x86_64.rpm

Rstudio Server安装好后,需要在服务器上面启动它

1  sudo systemctl status rstudio-server

状态相关命令

#查看是否安装正确
sudo rstudio-server verify-installation
## 启动
sudo rstudio-server start
## 查看状态
sudo rstudio-server status
## 停止
sudo rstudio-server stop
## 重启
sudo rstudio-server restart
## 查看服务端ip地址
ifconfig
##查看8787端口
netstat -ntlp | grep 8787
##
ps -aux|grep rstudio-server
sudo yum install libxml2-dev

4、创建配置文件

sudo vi /etc/rstudio/rserver.conf
sudo vi /etc/rstudio/rsession.conf   
###在两个配置文件中添加以下语句
rsession-which-r=/usr/bin/R  ##系统的R程序所在位置,如果个人目录下有利用anaconda安装R,可能会报错。
www-port=8787 ### 通过ip的8787端口连接

5、在防火墙配置文件中添加8787端口

sudo vi /etc/sysconfig/iptables

###在文件中添加以下语句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8787 -j ACCEPT

### 重启防火墙
sudo service iptables restart
sudo netstat -anp ###查看开放的端口信息

登录不上去诶,浏览器完全没反应!打不开!

因为没有开启防火墙的端口啊,当然打不开呀23333

sudo firewall-cmd --permanent --zone=public --add-port=8787/tcp
sudo firewall-cmd --reload

6、启动Rstudio-server

sudo rstudio-server start
sudo rstudio-server status

如果出现 rstudio-server start/running, process~~~ ,就已经安装成功,接下来可以通过本地浏览器服务器IP地址:8787打开

例如:192.168.3.1:8787,外网就可以通关服务器外网IP地址+8787打开。账户密码为安装时的账户密码。

一些其它注意事项

  1. rstudio-server的8787端口是可以改成其他未占用的端口的。通过rssesion/rserver文件修改,并iptables添加响应端口。重启ok。

  2. .libPaths()可查看本地包安装的地址,升级时时会存在一些warning显示系统内/usr/R的包无法读写,需通过对响应的library中的包sudo chmod 755 或 777修改权限即可。

当浏览器打不开8787端口,可尝试关闭防火墙:

1) 重启后生效

开启: chkconfig iptables on
关闭: chkconfig iptables off

2) 即时生效,重启后失效

开启: service iptables start
关闭: service iptables stop

7. 增加新用户

# 添加用户组
~ sudo groupadd shujuka

# 添加用户liaowen 在指定的组shujuka内
~ sudo useradd shujuka-g shujuka;

# 设置该用户的密码
~ sudo passwd shujuka
~ sudo adduser shujuka sudo
~ sudo mkdir /home/shujuka 
~ sudo chown -R shujuka:shujuka /home/shujuka

#测试账号设置成功
~ ssh liaowen@localhost  

######如没安装ssh,则:yum -y install openssh-clients
~ bash
~ pwd
/home/shujuka

8、多用户共用一个libpath

每个用户会有自己的一个安装lpackages的,为了方便,指定到默认的R的路径

(1)、修改/etc/rstudio该路径下的配置文件ression.conf

vim /etc/rstudio/ression.conf
r-libs-user= /usr/lib64/R/library

(2)、# 授权用户该目录下权限,否则安装是有报错,因为没有写的权限

chown -R liaowen /usr/lib64/R/library 
.libPaths("/usr/lib64/R/library")
> .libPaths()
[1] "/usr/lib64/R/library"  #只保留公共库
# 或者直接更改该目录权限为所有人都能够读写执行
chmod 777 /usr/lib64/R/library
# 不知道有没有更改为组的
# 或者直接给用户赋予root权限
cat /etc/sudoers
root下添加一行:
## Allow root to run any commands anywhere
root    ALL=(ALL)   ALL
git        ALL=(ALL)       NOPASSWD: ALL
shujuka    ALL=(ALL)   ALL

如果您正在服务器上安装它(没有GUI),您可以通过浏览器使用RStudio,方法是打开RStudio正在运行的端口(默认为8787)。对于GUI机器,只需在http://你的服务器IP:8787 打开RStudio,将出现以下屏幕,使用安装RStudio (sudo用户)时使用的用户名和密码。

成功打开的RStudio如下:

2.jpg

安装常用R包

1 tidyverse包

tidyverse包是为数据科学设计的R包的集合。所有包都共享基本的设计哲学、语法和数据结构。在这里可以学习如何使用这个包。

在安装tidyverse包的时候,需要在服务器上面先做如下设置,因为这个包需要依赖这些程式。

1  yum install libxml2-devel   ####重要
2  yum install openssl-devel
3  yum install libcurl-devel

安装tidyverse包的命令

1  install.packages('tidyverse')

加载tidyverse包的命令

1  library(tidyverse)

返回如下结果,表示成功安装。

3.jpg

2 caret包

caret包 是(Classification And REgression Traing)的大字母缩写,包含了一系列函数集,用来简化创建预测模型的过程。这个包主要包含如下工具:

  • 数据划分

  • 预处理

  • 特征选择

  • 模型设计和构建

  • 使用重采样的模型调优

  • 变量重要性评价

这里有caret包的详细介绍。

安装caret包的命令

1  install.packages('caret')

加载caret包的命令

1 library(caret)

返回如下结果,表示caret包安装成功,可以正常使用了。

4.jpg

3 scorecard包

scorecard包提供IV,变量过滤,最佳WOE分箱,评分刻度和性能评价等函数集,使得评分卡的设计和开发更加轻松和高效。这个包主要提供如下函数集:

  • 数据划分(split_df)

  • 变量选择(var_filter, iv)

  • woe分箱(woebin, woebin_plot, woebin_adj, woebin_ply)

  • 评分刻度(scorecard, scorecard_ply)

  • 性能评价(perf_eva, perf_psi)

这里可以查看这个包的详细文档,在这里可以查看这个包使用案例。

scorecard包安装和加载命令

1  install.packages('scorecard')
2  library(scorecard)

针对你的业务问题,需要使用其它R包,按着安装R包的方法,安装即可。

安装RPostgreSQL libpq-fe.h错误

install.packages("RPostgreSQL")

先安装:

yum install postgresql-devel

参考资料

1 http://devopspy.com/linux/install-r-rstudio-centos-7/