java - 是否建议每次在运行 jps 之前格式化 namenode?

标签 java linux hadoop bigdata

我已经成功安装了 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/

相关文章:

java - 弱引用而不是 getActivity()(Android 避免内存泄漏)?

java GUI编程工具?

java - 为什么循环从对象数组中打印相同的内容?

linux - Ubuntu/Mint 上的 PhpStorm 更新

hadoop - cloudera 中的默认 Oozie 选项

c# - 如何调试 soap web 服务?

java - Unix Swap 和 java heap space Exception 的避免

linux - FROM ... AS 命令在 Linux 中给出解析错误

hadoop - 读取带有换行符的文件作为 pig 中的元组

hadoop - Msck修复命令中的msck代表什么