RServerInstall

RServer 설치

리눅스 서버에 RServer 설치하는 방법을 알아보겠다.

Java와 R를 연동하는 방법 경우 rJava, JRI 등 여러가지 방법이 있지만 이번에 배우게 되는 RServer는 이런 방법과 다르게 tcp/ip 포트를 이용한 방식이다.

예를 들어, 리눅스에 RServer를 설치하고 R이 없는 JDK 설치된 서버와 통신해서 R 구현이 가능하다.

1. r-cran 이용해서 최신 R 설치하기 (sources.list를 편집)

1
# sudo apt-get install r-base

해당 명령를 이용해서 R를 설치 할수 있지만 약간 구버전의 R이 설치된다.

일반적으로 사용하는데 지장은 없지만 특정 패키지를 사용시 구버전 R이 설치 때문에 실행이 안되는 문제를 초래하게 된다.

최신 R버전 설치 위해서는 리눅스에서 제공하는 저장소를 이용하지 말고 r-cran의 저장소를 이용해서 최신 R를 설치하자!!

http://www.r-project.org/ 여러곳의 배포사이트가 있고 사용자의 취향에 따라 선택하면 되는데

난 주로 http://cran.revolutionanalytics.com 를 이용한다.

※ 해당 url 접속이 안되니
https://losskatsu.github.io/it-infra/r-update-ubuntu/#%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90%EC%84%9C-r-%EC%B5%9C%EC%8B%A0%EB%B2%84%EC%A0%84%EC%9C%BC%EB%A1%9C-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8
여길 참조하자!!

1
# sudo gedit /etc/apt/sources.list

입력한후 엔터를 누른다.

맨 아래에 자신이 자주 사용하는 r-cran 배포처를 선택하여 입력하면 된다.

형식은 deb http://자신이 애용하는 사이트/bin/linux/ubuntu xenial/ 이다.

즉, 자신이 http://cran.revolutionanalytics.com/를 애용한다면

1.PNG

로 입력 후 저장하자!!

여기서 xenial는 자신의 우분투 버전 이름이다.

12.10이라면 quantal을 써 넣어야 한다.

16.04 LTS이라면 xenial

※ 우분투 버전 확인 https://ko.wikipedia.org/wiki/%EC%9A%B0%EB%B6%84%ED%88%AC_%EB%B2%84%EC%A0%84_%EC%97%AD%EC%82%AC#cite_note-4

2. r-cran 이용해서 최신 R 설치하기 (RServer 설치)

1
2
# sudo apt update
# sudo apt-get install r-base

3. sudo: unable to resolve host [hostname] 메시지가 뜰 경우

/etc/hostname 에 적힌 시스템의 호스트명이 /etc/hosts에 등록이 되어 있지 않아서 그렇다.

/etc/hostname 에 kworld 라고 적었다면

2.PNG

/etc/hosts에 간단하게 한줄 추가해주면 끝! (127.0.1.1 {:호스트명:})

1
# /etc/init.d/networking restart

설정 하고 나면 재시작

4. RServe Conf 설정하기

1
# sudo vi /etc/Rserv.conf

Rserv.conf 파일 새로 생성해서

1
2
3
4
5
#pwdfile /etc/rs.txt
remote enable
plaintext enable
#auth required
port 6311

해당 코드로 저장한다.

5. R 라이브러리 설치하기

1
# R

R 접속 명령어

1
2
3
install.packages("Rserve")
install.packages("caret")
install.packages("xgboost")

해당 라이브러리를 설치하자

6. RServe 실행

1
2
3
4
5
library(Rserve)
library(caret)
library(xgboost)
Rserve(FALSE,port=6311,args='--RS-encoding utf8 --no-save --slave --encoding utf8 --internet2')
Rserve(args="--RS- encoding utf8")
1
q() // 빠져나가기

7. 우분투 방화벽(UFW) 설정

1
sudo ufw allow 6311 ?????

8. Rserve 프로세스가 정상적으로 실행되고 있는지 확인

1
ps -A | grep Rserve

9. Rserve 프로세스가 정상적으로 실행되고 있는지 확인

1
2
telnet localhost 6311
telnet 220.90.200.191 6311

10. R 버전 다운그레이드 하기

R 삭제하기

1
2
sudo apt-get remove r-base-core
sudo apt-get autoremove

R 설치 가능한 버전 확인하기

1
2
3
4
5
6
7
8
9
apt-cache showpkg r-base
```
```markdown
Package: r-base
Versions:
3.2.2-1precise0 (/var/lib/apt/lists/cran.rstudio.com_bin_linux_ubuntu_precise_Packages)
Description Language:
File: /var/lib/apt/lists/cran.rstudio.com_bin_linux_ubuntu_precise_Packages
MD5: 5787ca79ed716232c4cc2087ed9b425b

해당 R 버전으로 설치하기

1
sudo apt-get install r-base-core=3.1.1-1precise0

11. RStudio Server 설치하기

https://rstudio.com/products/rstudio/download-server/debian-ubuntu/ 참고하자

1
2
3
4
// Install for Debian 10 / Ubuntu 18
sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.2.5042-amd64.deb
sudo gdebi rstudio-server-1.2.5042-amd64.deb

접속하기
http://{IP주소}:8787/

여기서 근데 우리는 Rstudio 계정을 생성한 적이 없다.
계정생성 버튼또한 없기때문에 다시 linux에서 계정을 생성해 주어야 한다.
계정을 생성하기에 앞서 우리는 루트권한을 주기위해 루트권한의 비밀번호를 먼저 생성해보자.
리눅스창에 다음과 같이 입력한다.

1
2
3
4
$ sudo passwd root
$ su
$ useradd {생성아이디}
$ passwd {생성아이디}

12. 패키지 설치시 “/usr/share/R/share/make/shlib.mk:6: recipe for target ‘Matrix.so’ failed” 에러 발생시

R- 패키지에 대해 다음 빌드 종속성을 설치해야합니다.

1
sudo apt-get install r-base-dev

그런 다음 R- 패키지를 홈 폴더 (~/R/x86_64-pc-linux-gnu-library)에 설치하십시오. RStudio를 root로 실행할 필요는 없습니다.

13. 자바단에서 Rserve 통해 통신하면서 readRDS 실행할때 “Error: long vectors not supported yet: qap_encode.c:36” 에러 발생시

다시 Rserve 패키지 설치하자

1
R > install.packages('Rserve',,"http://rforge.net/",type="source") 

14. 리눅스 명령어 상위 메모리 가동 프로세스 가져오기

ps -eo user,pid,ppid,rss,size,vsize,pmem,pcpu,time,cmd --sort -rss | head -n 11

Copyright 2020- syh8088. 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.

💰

×

Help us with donation