解读hadoop启动集群之后没有namenode的一种情况
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">先说结论</a></li><li><a href="#_label1">我的做法是</a></li><li><a href="#_label2">总结</a></li></ul></div><p class="maodian"><a name="_label0"></a></p><h2>先说结论</h2><p>一般在网上搜索这个问题都是让重新格式化namenode(当然,格式化之前要记得清空namenode和DataNode文件夹)。</p>
<p>但是对于我之前遇到的问题却没法解决。</p>
<p class="maodian"><a name="_label1"></a></p><h2>我的做法是</h2>
<p>检查你的hadoop的配置文件是否填写正确</p>
<p>我的hadoop的hdfs-site.xml中的主机IP地址未填写正确</p>
<p>导致启动集群服务后namenode启动不上</p>
<p>hdfs当然也没法用</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202410/2024100911015629.png" /></p>
<p>我的虚拟机会产生这个问题主要是虚拟机的IP地址发生了改变,在这里我简单记录一下发生这种问题怎么处理,也方便我以后参阅。</p>
<ul><li>1.首先查明每台虚拟机的IP地址,修改 etc/hosts文件。</li><li>2.保证每台虚拟机能互ping,ssh免密码登录可以使用。</li><li>3.修改hadoop文件夹中 etc/hadoop中的core-site.xml、hdfs-site.xml、和zookeeper文件夹(如果安装了zookeeper的话)中的zoo.cfg 文件</li><li>4.格式化节点(hadoop-2.9.2/bin/hdfs namenode -format),如果所有虚拟机的IP地址都发生了改变,那么就都要格式化,格式化之前要记得清空namenode和DataNode文件夹,并修改namenode和DataNode文件夹的权限(chmod 777 namenode)</li><li>5.最后再启动集群 hadoop-2.9.2/sbin/start-all.sh,以后关闭集群最好使用stop-all.sh</li><li>6.先试试用命令上传文件到hdfs是否成功(hadoop-2.9.2/bin/hdfs dfs -put student.txt /tmp/),然后再试着用浏览器访问虚拟机50070端口,如果都能调试成功再试着用java或者python等脚本操作hdfs。</li></ul>
<p class="maodian"><a name="_label2"></a></p><h2>总结</h2>
<p>以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。</p>
頁:
[1]