Hadoop namenode 不以退出代码 1 开头

Posted

技术标签:

【中文标题】Hadoop namenode 不以退出代码 1 开头【英文标题】:Hadoop namenode not starting with exit code 1 【发布时间】:2018-06-23 06:07:23 【问题描述】:
prateek@prateek:~$ start-dfs.sh
Starting namenodes on [localhost]
pdsh@prateek: localhost: ssh exited with exit code 1
Starting datanodes
Starting secondary namenodes [prateek]
prateek@prateek:~$ jps
11011 SecondaryNameNode
10787 DataNode
11161 Jps
prateek@prateek:~$ 

它有时会启动,但大多会引发错误。也格式化了namenode。

【问题讨论】:

你能解决这个问题吗?我现在也看到了,在我安装 Gnome 和 Eclipse 之前它工作正常。 【参考方案1】:

我猜这个错误是关于 ssh 的。

您必须创建一个 localhost ssh。你这样做了吗?如果没有,那么我告诉你简单的命令:

 - ssh-keygen
 - ssh-copy-id -i .ssh/id_rsa.pub localhost

现在,尝试使用 localhost 进行 ssh,它应该是无密码的 ssh。然后尝试重新启动您的名称节点,它应该可以工作。

【讨论】:

我认为这不是问题,因为我能够 ssh 我的 localhost poasswordless 并且我仍然收到此错误。我猜它与 pdsh 相关的东西错误地解析了退出代码。 它与 ssh-keygen 无关。但我仍然有问题。【参考方案2】:

首先,停止 dfs 和 yarn,使用:

stop-dfs.sh 或 (sbin/stop-dfs.sh)

stop-yarn.sh 或 (sbin/stop-dfs.sh)

然后使用此代码:

hdfs namenode -format -force

然后再次启动 dfs 和 yarn:

start-dfs.sh 或 (sbin/start-dfs.sh)

start-yarn.sh 或 (sbin/start-yarn.sh)

【讨论】:

【参考方案3】:

我遇到了同样的问题。 这是 hadoop/etc/hadoop 中的错误配置文件。 请检查hdfs-site.xml和core-site.xml是否配置正确。

这是我的配置: hdfs-site.xml:

<configuration> 
     <property> 
         <name>dfs.replication</name> 
         <value>2</value> 
     </property> 
     <property> 
         <name>dfs.blocksize</name> 
         <value>134217728</value> 
     </property> 
     <property> 
         <name>dfs.namenode.fs-limits.min-block-size</name> 
         <value>32768</value> 
     </property> 
     <property> 
         <name>dfs.namenode.name.dir</name> 
         <value>file:///opt/hadoop-3.3.0/hdfs/namenode</value> 
     </property> 
     <property>  
         <name>dfs.datanode.data.dir</name> 
         <value>file:///opt/hadoop-3.3.0/hdfs/datanode</value> 
     </property> 
     <property>  
         <name>dfs.permission.enabled</name> 
         <value>false</value> 
     </property>   
</configuration>

和 core-site.xml

<configuration> 
     <property> 
         <name>fs.defaultFS</name> 
         <value>hdfs://bd-1:9000</value> 
     </property> 
     <property> 
         <name>hadoop.user.group.static.mapping.overrides</name> 
         <value>dr.who=;hduser=hduser;</value> 
     </property> 
     <property>  
         <name>hadoop.http.staticuser.user</name> 
         <value>hduser</value> 
     </property> 
</configuration>

您必须更改用户和路径!

在 hdfs-site.xml 中,您可以看到其中定义了两个文件。 (file:///opt/hadoop-3.3.0/hdfs/namenode 和 file:///opt/hadoop-3.3.0/hdfs/datanode) 确保使用

创建这些文件
mkdir -p /opt/hadoop-3.3.0/hdfs/namenode

否则您可能会遇到权限错误。

你可以

chown -R hduser:hduser /opt/hadoop

确保所有权限都是正确的。

确保你做到了

hdfs namenode -format

在重新开始之前。

(THX 2 j.paravicini)

【讨论】:

以上是关于Hadoop namenode 不以退出代码 1 开头的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop运行中NameNode闪退和运行mapreducer时卡在Running job.....

2018-07-23期 Hadoop RPC模拟NameNode

Hadoop- HDFS的Safemode

hadoop源代码解读namenode高可靠:HA;web方式查看namenode下信息;dfs/data决定datanode存储位置

Hadoop启动没有namenode进程

hadoop格式化时,无法启动namenode