R / Rstudio server / rstan をCentos7にインストール
Rstanのインストールがgcc関連でハマりやすいことをあり備忘録として記録。
ついでになるべく環境を汚したくないので、独立したVM環境にRstudio Serverも導入して使う。 (Rstudio Serverに関する設定や使い方についてはここでは触れません)
環境
主要な環境は以下の通り。
- CentOS Linux release 7.8.2003 (Core)
- R 3.6.0
- Rstudio Server 1.3.1093
- tidyverse 1.3.0
- rstan 2.21.2
- bayesplot 1.7.2
- ggmcmc 1.5.0
基本方針
- Rはパッケージからインストール。
- Rstudio Serverは原則公式サイトに従い、安定版(?)をインストールする。
https://rstudio.com/products/rstudio/download-server/redhat-centos/ - 設定は原則
root
で行う。 - Rserver studioのユーザは
user01
とする。 - インストール先のIPアドレスは
10.100.100.100
とする。各自の環境に合わせて適宜読みかえること。
インストール
ユーザuser01の作成
ユーザを作成する。
# groupadd rserver # useradd -g rserver user01
パスワードも変えておく。
# passwd user01
epel-releaseのインストール
R等のインストールに重要なepel-releaseをインストールする。
# yum install -y epel-release
R のインストール
EPELよりそのままインストール。
# yum install -y R
Rstudio Serverのインストール
公式サイトの記載にのっとりインストールするが、wget
ではなくcurl
を用いる。
2020/11/2時点では以下のURLだった。
# curl -O https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-1.3.1093-x86_64.rpm # yum install -y rstudio-server-rhel-1.3.1093-x86_64.rpm
rstudio-serverのサービスのステータスがactive
になっていることを確認する。
# systemctl status rstudio-server.service
ブラウザから以下のURLにアクセスすることで、Rstudio studioのログイン画面が表示される。
さきほどOS上に作成したユーザuser01
のユーザ名とパスワードでログインができる。
Rパッケージの導入
導入の準備
tidyverse
とrstan
を導入するために必要となるパッケージをインストールする。
まずはdevtoolset-8
を入れる。
# yum install -y centos-release-scl # yum install -y devtoolset-8
devtoolset-8
を有効化し、/etc/profile
の末尾にも有効化の処理が走るよう追記する。
# scl enable devtoolset-8 bash # echo "" >> /etc/profile # echo "scl enable devtoolset-8 bash" >> /etc/profile
その他必要なパッケージもインストールする。
# yum install -y v8-devel curl-devel libcurl-devel openssl-devel libxml2-devel tbb-devel
パスを通す。
さらに/etc/profile
にも念のため追記する。
# export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64 # echo "" >> /etc/profile # echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64" >> /etc/profile
tidyverseのインストール
R
のREPLを起動し、対話モードにする。
# R
tidyverse
をインストールする。
> install.packages("tidyverse", repos = "https://cloud.r-project.org/")
対話モードから抜ける。
> q()
rstanのインストール
root
ユーザで/root/.R/Makevars
、user01
ユーザで/home/user01/.R/Makevars
を作成する。
ファイルの中身は以下の通り。
CXX14FLAGS=-O3 -march=native -mtune=native -fPIC CXX14=/opt/rh/devtoolset-8/root/usr/bin/g++
rstan
をインストールする。
> install.packages("rstan", repos = "https://cloud.r-project.org/", dependencies = TRUE)
動作確認
ブラウザから以下のURLにアクセスすることで、Rstudio studioのログイン画面が表示される。
さきほどOS上に作成したユーザuser01
のユーザ名とパスワードでログインができる。
以下のコードで動作確認を行う。
> library(tidyverse) > library(rstan) > x <- rbinom(n = 100, size = 20, prob = 0.8) binomial_test <- " data { int N; int n; int x[n]; } parameters { real<lower=0, upper=1> p; } model { x ~ binomial(N, p); }" > d <- list(N = 20, x = x, n = length(x)) > fit <- stan( model_code = binomial_test , data= d) > stan_hist(fit)
その他パッケージを入れる
ここでは以下2つをいれる。
> install.packages('ggmcmc') > install.packages('bayesplot')
最後に
rstanのインストールは結局のところ、以下を読むのが早いです。
https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started-(Japanese))
https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started
Rstudio Serverのインストールはここを見ましょう。
https://rstudio.com/products/rstudio/download-server/redhat-centos/
動作確認のコードは以下から引用させていただきました。
https://qiita.com/kumalpha/items/158d0fdfa054da602e1b