为什么要获取Hadoop启动SafemodeException
我们有一个包含三个节点的hadoop集群。启动集群时,会出现如下错误消息为什么要获取Hadoop启动SafemodeException,hadoop,Hadoop,我们有一个包含三个节点的hadoop集群。启动集群时,会出现如下错误消息 ssh: Could not resolve hostname master: 但在我们的应用程序中,在configs中没有使用该名称。 但是守护进程也在主控和从控模式下运行。但在检查UI时,只有一个节点是活动节点。 谁能帮助我这些conf文件的引用位置。可能是,您在文件$HADOOP_HOME/conf/masters |$HADOOP_HOME/conf/slaves中写入了“master:”而不是“master”
ssh: Could not resolve hostname master:
但在我们的应用程序中,在configs中没有使用该名称。
但是守护进程也在主控和从控模式下运行。但在检查UI时,只有一个节点是活动节点。
谁能帮助我这些conf文件的引用位置。可能是,您在文件$HADOOP_HOME/conf/masters |$HADOOP_HOME/conf/slaves中写入了“master:”而不是“master”
这是一个dns问题,在环境设置过程中可能会遇到许多dns问题。您可以使用hadoop dns检查工具来解决问题…您是否编写了
conf/masters
和conf/slaves文件
?在hadoop文件夹中,执行以下操作:
echo localhost > conf/masters;
echo localhost > conf/slaves;
另外,在conf/core site.xml
中,确保设置了fs.default.name
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
</configuration>
您的
$HADOOP\u HOME/conf/masters
和$HADOOP\u HOME/conf/slaves
文件的内容是什么?我确实在HADOOP-hduser-jobtracker-MasterNode.log中看到异常,如下所示,“清理系统目录时出现问题:hdfs://masternode:54310/mnt/sdb1/mapred/system org.apache.hadoop.ipc.RemoteException:org.apache.hadoop.hdfs.server.namenode.SafeModeException:无法删除/mnt/sdb1/mapred/system。名称节点处于安全模式。”请任何人帮助。
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>dfs.datanode.socket.write.timeout</name>
<value>0</value>
</property>
</configuration>