Hadoop故障处理
故障描述:
成都创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、全网营销推广、网站程序开发、HTML5响应式成都网站建设、移动网站建设、微商城、网站托管及成都网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为汽车玻璃修复行业客户提供了网站改版服务。
以前上传图片以及文件是通过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上存储的是在从slave的节点上,连接Hadoop主的过程需要50010端口连接,最终在防火墙开启50010端口
iptables -A INPUT -p tcp --dport 50010 -j ACCEPT
开启之后问题解决了。
新闻名称:Hadoop故障处理
网页链接:http://scyanting.com/article/ijeogo.html