Pivotal Knowledge Base

フォローする

PHDクライアントノード上でRHDFSを有効にする方法

環境

PHD 1.1.1

R 3.0.2

rhdfs 1.0.8

前提条件

  • クライアントノードはICMもしくは手動でのRPMインストールにより配備されていること。バイナリインストールを適用している場合は、いくつかのディレクトリパスを後述の方法で変更する必要が生じることがある。
  • Kerberos 設定されたHDFSの環境では、RHDFSクライアントを実行するユーザには、すでにKerberos TGTが発行されている必要がある。こちらは、当該 RHDFSクライアントノードで “klist” コマンドを実行し確認することができる。
  • JAVA 1.6/1.7がインストールされていること

インストール

  1. Rをサイトよりダウンロード: http://cran.r-project.org/mirrors.html
  2. RHDFS をサイトよりダウンロード: https://github.com/RevolutionAnalytics/rhdfs/blob/master/build/rhdfs_1.0.8.tar.gz?raw=true
  3. Rのコンパイルに必要なヘッダーをインストール
    yum install libX11-devel libXt-devel readline-devel
  4. Rパッケージを抽出し、R-3.0.2ディレクトリにcd
    tar -xzvf R-3.0.2.tar.gz
    cd R-3.0.2
  5. Rをビルド
    ./configure
    make
    make install
  6. RのためのJAVA設定
    [root@rhdfs R]# export JAVA_HOME=/usr/java/default
    [root@rhdfs R]# R CMD javareconf
  7. “R”コマンドによりRプロンプトにアクセスし、必要なパッケージをインストールする
    [root@rhdfs R] R
    > install.packages(c("rJava", "Rcpp", "RJSONIO", "bitops", "digest", "functional", "stringr", "plyr", "reshape2"))
    
  8. RHDFSパッケージをインストールする。rhdfsのtarアーカイブのパスは自身の環境に合わせて適宜変更
    [root@rhdfs R] R 
    > Sys.setenv(HADOOP_CMD="/usr/bin/hadoop")
    > install.packages("/root/R/rhdfs_1.0.8.tar.gz", repos = NULL, type="source")
    
  9. インストールが終わったら "q()" でRプロンプトから出る
  10. 次に、Rを使用し "hdfs -ls" コマンドでテストする。まずRがhadoopのバイナリファイルを見つけ、rhdfsライブラリをロードできるように環境設定を行う必要がある。その完了の後、hdfsクライアント初期化のため、hdfs.init()を実行する
    [root@rhdfs R] R
    >  Sys.setenv(HADOOP_CMD="/usr/bin/hadoop")
    > library(rhdfs)
    Loading required package: rJava
    HADOOP_CMD=/usr/bin/hadoop
    
    > hdfs.init()
    14/02/25 09:07:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    
  11. ここまでで、RHDFS環境が事前に初期化され、hdfs.lsを使用し接続テストを実行することができる。
    > hdfs.ls("/tmp")
      permission owner  group size          modtime         file
    1 drwxrwxrwx  hdfs hadoop    0 2013-11-06 14:37 /tmp/gphdtmp
    > hdfs.ls("/")
      permission    owner   group size          modtime       file
    1 drwxr-xr-x     hdfs  hadoop    0 2013-11-06 14:38      /apps
    2 drwxr-xr-x postgres gpadmin    0 2014-02-21 06:50 /hawq_data
    3 drwxr-xr-x     hdfs  hadoop    0 2013-11-06 14:40      /hive
    4 drwxr-xr-x   mapred  hadoop    0 2013-11-06 14:37    /mapred
    5 drwxrwxrwx     hdfs  hadoop    0 2013-11-06 14:37       /tmp
    6 drwxrwxrwx     hdfs  hadoop    0 2014-02-22 02:05      /user
    7 drwxr-xr-x     hdfs  hadoop    0 2013-11-06 14:38      /yarn
    

コメント

Powered by Zendesk