2013-10-01 28 views
0

我已經設置了HADOOP_CMD(Hadoop的路徑)變量,但它不走的路,說是沒有找到rhdfs是沒有得到連接

library("rhdfs") 
hdfs.init() 
Sys.setenv(HADOOP_CMD="C:/cygwin64/usr/local/hadoop/bin/hadoop") 
Error in system(command, intern = TRUE) : 
'C:/cygwin64/usr/local/hadoop/bin/hadoop' not found 

我已經在系統環境變量defind HADOOP_CMD也還有如在cygwin通過

export HADOOP_CMD="C:/cygwin64/usr/local/hadoop/bin/hadoop" 

我在哪裏錯了,在這方面的任何幫助,謝謝。

+0

我有同樣的問題,你是怎麼解決的呢?謝謝。 – bigData

回答

1

HADOOP_HOME & HADOOP_CMD應在R對話盯着RHadoop

  • RHadoop之前設置,調用hdfs.init()

    還記得之前下關卡相依

    • rmr2 - RCpp, RJSONIO, digest, functional, stringr, plyr
    • rhdfs - rJava
  • 在R對話

    出口ENV變量在運行前init()

    # requied
    Sys.setenv(HADOOP_HOME="/home/trendwise/apache/hadoop-1.0.4"); Sys.setenv(HADOOP_CMD="/home/trendwise/apache/hadoop-1.0.4/bin/hadoop"); Sys.setenv(HADOOP_STREAMING='/home/trendwise/apache/hadoop-1.0.4/contrib/streaming/hadoop-streaming-1.0.4.jar')

    #optional
    Sys.setenv(HADOOP_BIN="/home/trendwise/apache/hadoop-1.0.4/bin"); Sys.setenv(HADOOP_CONF_DIR="/home/trendwise/apache/hadoop-1.0.4/conf"); Sys.setenv(HIVE_HOME="/home/trendwise/apache/hive-0.10.0"); Sys.setenv(HBASE_HOME="/home/trendwise/apache/hbase-0.94.3");

    # Library Path Sys.setenv(LD_LIBRARY_PATH="/lib:/lib/x86_64-linux-gnu:/lib64:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64:/usr/lib/jvm/jdk1.7.0_10/lib:/usr/lib/jvm/jdk1.7.0_10/jre/lib:/usr/lib/jvm/jdk1.7.0_10/jre/lib/amd64:/usr/lib/jvm/jdk1.7.0_10/jre/lib/amd64/server");

    # Loading library
    library(rmr2)
    library(rhdfs)

    # initializing
    hdfs.init()