windows - rhdfs没有建立连接

标签 windows r hadoop cygwin rhadoop

我已经设置了 HADOOP_CMD (hadoop路径)变量,但是它没有采用该路径,因为未找到

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

我也已经在系统环境变量以及cygwin中定义了HADOOP_CMD
export HADOOP_CMD="C:/cygwin64/usr/local/hadoop/bin/hadoop"

我在哪里错了,对此方向的任何帮助,谢谢。

最佳答案

在调用HADOOP_HOME之前,应在R session 中设置HADOOP_CMDhdfs.init()
还记得在盯着RHadoop之前遵循检查点

  • R-Hadoop依赖项
  • rmr2 -RCpp, RJSONIO, digest, functional, stringr, plyr
  • rhdfs -rJava
  • 在运行init()之前在R session 中导出环境变量
    # 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()
  • 关于windows - rhdfs没有建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19116610/

    相关文章:

    linux - 使用 SFTP 在基于 Windows 的服务器(主机)和 Linux 服务器(客户端)之间进行同步

    c++ - 从内存地址获取源代码中的函数

    R .libPaths() 自动重置

    r - 调整 PDF 输出中的 R Markdown 标题位置

    java - 写入相同数据量的多个文件与写入相同数据量的单个大文件

    hadoop - 使用自定义可写从 Hadoop Map Reduce 作业输出列表

    使用文件中的行来构造命令中的参数的 Windows 批处理文件

    windows - CMD认为8大于65

    r - 使用 length 和 integer(0) 测试条件表达式

    hadoop - strace'ing sqoop 命令时资源暂时不可用 futex