【问题标题】:Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses无法初始化集群。请检查您的 mapreduce.framework.name 配置和相应的服务器地址
【发布时间】:2016-01-05 19:13:11
【问题描述】:

我正在尝试运行相同的代码(org.apache.hadoop.hbase.mapreduce.Export),通过将所有必需的 jar 从 java 命令行路径(./java -cp”)添加到类路径中来导出类。 :/npachava/*" Export test /test) ,出现以下错误。

Exception in thread "main" java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
    at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:120)
    at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:82)
    at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:75)
    at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1260)
    at org.apache.hadoop.mapreduce.Job$9.run(Job.java:1256)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
    at org.apache.hadoop.mapreduce.Job.connect(Job.java:1256)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1284)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1308)
    at Export.main(Export.java:194)

但是从 hbase bin 目录 (./hbase org.apache.hadoop.hbase.mapreduce.Driver export test /TestTableData) 的命令提示符下运行非常好。

我尝试将配置设置为 yarn/local,但均无效

Configuration conf = HBaseConfiguration.create();
conf.set("mapreduce.framework.name", "yarn"); also with "local"

请大家帮忙

我在我的 linux 上运行 hbase 0.94.17 版本。

【问题讨论】:

  • 以及对应的服务器地址。你为此做了什么配置?
  • 我没有配置任何内容,并且在 hbase-site.xml 中将每台服务器配置为本地主机,即 127.0.0.1,我需要以实用的方式设置配置吗?

标签: java hadoop mapreduce hbase


【解决方案1】:

添加hadoop-mapreduce-client-jobclient.jar(下载前选择hadoop版本)。

【讨论】:

  • 请多解释一下你的答案
  • 在类路径中添加了这个 jar,然后它对我来说很好
  • @Mentya ,您能解释一下如何将 jar 文件添加到类路径中吗?
  • @Mentya ,我没有使用 Maven。将jar文件添加到类路径的另一种方法是什么
  • 为什么要解决问题?什么是从业人员的依赖?
【解决方案2】:

如@mentya 所说已解决。

如果您使用的是 Maven,您也可以将其添加到您的 pom.xml 中。

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
        <version>${hadoop.version}</version>
        <scope>provided</scope>
    </dependency>

【讨论】:

  • 这种做法的原因是什么?为什么这应该解决问题?
猜你喜欢
  • 2013-10-03
  • 2022-01-07
  • 1970-01-01
  • 2016-04-16
  • 2020-12-07
  • 1970-01-01
  • 2020-05-31
  • 2013-12-11
  • 1970-01-01
相关资源
最近更新 更多