无法获取系统目录 - hadoop [英] Failed to get system directory - hadoop

查看:161
本文介绍了无法获取系统目录 - hadoop的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用hadoop多节点设置(1 mater,1 salve)

在master上启动start-mapred.sh后,我在TT日志中发现了以下错误(从站)


org.apache.hadoop.mapred.TaskTracker:无法获取系统目录

可以帮助我了解可以采取哪些措施来避免此错误。

我使用
Hadoop 1.2 .0
jetty-6.1.26
java版本1.6.0_23

mapred-site.xml文件

 < configuration> 
<属性>
<名称> mapred.job.tracker< / name>
< value> master:54311< / value>
< description> MapReduce作业追踪器的主机和端口运行
at。如果是本地,那么作业将作为单个映射
在进程中运行并减少任务。
< / description>
< / property>
<属性>
<名称> mapred.map.tasks< / name>
<值> 1< /值>
< description>
将mapred.map任务定义为从属主机的数量
< / description>
< / property>

<属性>
<名称> mapred.reduce.tasks< / name>
<值> 1< /值>
< description>
将mapred.reduce任务定义为从属主机数量
< / property>

< / configuration>

core-site.xml

 <结构> 
<属性>
<名称> fs.default.name< /名称>
< value> hdfs:// master:54310< / value>
< description>默认文件系统的名称。一个URI,其
模式和权限决定了FileSystem的实现。
uri的方案决定配置属性(fs.SEMEME.impl)命名
FileSystem实现类。 uri的权限用于
确定文件系统的主机,端口等。< / description>
< / property>
<属性>
< name> hadoop.tmp.dir< / name>
< value> / home / hduser / workspace< / value>
< / property>
< / configuration>


解决方案

看来您刚刚添加了hadoop.tmp.dir并开始工作。在将任何属性添加到配置文件后,您需要重新启动Hadoop守护程序。您已在评论中指定您在稍后阶段添加了此属性。这意味着所有数据和元数据以及其他临时文件仍然位于/ tmp目录中。将所有这些内容复制到 / home / hduser / workspace 目录中,重新启动Hadoop并重新运行作业。

请让我知道结果。谢谢。


Using hadoop multinode setup (1 mater , 1 salve)

After starting up start-mapred.sh on master , i found below error in TT logs (Slave an)

org.apache.hadoop.mapred.TaskTracker: Failed to get system directory

can some one help me to know what can be done to avoid this error

I am using Hadoop 1.2.0 jetty-6.1.26 java version "1.6.0_23"

mapred-site.xml file

<configuration>
<property>
  <name>mapred.job.tracker</name>
  <value>master:54311</value>
  <description>The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  </description>
</property>
<property>
  <name>mapred.map.tasks</name>
    <value>1</value>
      <description>
          define mapred.map tasks to be number of slave hosts
</description>
</property>

<property>
  <name>mapred.reduce.tasks</name>
    <value>1</value>
      <description>
          define mapred.reduce tasks to be number of slave hosts
</description>
</property>

</configuration>

core-site.xml

<configuration>
<property>
  <name>fs.default.name</name>
  <value>hdfs://master:54310</value>
  <description>The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class.  The uri's authority is used to
  determine the host, port, etc. for a filesystem.</description>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hduser/workspace</value>
</property>
</configuration>

解决方案

It seems that you just added hadoop.tmp.dir and started the job. You need to restart the Hadoop daemons after adding any property to the configuration files. You have specified in your comment that you added this property at a later stage. This means that all the data and metadata along with other temporary files is still in the /tmp directory. Copy all those things from there into your /home/hduser/workspace directory, restart Hadoop and re run the job.

Do let me know the result. Thank you.

这篇关于无法获取系统目录 - hadoop的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆