参考安装教程:Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)_厦大数据库实验室博客 (xmu.edu.cn)
在linux第一次启动Hadoop时遇到了这个问题:
ERROR: Cannot set priority of namenode process xxxx
ERROR: Cannot set priority of secondarynamenode process xxxx
namenode和secondarynamenode一起报错。本以为和后面的数字有比较重大的关联,结果发现每次启动它最后这四位数都有可能不一样。所以实际上和数字没有太大的关系。
在网上查过多个解决方法发现都很复杂并且与我的情况不符合。最后意识到可能是启动前的初次初始化没有做好。
cd /usr/local/hadoop
./bin/hdfs namenode -format
即这一步
在对namenode进行初始化的时候,如果初始化成功会出现如下内容:
这里就是很坑人的地方。虽然只要找到"has been successfully formatted"的字样就代表着初始化成功,但实际上这个步骤会出现的消息实在是太多了,如果一不小心把没找到这里看漏了可能就会想重新执行上一步初始化namenode操作。但namenode一次格式化失败后,需要删除格式化失败残留文件,才能重新进行格式化,而在没有删清文件的情况下反复执行格式化,肯定是会出问题的,导致最后在启动时hadoop无法找到结点,频繁报错。
虽然网上有教程指导如何重新初始化Namenode,但在我这种情况是找不到相关缓存文件夹的,比如说tmp文件夹和dfs文件夹,因为压根没有创建出来。所以最后用了最简单粗暴也最快的解决方式:重配了台虚拟机,重新安装Hadoop
之后就能成功启动Hadoop了