jar包上传到集群,导致namenode不能正常启动问题

今天遇到一个对于我来说很难的问题,折磨我一上午。

之前我已经搭建好hadoop集群,namenode和datanode可以正常启动。然后我把Java项目做成jar包,导入到hadoop集群中,并配置core-site.xml文件,代码如下:

core-site.xml

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hadoop102:8020</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.7.2/data/tmp</value>
	</property>
	<property>
		<name>net.topology.node.switch.mapping.impl</name>
		<value>com.hdfs.AutoRack</value>
	</property>
</configuration>

然后把集群关闭,再将集群按原来方式开启,之后当我启动集群的时候,发现datanode有进程,而namenode却没有进程,这我就很纳闷了。之后,我查了一下日志文件,发现,原来我导入的这个jar包,用的是jdk1.8,而我Linux使用的是jdk1.7,这我才明白,原来是版本问题导致的。真是醉了~!

萌新的我在变成大牛的路上越走越远~!

解决方法:

将Linux和windows的jdk版本变为一致的,重新修改core-site.xml配置文件。再将tmp文件删除,格式化,之后重启集群,就能正常启动了。

附上eclipse下载地址:https://www.eclipse.org/

附上jdk下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

猜你喜欢

转载自blog.csdn.net/qq_40310148/article/details/86553919