【问题标题】:Running wordcount sample using MRV1 on CDH4.0.1 VM在 CDH4.0.1 VM 上使用 MRV1 运行 wordcount 示例
【发布时间】:2012-10-01 15:01:00
【问题描述】:

我从https://downloads.cloudera.com/demo_vm/vmware/cloudera-demo-vm-cdh4.0.0-vmware.tar.gz下载了虚拟机

我发现系统启动后,下面列出的服务正在运行。

  • MRV1 服务

hadoop-0.20-mapreduce-jobtracker
hadoop-0.20-mapreduce-tasktracker

  • MRV2 服务

hadoop-yarn-nodemanager
hadoop-yarn-resourcemanager
hadoop-mapreduce-historyserver

  • HDFS 服务

hadoop-hdfs-namenode
hadoop-hdfs-datanode

字数统计示例运行良好并按预期生成输出

/usr/bin/hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount input output

但是,以上运行使用 MRv2 - YARN 框架

我的目标是使用 MRv1 运行。正如 Cloudera 文档中所建议的,我停止了 MRV2 服务,并编辑了 /etc/hadoop/conf/mapred-site.xml

  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property

到“经典”(也尝试过“本地”)

  <property>
    <name>mapreduce.framework.name</name>
    <value>classic</value>
  </property

我希望它使用 MRV1(jobtracker 和 tasktracker)运行。但是,我看到以下错误:

12/10/10 21:48:39 INFO mapreduce.Cluster: Failed to use org.apache.hadoop.mapred.LocalClientProtocolProvider due to error: Invalid "mapreduce.jobtracker.address" configuration value for LocalJobRunner : "172.30.5.21:8021"
12/10/10 21:48:39 ERROR security.UserGroupInformation: PriviledgedActionException as:cloudera (auth:SIMPLE) cause:java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
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:121)
        at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:83)
        ......

有人可以提出什么问题。为什么错误指向无效配置?

【问题讨论】:

  • 你不需要手动编辑任何东西;这可能是问题所在。只需停止“yarn”服务并启用“mapreduce”即可。

标签: hadoop cloudera


【解决方案1】:

我认为您的集群仍然指向 MRv2 配置目录,而不是 MRv1。

在集群中的每个节点中更新/安装hadoop-conf 替代项,指向具有高优先级的 MRv1 配置目录。

然后重新启动所有服务。

例如:

$ sudo update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.mrv1 50
$ sudo update-alternatives --set hadoop-conf /etc/hadoop/conf.mrv1

【讨论】:

    【解决方案2】:

    以下答案不是我的,而是问题本身中发布的 OP。


    我错过了导致上述失败的一件事。确保在 hadoop-env.sh 中,将“export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce”更改为“export HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce”。

    这个错误有点误导。另外,我已经在 shell 上导出了变量,但是我相信这个会覆盖它(需要验证)。

    【讨论】:

      猜你喜欢
      • 2015-04-02
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      相关资源
      最近更新 更多