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
出现下面结果,表示安装成功了。
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打开。账户密码为安装时的账户密码。
一些其它注意事项
-
rstudio-server的8787端口是可以改成其他未占用的端口的。通过rssesion/rserver文件修改,并iptables添加响应端口。重启ok。
-
.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如下:
安装常用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)
返回如下结果,表示成功安装。
2 caret包
caret包 是(Classification And REgression Traing)的大字母缩写,包含了一系列函数集,用来简化创建预测模型的过程。这个包主要包含如下工具:
-
数据划分
-
预处理
-
特征选择
-
模型设计和构建
-
使用重采样的模型调优
-
变量重要性评价
在这里有caret包的详细介绍。
安装caret包的命令
1 install.packages('caret')
加载caret包的命令
1 library(caret)
返回如下结果,表示caret包安装成功,可以正常使用了。
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/