在 Hadoop 集群上安装 RHadoop

Installing RHadoop on a Hadoop Cluster

我正在尝试在我的 Hadoop 集群上安装 RHadoop。在安装一些必需的软件包时,我遇到了以下错误:

> install.packages("Megh/rmr2_3.3.1.tar.gz")
Installing package into ‘/usr/lib64/R/library’
(as ‘lib’ is unspecified)
inferring 'repos = NULL' from 'pkgs'
Error in rawToChar(block[seq_len(ns)]) :
  embedded nul in string: 'rmr2/man/fromdfstodfs.Rd[=10=][=10=][=10=][=10=]erties\n i-_". '
Warning message:
In install.packages("Megh/rmr2_3.3.1.tar.gz") :
  installation of package ‘Megh/rmr2_3.3.1.tar.gz’ had non-zero exit status
>

> install.packages("Megh/plyrmr_0.6.0.tar.gz")
Installing package into ‘/usr/lib64/R/library’
(as ‘lib’ is unspecified)
inferring 'repos = NULL' from 'pkgs'
Warning in untar2(tarfile, files, list, exdir, restore_times) :
  checksum error for entry 'plyrmr/man/as.data.framed'
Warning in readBin(con, "raw", n = 512L) :
  invalid or incomplete compressed data
Error in untar2(tarfile, files, list, exdir, restore_times) :
  incomplete block on file
Warning message:
In install.packages("Megh/plyrmr_0.6.0.tar.gz") :
  installation of package ‘Megh/plyrmr_0.6.0.tar.gz’ had non-zero exit status

我也在集群上安装了RHive。我可以通过 RHive 执行相对较小的查询,但较大的查询会失败:

> rhive.query("SELECT COUNT(*) FROM tradehistory")
Error: java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
> rhive.query("SELECT tradeno FROM tradehistory LIMIT 10")
    tradeno
1  34232193
2  34232198
3  34232199
4  34232200
5  34232201
6  34232202
7  34232203
8  34232204
9  34232205
10 34232206

如果有人有任何想法,请帮助我解决这个问题!非常感谢!

对于我遇到的安装错误,我发现这是 tar 文件的问题。

我使用 Windows 系统下载了 tar 文件,并使用 WinSCP 将其传输到我的集群。

为了传输 zip/archive 类型的文件,理想情况下应该使用二进制传输,否则有可能会丢失 tar 文件的某些字节。

这反过来会导致错误。

在 Tez 的情况下,如果需要执行必须调用多个 MapReduce 任务的查询,则在没有适当授权的情况下无法执行查询。

因此,当我尝试提供用户名和密码的相同 rhive 查询时,我能够获得预期的结果。