0

我正在尝试在我的 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\0\0\0\0erties\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

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

4

1 回答 1

1

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

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

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

这反过来又会导致错误。

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

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

于 2016-10-01T13:04:50.170 回答