Hadoop namenode 未以退出代码 1 开始

问题描述 投票:0回答:4
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:~$ 

它会启动几次,但大多数都会抛出错误。也格式化名称节点。

hadoop namenode
4个回答
0
投票

我猜错误是关于 ssh 的。

您必须创建一个本地主机 ssh。你做到了吗?如果没有,那么我告诉你简单的命令:

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

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


0
投票

首先,停止 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
)


0
投票

我也有同样的问题。 这是 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 中,您可以看到那里定义了两个文件。 (文件:///opt/hadoop-3.3.0/hdfs/namenode 和文件:///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)


0
投票

问题不在于 NameNode,而在于 SSH 连接。 NameNode 正在尝试通过无密码 SSH 连接连接到本地主机,这需要设置 RSA 公钥。请按照以下步骤解决问题:

  1. 使用以下命令生成 RSA 密钥对: ssh-keygen -t rsa -P ""
  2. 将 RSA 公钥附加到authorized_keys 文件中: 猫 $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
  3. ssh 本地主机

如果 SSH 到 localhost 仍然提示输入密码,则表明未使用公钥。检查相关日志以获取更多信息:

  1. 对于基于 Debian/Ubuntu 的系统:/var/log/auth.log
  2. 对于基于 RedHat/CentOS 的系统:/var/log/secure

如果是权限问题,请使用以下命令更改权限:

  1. chmod 700 $HOME/.ssh
  2. chmod 600 $HOME/.ssh/authorized_keys

尝试再次连接到本地主机。这些步骤应该可以解决 SSH 连接问题。

© www.soinside.com 2019 - 2024. All rights reserved.