rhive tutorial supplement 3: rhive 튜토리얼 부록 3 - rstudio 설치

5
RHive 튜토리얼 부록 3 - RStudio 설치 RHive 를 위한 RStudio 설치 이 튜토리얼에서는 RHive 를 보다 편리하게 사용하기 위해 RStudio 를 셋업하는 방법에 대해서 설명한다. RStudio 의 셋업방법은 http://rstudio.org/ 에서 자세한 문서를 찾을 수 있다. 여기서는 RHive 사용자를 위해서 RStudio 를 설치하고 사용하는 방법에 대해서 소개한다. RHive 는 대용량데이터 처리를 위해서 Hadoop 과 Hive 를 이용하는 R 의 패키지 중 하나이다. RHive 를 사용해서 작성한 R 코드들은 실행시키고 난 후에 짧은 시간에 결과를 보여주고 실행을 종료할 수 있는 것들도 있겠지만 매우 큰 데이터를 처리하는 코드는 결과를 만들고 실행코드가 종료되기까지 매우 오랜 시간이 걸릴 수 있다. 상황에 따라 다르지만 데이터의 크기와 처리하는 연산의 복잡도에 따라 최소 수십분에서 최대 몇주가 걸릴 수도 있다. 이 경우의 문제는 사용자가 실행한 task 가 완전히 완료되기까지 R 의 세션을 계속 유지해야 해야만 한다는 것이다. 사용자가 랩탑을 이용해서 코드를 실행했다면 코드가 종료될 때까지 랩탑에 세션을 유지하고 랩탑을 계속 켜두어야 한다. 데스크탑을 사용하고 있다고 해도 작업이 끝날 때까지 데스트탑이 리부팅되거나 하는 등의 일은 세션을 유지하는 동안 하기 어렵다. 이 외에도 세션을 유지해야만 하는데 따른 많은 불편함이 있다. 이 것은 원래 RHive 와 상관없이 Hadoop 이나 Hive 만을 이용할 때도 발생하는 문제이며 RHive 도 다르지 않다. 이러 문제를 해결하기 위해서 Hadoop client(Hadoop gateway)를 만들어 두고 터미널로 접속을 하여 코드를 백그라운드로 실행하는 방법을 쓸 수도 있다. 하지만 이것은 R 사용자를 위해서는 그리 편한 방법이 아니며 R 이 가지고 있는 작업환경이나 자신이 사용하는 IDE 환경의 편리함을 이용하기 어렵다. 또 사용자가 터미널을 사용하는데 익숙하지 않다면 그것을 배워야 하는 불편함이 발생한다. RStudio 는 이것을 해결해주는 가장 좋은 솔루션이다. RStudio 는 desktop 과 server 버전을 제공하는데 desktop 버전은 그 자체로 R 의 IDE 로써 매우 좋다.

Upload: aiden-seonghak-hong

Post on 26-May-2015

2.848 views

Category:

Technology


7 download

DESCRIPTION

RHive tutorial supplement 3: RHive 튜토리얼 부록 3 - RStudio 설치 (한글판)

TRANSCRIPT

Page 1: RHive tutorial supplement 3: RHive 튜토리얼 부록 3 - RStudio 설치

RHive 튜토리얼 부록 3 - RStudio 설치

RHive를 위한 RStudio 설치

이 튜토리얼에서는 RHive 를 보다 편리하게 사용하기 위해 RStudio 를 셋업하는 방법에 대해서 설명한다. RStudio 의 셋업방법은 http://rstudio.org/ 에서 자세한 문서를 찾을 수 있다. 여기서는 RHive 사용자를 위해서 RStudio 를 설치하고 사용하는 방법에 대해서 소개한다.

RHive 는 대용량데이터 처리를 위해서 Hadoop과 Hive 를 이용하는 R의 패키지 중 하나이다. RHive 를 사용해서 작성한 R코드들은 실행시키고 난 후에 짧은 시간에 결과를 보여주고 실행을 종료할 수 있는 것들도 있겠지만 매우 큰 데이터를 처리하는 코드는 결과를 만들고 실행코드가 종료되기까지 매우 오랜 시간이 걸릴 수 있다. 상황에 따라 다르지만 데이터의 크기와 처리하는 연산의 복잡도에 따라 최소 수십분에서 최대 몇주가 걸릴 수도 있다.

이 경우의 문제는 사용자가 실행한 task 가 완전히 완료되기까지 R의 세션을 계속 유지해야 해야만 한다는 것이다.

사용자가 랩탑을 이용해서 코드를 실행했다면 코드가 종료될 때까지 랩탑에 세션을 유지하고 랩탑을 계속 켜두어야 한다. 데스크탑을 사용하고 있다고 해도 작업이 끝날 때까지 데스트탑이 리부팅되거나 하는 등의 일은 세션을 유지하는 동안 하기 어렵다. 이 외에도 세션을 유지해야만 하는데 따른 많은 불편함이 있다.

이 것은 원래 RHive 와 상관없이 Hadoop이나 Hive 만을 이용할 때도 발생하는 문제이며 RHive 도 다르지 않다.

이러 문제를 해결하기 위해서 Hadoop client(Hadoop gateway)를 만들어 두고 터미널로 접속을 하여 코드를 백그라운드로 실행하는 방법을 쓸 수도 있다. 하지만 이것은 R 사용자를 위해서는 그리 편한 방법이 아니며 R이 가지고 있는 작업환경이나 자신이 사용하는 IDE환경의 편리함을 이용하기 어렵다. 또 사용자가 터미널을 사용하는데 익숙하지 않다면 그것을 배워야 하는 불편함이 발생한다.

RStudio 는 이것을 해결해주는 가장 좋은 솔루션이다.

RStudio 는 desktop과 server 버전을 제공하는데 desktop 버전은 그 자체로 R의 IDE 로써 매우 좋다.

Page 2: RHive tutorial supplement 3: RHive 튜토리얼 부록 3 - RStudio 설치

그리고 RStudio server 는 서버에 설치하여 웹 브라우저로 접속하여 서버의 자원을 여러사람이 공유하여 사용할 수 있으며 사용자가 사용하던 세션을 그대로 유지할 수 있다는 장점이 있다. 또한 사용자가 구성한 Hadoop, Hive, RHive 환경이 폐쇄된 네트워크의 레이어에 위치하고 있어 보안망을 통해서 접근해야 한다면 RStudio port 를 열어주는 것만으로도 보안절차를 간소화할 수 있다. Rstudio server 를 RHive 와 함께 사용한다면 더욱 편하게 RHive 를 사용할 수 있다.

마지막으로 RStudio 는 서버의 R 환경을 그대로 사용하므로 RHive, Hadoop, Hive 를 셋업해둔 환경을 여러사람이 함께 공유할 수 있도록 만들어 준다.

이 튜토리얼에서 RStudio 를 설치하고 접속해서 RHive 를 사용하는 데모를 보여줄 것이다.

RStudio server 설치

RStudio 는 공식사이트에서 다운로드 받을 수 있다.

http://rstudio.org/

RStudio 의 공식사이트인 rstudio.org 에서는 RStudio 를 쉽게 설치하고 사용할 수 있도록 도와주는 자세한 문서들을 제공하고 있다. 아래 페이지에서 설치법을 안내하고 있으므로 설치에 대해 이 튜토리얼을 참조하지 않고 사이트의 문서를 참조하는 것도 좋다.

http://rstudio.org/download/server

이 튜토리얼에서는 CentOS5에 RStudio server 를 설치하는 예를 설명한다. 설치법의 대부분은 위 사이트에서 인용하고 일부 수정했음을 알려둔다.

RStudio server 를 설치하기 위해서는 당연히 R을 먼저 설치해야만 한다. 이 문서를 보는 사용자가 이미 이전의 RHive tutorial 을 읽고 RHive 를 설치했다면 이미 R을 설치하는 과정은 완료했을 것이다. 하지만 여기서는 다시 설명을 한다.

아래와 같이 R의 최신버전을 yum을 이용해 설치하기 위해서 package에 관한 내용을 udpate 한다.

$   sudo   rpm   -­‐Uvh  http://download.fedora.redhat.com/pub/epel/5/i386/epel-­‐release-­‐5-­‐4.noarch.rpm  

이제 R을 설치한다.

$  sudo  yum  install  R  R-­‐devel

Page 3: RHive tutorial supplement 3: RHive 튜토리얼 부록 3 - RStudio 설치

RHive 를 설치할 때는 R 뿐만아니라 R-devel 도 설치해야 하는 것을 기억하자.

RStudio server 를 설치하기 전에 자신의 서버가 32bit architecture 인지 64bit architecture 인지 알아야 한다. 최근의 서버라면 대부분 64bit 일 것이며 아래와 같이 uname 명령어로 확인할 수 있다.

uname  -­‐m  

x86_64

위의 경우에는 64bit architecture 임을 알 수 있다.

이제 각각 자신의 architecuture 에 맞는 RStudio version 을 다운로드하고 설치한다.

32-bit 설치 방법

$   wget   http://download2.rstudio.org/rstudio-­‐server-­‐0.94.110-­‐i686.rpm  

$  sudo  rpm  -­‐Uvh  rstudio-­‐server-­‐0.94.110-­‐i686.rpm

64-bit 설치 방법

$   wget   http://download2.rstudio.org/rstudio-­‐server-­‐0.94.110-­‐x86_64.rpm  

$  sudo  rpm  -­‐Uvh  rstudio-­‐server-­‐0.94.110-­‐x86_64.rpm

개인계정만들기

RStudio server 에 접속하기 위해서 RStudio server 가 설치된 server 자체에 사용자의 계정이 있어야(exist) 한다. RStudio server 는 root 계정으로 접속하는 것을 허용하지 않으므로 서버에 개인 사용자를 위한 계정들을 만들어야 한다.

서버에 접속하여 RStudio server 를 사용할 사용자들의 계정을 만들고 password 를 설정한다.

ssh  [email protected]  

adduser  user1  

passwd  user1

위에서의 user1 은 임의로 설정한 계정이며 실제로 사용할 계정을 생성하기 바란다.

Page 4: RHive tutorial supplement 3: RHive 튜토리얼 부록 3 - RStudio 설치

RStudio server 시작하기

RStudio server 는 Daemon으로 실행되어야 한다. 아래와 같이 서버에 접속해서 Daemon실행한다.

ssh  [email protected]  

/etc/init.d/rstudioserver  start

위와 같이 간단히 실행할 수 있다.

RStudio server 접속하기

RStudio server 는 web browser 를 이용해서 접속할 수 있다. 웹 브라우저를 실행하고 아래와 같이 RStudio server 의 주소로 접속한다.

http://10.1.1.1:8787

RStudio 에 접속할 수 있는 port 는 기본값으로 8787이다. 이것은 설정을 변경해서 바꿀 수 있다.

이제 RStudio 에 접속해서 R과 RHive 를 이용한 대용량 분석 작업을 할 수 있을 것이다.

RHive를 위한 RStudio 작업

RStudio 에서 작업을 하는 도중에 environment variable 이 잘 설정되지 않아 RHive 를 loading하는데 실패하는 경험을 할 수 있다. 이런 경우에는 소스코드에 환경변수를 지정하는 코드를 넣어 해결 할 수 있다.

Sys.setenv(HADOOP_HOME="/mnt/srv/hadoop-­‐0.20.203.0")  

Sys.setenv(HIVE_HOME="/mnt/srv/hive-­‐0.7.1")  

Sys.setenv(RHIVE_DATA="/mnt/srv/rhive_data")  

   

library(RHive)

위에서 HADOOP_HOME과 HIVE_HOME은 사용자의 컴퓨터가 아닌 RStudio 가 설치되어 있는 서버의 Hadoop과 Hive 의 Home 디렉토리를 지정해야 하며 RHIVE_DATA는 RHive 가 사용할 임시 디렉토리를 말하며 각 Hadoop 노드에 생성된다.

환경변수를 세팅하는 것은 RHive 를 library 함수를 이용해서 loading하기 전에 수행해야 하며 만약 환경변수를 설정하지 않고 RHive 를 loading했다면 환경 변수를 설정하고 rhive.init() 펑션을 이용해서 RHive 를 초기화 할 수 있다.

Page 5: RHive tutorial supplement 3: RHive 튜토리얼 부록 3 - RStudio 설치

library(RHive)  

   

Sys.setenv(HADOOP_HOME="/mnt/srv/hadoop-­‐0.20.203.0")  

Sys.setenv(HIVE_HOME="/mnt/srv/hive-­‐0.7.1")  

Sys.setenv(RHIVE_DATA="/mnt/srv/rhive_data")  

   

rhive.init()

이제 RStudio 를 통해서 R코드를 작성하고 RHive 를 이용해서 Hive 와 Hadoop을 다룰 수 있는 환경 셋업을 마쳤다.