我们很荣幸能够见证Hadoop十几年间经历了从无到有,再到称王。感动于技术的日新月异时,希望通过本篇有问有答,带大家解决Hadoop的常见问题。
Q:Hadoop中,执行hdfs dfs -ls出现put: .': No such file or directory,如何解决?
A: 出现这个问题的原因是当前登录用户在HDFS中没有HOME文件夹,执行下面命令即可解决:
hadoop fs -mkdir -p /user/[current login user]
现在执行 hadoop fs -ls就可以看到文件了。
Q:执行hadoop namenode -fromat时出现下面错误:
WARN namenode.NameNode: Encountered exception during format: org.apache.hadoop.hdfs.qjournal.client.QuorumException: Unable to
check if JNs are ready for formatting. 2 exceptions thrown,如何解决?
A:解决方案:
在各个节点执行zkServer.sh start 启动各个zookeeper
在各个节点执行hadoop-daemon.sh start journalnode启动各个NodeName上的 JournalNode进程。
再次执行hadoop namenode -fromat即可。
Q:用浏览器访问namenode的50070端口不正常,如何解决?
A:需要诊断问题出在哪里:
a、在服务器的终端命令行使用jps查看相关进程,观察节点是否存活。
b、如果已经知道了启动失败的服务进程,进入到相关进程的日志目录下,查看日志,分析异常的原因:
1)配置文件出错,saxparser exception; ——找到错误提示中所指出的配置文件检查修改即可
2)unknown host——主机名不认识,配置/etc/hosts文件即可,或者是配置文件中所用主机名跟实际不一致(注:在配置文件中,统一使用主机名,而不要用IP地址)
3)directory 访问异常—— 检查namenode的工作目录,看权限是否正常。
Q:start-dfs.sh启动后,发现有datanode启动不正常。
A:解决方案如下:
a)查看datanode的日志,看是否有异常,如果没有异常,手动将datanode启动起来
sbin/hadoop-daemon.sh start datanode
b)很有可能是slaves文件中就没有列出需要启动的datanode
c)排除上述两种情况后,基本上,能在日志中看到异常信息:
1、配置文件
2、SSH免密登陆没有配置好
3、datanode的身份标识跟namenode的集群身份标识clusterID不一致(删掉datanode的工作目录)
Q:在自己电脑上搭建了伪分布的环境之后,关机的时候没有关闭Hadoop环境,再次开机重新启动服务的时候发现只有jobTracker可以启动,剩下的都启动不了了,在浏览器中打开localhost:50030/可以打开,但是localhost:50060/和localhost:50070无法打开。
A:这其实主要是因为多次个格式化namenode引起的,在/tmp/下生成了多个文件,并且在hsperfdata_hadoop文件夹下生成了多个ID,其中有一个是没用的(和上层目录下hadoop_namenode.pid不同的那个),把它删掉,然后再次格式化,重启服务,一切OK。
小伙伴们冲鸭,后台留言区等着你!
关于Hadoop,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
推荐阅读:
1.微信群:
添加小编微信:color_ld,备注“进群+姓名+公司职位”即可,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2.征稿:
投稿邮箱:liudan@csdn.net;微信号:color_ld。请备注投稿+姓名+公司职位。