我已经成功安装了Hadoop。但是当我启动所有守护进程并运行jps时,我无法看到namenode。但是,如果我使用命令hadoop namenode -format格式化namenode,我可以在运行jps时看到namenode。是否建议每次运行jps之前格式化namenode?有没有其他方法可以避免这样,以便我可以看到我的namenode守护进程,而不是每次都格式化它。任何建议都表示赞赏。
谢谢你, Gautham
答案 0 :(得分:0)
是的,除非你没有覆盖hdfs配置dfs.name.dir,dfs.data.dir,否则每次启动守护进程时都需要格式化namenode。默认情况下,它指向/ tmp目录,当您的计算机重新启动时,该目录将被清除。 您肯定可以避免它。您必须通过覆盖位于HADOOP配置目录中的hdfs-site.xml文件中的这些值,将其从/ tmp更改为主目录中的其他位置。
执行以下步骤
在主目录中创建一个目录,用于保存namenode image& datanode块(替换为您的登录名)
<?php
$jsondata = file_get_contents("data.json");
$json = json_decode($jsondata,true);
$output = "<ul>";
foreach($json['curated'] as $curated){
$output .= "<h4>".$curated['category']."</h4>";
$output .= "<li>".$curated['title']."</li>";
$output .= "<h4>".$curated['price']."</h4>";
$output .= "<img class='center-block' src=".$curated['image'].">"; //posibly fix
$output .= "<h6>".$curated['brand']."</h6>";
$output .= "<h4>".$curated['trending']."</h4>";
}
$output .= "</ul>";
echo $output;
?>
修改HADOOP_CONF_DIR(hadoop配置目录)中的hdfs-site.xml文件,如下所示
ObjectA[] arr = objectAList.toArray(new ObjectA[objectAList.size()]);
for (int i = 0; i < objectAList.size() - 1; i++) {
int j = i + 1;
assertTrue(arr[i].getDate().compareTo(arr[j].getDate()) >= 0);
}
格式化你的hdfs namenode&amp;开始使用