我已经搜索了这个问题,虽然有许多类似的例子,但我找不到一个共同的解决方案或一个适合我的。我已经安装了hadoop,并在伪分布式模式下运行。它工作得很好,我可以启动和停止它很多次,让它运行良好。但是,如果我重新启动计算机并启动hadoop,namenode不会启动。我需要格式化它每一次,这意味着我失去了所有的工作,我已经做了,需要重新开始。
我正在关注hadoop:权威指南v3。
my core-site.xml说:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
我的hdfs-site.xml说:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
有没有一种配置hadoop的方法,这样我就不需要在每次重新启动计算机时重新格式化namenode了?
谢谢。
1条答案
按热度按时间o75abkj41#
看起来您没有覆盖hdfs配置dfs.name.dir、dfs.data.dir,默认情况下它指向/tmp目录,当您的计算机重新启动时,该目录将被清除。您必须通过重写hadoop配置目录中hdfs-site.xml文件中的这些值,将其从/tmp更改到主目录中的另一个位置。
执行以下步骤
在主目录中创建一个目录,用于保存namenode映像和datanode块(替换为您的登录名)
在hadoop\ conf\ dir(hadoop配置目录)中修改hdfs-site.xml文件,如下所示
格式化hdfs namenode并开始使用