chef-soloを使ってRstudioServerをセットアップする手順
CentOS6にchef-soloを使って、
RStudioServerをセットアップする手順を示します。
RStudioServerセットアップの手順は簡単ですが、
処理するデータ量が増えた時の、サーバ増強・増設を考えると、
自動化しておいた方がいいような気がしたので、
chefのcookbookにしておきました。
このエントリで使用するchefのcookbookは、私のgithubにおいています。
https://github.com/takemikami/chef-rstudio
RStudio自体については、以下の公式サイトをご覧下さい。
RStduio
https://www.rstudio.com/
Knife/Berkshelfのインストール
管理用のマシンで、
以下のコマンドから、Knife Soloの作業用ディレクトリを作成します。
$ mkdir ~/rstudiosetup
作業用ディレクトリに以下ファイルを作成します。
Gemfile
source 'https://rubygems.org'
gem 'chef'
gem 'knife-solo'
gem 'berkshelf'
Berksfile
site :opscode
cookbook "rstudio", github: "takemikami/chef-rstudio"
以下のコマンドで、KnifeSoloをインストールします。
$ cd ~/rstudiosetup
$ bundle install --path=vendor/bundle
以下のコマンドで、knifeのディレクトリ構成を作成します。
$ bundle exec knife solo init .
以下のコマンドで、githubからrstudioのcookbookを取得します。
$ bundle exec berks vendor cookbooks/
RstudioServerのセットアップ用cookbookを適用
knife-soloで接続できるCentOSの環境が用意されているとして、
以下のコマンドで、knifeの環境を準備します。
$ cd ~/pentahosetup
$ bundle exec knife solo prepare <接続先マシン名>
次のファイルに適用時の設定を追記します。
nodes/<接続先マシン名>.json
{"run_list":["recipe[rstudio::server]"]}
以下のコマンドで、knifeでcookbookを適用をします。
$ bundle exec knife solo cook <接続先マシン名>
ここまでで、RStudioServerのセットアップが完了です。
上記手順以外に、
RstudioServerは、TCPポート8787でサービスを提供するので、
クライアントからTCPポート8787でアクセス出来るようにしておく必要があります。
ブラウザから「http://<接続先マシン名>:8787/」にアクセスすると以下のような
ログイン画面が表示されます。
サーバ上のユーザ(UNIXのユーザ)を指定してログインすると、
以下のような画面が表示され、Rの機能を利用することができます。
参考にした記事
RStudioがすごそうなので使ってみた - As a Futurist…
http://blog.riywo.com/2011/03/05/031831
CentOS 6.2 に R と RStudio Server をインストールする - hiratake55 の開発メモ
http://d.hatena.ne.jp/hiratake55/20120527/1338091311