Hadoop故障处理

故障描述: 

  以前上传图片以及文件是通过nginx的配置来上传和下载图片,文件存储用的是Hadoop作为文件存储,昨晚上仿真的过程中,上传图片过程中无法连接Hadoop,发现问题很多:处理完连接报错后,还是不能上传图片,各种报错。。。。


处理思路:

  一般的故障信息都是日志来入手的。从上传图片的整个过程:从前端nginx代理后接入tomcat上传图片的实例的日志报错信息排除


  之前是Hadoop的配置中hdfs的端口修改了9100,但是tomcat的上传文件的实例中application.properties的配置文件的地址配置有问题,这些是排查故障前发生的问题,修改后还是有问题,然后继续如下的排查!


nginx的配置正常的前提下报错:

实际日志报错信息:

       首先打开nginx的日志错误日志报的是连接tomcat超时:

[root@web01 server]# tail -100f /webserver/nginx/nginx-upload/logs/error.log

2016/07/10 11:26:51 [error] 18444#0: *17007 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 123.125.138.174, server: online.898china.com, request: “POST /innospace-file-server/file/upload.json?x=100&y=100&w=200&h=200&userId=87 HTTP/1.1”, upstream: 

发现nginx连接tomcat超时,此时排查到上传文件的tomcat实例有问题,直接定位到innospace-file-server的日志在看错误信息:

[root@web01 server]# tail -1000f /webserver/tomcat/innospace-file-server/logs/catalina.out 

[ERROR] 2016-07-10 11:13:49,958 com.inno.innospace.utils.HDFSUtil – 上传文件失败

java.io.IOException: Bad connect ack with firstBadLink as 10.24.198.117:50010

    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1460) ~[hadoop-hdfs-2.6.3.jar:?]

    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1361) ~[hadoop-hdfs-2.6.3.jar:?]

    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:588) ~[hadoop-hdfs-2.6.3.jar:?]

到这里还真不知道哪里出现的问题,最好只好百度一下:

Hadoop故障处理

   发现与防火墙有关,数据在Hadoop上存储的是在从slave的节点上,连接Hadoop主的过程需要50010端口连接,最终在防火墙开启50010端口

iptables -A INPUT -p tcp –dport 50010 -j ACCEPT

开启之后问题解决了。

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/193885.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论