hadoop常见问题及解决方案
1.hadoop单节点集群搭建成功,进程也都成功启动,但是却在web端看不到?
解决方法:可能是在因为本地的hosts文件中没有配置主机名和ip之间的对应关系。
可以尝试用ip:端口号(50070/8088),如果可以打开,就可以进行下一步,在本地找到hosts文件(C:\Windows\System32\drivers\etc),在里面添加上ip和主机名的对应关系。
2.虚拟机动态IP的时候可以ping通外网,但是设置为静态IP之后就不能ping通外网?
解决方法:可能是DNS的问题,在网关里配置DNS=网关地址,然后重启网关,再次ping外网。
3.怎么关闭防火墙?
解决方法:
(1)临时性关闭:service iptables stop/start或修改编辑/etc/sysconfig/iptables
(2)永久性关闭:chkconfig iptables off/on
(3)关闭防火墙之后,要重新启动linux操作系统
(4)查看防火墙状态:service iptables status
4.由于多次format namenode节点导致 namdenode 的 namespaceID 与 datanode的namespaceID 不一致,从而导致namenode和 datanode的断连怎么办?
解决方法:
(1)将Hadoop所有服务停止:stop-all.sh
(2)再自己设置的临时文件夹(tmp/dfs/)中,将data文件夹删除
(3)重新启动Hadoop服务就可以了,start-dfs.sh
5.出现代码错误,怎么办?rg.apache.hadoop.ipc.RemoteException:org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete /usr/local/hadoop/tmp/mapred/system.Name node is in safe mode.
解决方案: $bin/hadoop dfsadmin -safemode leave
显示出Safe mode is OFF
5.出现代码错误,no namenode to stop错误,怎么办?
解决方案:出现的原因主要是文件系统中的元数据丢失的原因,可以重新format一下。
6.jar包执行出错,提示class wordcount.WordCountMapper not found,怎么办?
解决方法:在wordcountJob.java中增加job.setJarByClass(getClass())
7.build.gradle文件project.ext.mainclass配置错误,怎么办?
解决方法:重新配置文件夹的build.gradle文件,把project.ext.mainclass配置为packageName.mainClassName(packageName与mainClassName用实际名称替换,如’wordcount.WordCountJob’)
8.源代码的源文件夹文件夹结构错误,怎么办?
解决方法:源文件夹需要严格配置为src / main / java,包放在源文件夹里面,类放在包下面。