我已经成功安装了 Hadoop。但是当我启动所有守护进程并运行 jps 时,我看不到名称节点。但是,如果我使用命令 hadoop namenode -format 格式化 namenode,我可以在运行 jps 时看到 namenode。是否建议每次在运行 jps 之前格式化 namenode?有没有其他方法可以避免这种情况,这样我就可以看到我的 namenode 守护进程,而不必每次都格式化它。任何建议表示赞赏。
谢谢, 高瑟姆
最佳答案
是的,每次启动守护进程之前都需要格式化名称节点,除非您没有覆盖 hdfs 配置 dfs.name.dir、dfs.data.dir。默认情况下,它指向/tmp 目录,当您的机器重新启动时,该目录将被清除。 您当然可以避免它。您必须通过覆盖位于 HADOOP 配置目录中的 hdfs-site.xml 文件中的这些值,将其从/tmp 更改为主目录中的另一个位置。
执行以下步骤
在您的主目录中创建一个目录用于保存名称节点图像和数据节点 block (替换为您的登录名)
mkdir /home/<USER>/pseudo/
如下修改HADOOP_CONF_DIR(hadoop配置目录)中的hdfs-site.xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.name.dir</name>
<value>file:///home/<USER>/pseudo/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/<USER>/pseudo/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
格式化你的 hdfs namenode 并开始使用
关于java - 是否建议每次在运行 jps 之前格式化 namenode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27344786/