由于处理数据太大导致本地电脑内存不够,因此才想着利用服务器安装Rstudio server。服务器版本的Rstudio可以通过网页版本访问:IP地址+端口。
PS: 安装系统是Ubuntu18.04LTS / CentOS8, Rstudio Server的安装需要管理员root权限。
Ubuntu系统
安装
先安装基础的依赖1
2apt-get install gdebi-core
apt-get install libapparmor1
下载目前最新版Rstudio server1.1.3831
2wget https://download2.rstudio.org/rstudio-server-1.1.383-amd64.deb
sudo gdebi rstudio-server-1.1.383-amd64.deb
安装R,Rstudio server依赖R1
sudo dnf install r-base
创建Rstudio配置文件:
/etc/rstudio/rserver.conf
/etc/rstudio/rsession.conf
1 | vi /etc/rstudio/rserver.conf |
1 | vi /etc/rstudio/rsession.conf |
打开8787端口1
2
3sudo apt install ufw
sudo ufw enable
sudo ufw default deny
启动1
2
3
4
5
6 运行
sudo rstudio-server start
查看状态
sudo rstudio-server status
重启
sudo rstudio-server restart
1 | ################################################################## |
出现Active: active (running) since,则安装成功。
通过本地浏览器服务器IP地址:8787打开。root用户无法登陆,需要新建一个用户进行登陆。1
2
3
4
5
6sudo groupadd hadoop # 创建hadoop用户组
sudo useradd hadoop -g hadoop # 创建hadoop用户并加入到hadoop用户组
sudo passwd hadoop # 设置hadoop用户的密码
sudo adduser hadoop sudo # 增加hadoop用户到sudo组
sudo mkdir /home/hadoop # 创建hadoop用户的home目录
sudo chown -R hadoop:hadoop /home/hadoop # 给/home/hadoop目录及子目录,设置用户权限
例如:172.18.119.13:8787。账户为Linux服务器账户。
CentOS系统
1 | sudo dnf install r-base |
1 | 查看防火墙 |
Rstudio server常用命令
启动命令
1 | sudo rstudio-server verify-installation #查看安装是否正常 |
进程
1 | 查看进程 |
临时上下线
1 | 不允许web访问,并给用户友好提示 |
遇到的bug
登陆过程Rstudio initialization error unable to connect to service,这是因为SELinux(Security-Enhanced Linux)设置的问题
报错信息: 是因为SELinux阻止了外界访问
1
Oct 21 13:31:42 dong platform-python[51954]: SELinux is preventing rserver from using the setpgid access on a process.#012#012***** Plugin catchall (100. confidence) suggests **************************#012#012If you believe that rserver should be allowed setpgid access on processes labeled init_t by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'rserver' --raw | audit2allow -M my-rserver#012# semodule -X 300 -i my-rserver.pp#012
处理方法1,安装报错信息提示进行
1
2
3
4
5
6显示报错详细信息
sealert -l 33a3acfb-52fa-4b2d-bcff-796eeb58eac0
运行debug命令
ausearch -c 'rserver' --raw | audit2allow -M my-rserver
semodule -X 300 -i my-rserver.pp处理办法2,关闭SELinux(Work)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22查看 SELinux状态
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31
关闭SELinux status enabled
sudo vi /etc/sysconfig/selinux
修改SELinux=enforcing 为 SELinux=disabled
reboot系统并检查SELinux
sudo shutdown -r now
sestatus
SELinux status: disabled
在ubuntu20开启防火墙后,导致无法使用ssh命令登陆服务器ssh: connect to host 192.168.106.31 port 22: Connection timed out,使用如下命令关闭防火墙即可:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
sudo ufw disable
Firewall stopped and disabled on system startup
ssh zouhua@192.168.106.31
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Wed Oct 21 10:37:00 2020 from 192.168.116.16
查看server的日志文件信息查看error message1
2tail -f /var/log/syslog
tail -f /var/log/messages
参考链接
在centos8下安装Rstudio server
Ubuntu安装 Rstudio server
如何在Ubuntu 18.04上安装最新的R base 及Rstudio server