启动namenode而不格式化

svgewumm  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(367)

我尝试使用bin/start-all.sh启动namenode。但是,此命令不会启动namenode。我知道如果我使用bin/hadoopnamenode格式,namenode会启动,但是在这种情况下,我会丢失所有的数据。有没有办法启动namenode而不格式化它?

blmhpbnm

blmhpbnm1#

您的问题可能与以下方面有关:
默认情况下,hadoop将其namenode数据写入/tmp/hadoop文件夹中,每次重新启动后都会清除该文件夹。
将以下属性添加到conf/hdfs-site.xml

<property>
   <name>dfs.name.dir</name>
   <value><path to your desired folder></value>
</property>

“dfs.name.dir”属性允许您控制hadoop在何处写入namenode元数据。

pvabu6sv

pvabu6sv2#

bin/start-all.sh 应该启动namenode,以及datanodes、jobtracker和tasktrackers。因此,请检查namenode的日志以查找可能的错误。
跳过启动jobtracker和tasktrackers,只启动namenode(和datanodes)的另一种方法是使用以下命令: bin/start-dfs.sh 事实上, bin/start-all.sh 相当于使用以下命令: bin/start-dfs.sh ,它启动namenode和datanodes bin/start-mapred.sh ,它启动jobtracker和tasktrackers。
有关详细信息,请访问此页。

相关问题