hadoop 2.7.7 ERROR datanode.DataNode: BlockSender.sendChunks() exception: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
最近在测试Hbase在windows上的单机版的功能。
版本:hadoop 2.7.7 hbase 2.0.0
错误:
ERROR datanode.DataNode: BlockSender.sendChunks() exception: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
功能都是可以正常的跑通,但是在hbase 写到hadoop的过程中,一直报这个错,虽然不影响使用,但是这个异常一直刷屏看着非常的不舒服。各种百度 google,居然很多的给的方法都是修改服务器的语言为英文,其他的各种很多都是互相复制根本没有作用,害的搞了半天都没有搞定。
在翻github的时候,突然想起来可以去 apache的jira上去搜索下,一搜果然有人遇到相同的问题。
附上链接:https://issues.apache.org/jira/browse/HDFS-12514,按照里面给的path修改对应版本的hadoop代码,然后再重新编译hadoop,编译好了后覆盖hadoop-hdfs-2.7.7.jar,重新启动hadoop hbase 运行了一段时间,下面就是对应的修改内容:
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockSender.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockSender.java
index ff81b5aae70..474e28d06f6 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockSender.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockSender.java
@@ -176,6 +176,18 @@
*/
private static final long LONG_READ_THRESHOLD_BYTES = 256 * 1024; + /** Message of exception thrown when client closes hedged read. */
+ private static final String[] IGNORED_CLIENT_EXCEPTION_MESSAGES =
+ new String[]{
+ "Broken pipe",
+ "Connection reset",
+ // WSAECONNRESET
+ "An existing connection was forcibly closed by the remote host",
+ // WSAECONNABORTED
+ "An established connection was aborted by the software in your " +
+ "host machine",
+ "The stream is closed"};
+
// The number of bytes per checksum here determines the alignment
// of reads: we always start reading at a checksum chunk boundary,
// even if the checksum type is NULL. So, choosing too big of a value
@@ -646,8 +658,7 @@ private int sendPacket(ByteBuffer pkt, int maxChunks, OutputStream out,
* coding example. NEVER do it to drive a program logic. NEVER.
* It was done here because the NIO throws an IOException for EPIPE.
*/
- String ioem = e.getMessage();
- if (!ioem.startsWith("Broken pipe") && !ioem.startsWith("Connection reset")) {
+ if (!ignoreExceptionInSendBlock(e)) {
LOG.error("BlockSender.sendChunks() exception: ", e);
datanode.getBlockScanner().markSuspectBlock(
ris.getVolumeRef().getVolume().getStorageID(),
@@ -663,6 +674,16 @@ private int sendPacket(ByteBuffer pkt, int maxChunks, OutputStream out, return dataLen;
}
+
+ private boolean ignoreExceptionInSendBlock(Exception e) {
+ String ioem = e.getMessage();
+ for (String ignoredMsg : IGNORED_CLIENT_EXCEPTION_MESSAGES) {
+ if (ioem.startsWith(ignoredMsg)) {
+ return true;
+ }
+ }
+ return false;
+ } /**
* Read checksum into given buffer
记录下给需要的同学,有时候网上这些不靠谱挺耽误时间
hadoop 2.7.7 ERROR datanode.DataNode: BlockSender.sendChunks() exception: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。的更多相关文章
- 解决Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/cqupt/paging/dao/User.xml
搭建了一个ssm项目,启动报错Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find re ...
- idea 下 启动maven项目,mybatis报错 Error parsing SQL Mapper Configuration. Cause: java.io.IOException。。。。。
我的具体报错日志是 Error parsing SQL Mapper Configuration. Cause: java.io.IOException Could not find resou ...
- 解决hiveserver2报错:java.io.IOException: Job status not available - Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
用户使用的sql: select count( distinct patient_id ) from argus.table_aa000612_641cd8ce_ceff_4ea0_9b27_0a3a ...
- hadoop异常: 到目前为止解决的最牛逼的一个异常(java.io.IOException: Incompatible clusterIDs)
(注意: 本人用的版本为hadoop2.2.0, 旧的版本和此版本的解决方法不同) 异常为: 9 (storage id DS-2102177634-172.16.102.203-50010-1384 ...
- windows下eclipse远程连接hadoop错误“Exception in thread"main"java.io.IOException: Call to Master.Hadoop/172.20.145.22:9000 failed ”
在VMware虚拟机下搭建了hadoop集群,ubuntu-12.04,一台master,三台slave.hadoop-0.20.2版本.在 master机器上利用eclipse-3.3连接hadoo ...
- eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。
eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接.全部报错信息如下: Exception in thread & ...
- hadoop报错:java.io.IOException(java.net.ConnectException: Call From xxx/xxx to xxx:10020 failed on connection exception: java.net.ConnectException: 拒绝连接
任务一直报错 现象比较奇怪,部分任务可以正常跑,部分问题报错 报错信息如下: Ended Job = job_1527476268558_132947 with exception 'java.io. ...
- 排查Hive报错:org.apache.hadoop.hive.serde2.SerDeException: java.io.IOException: Start of Array expected
CREATE TABLE json_nested_test ( count string, usage string, pkg map<string,string>, languages ...
- hadoop错误java.io.IOException Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try
错误: java.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more go ...
- ERROR tool.ImportTool: Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
sqoop从mysql导入到hive报错: 18/08/22 13:30:53 ERROR tool.ImportTool: Import failed: java.io.IOException: j ...
随机推荐
- (1)入门MasaFramework教程
(1)入门MasaFramework教程 首先了解一下MasaFramework是什么 MasaFramework是一个基于.Net6.0的后端框架, 可以被用于开发Web应用程序.WPF项目.控制台 ...
- JavaWeb学习笔记第二弹
(续集)DQL:查询操作 1.排序查询 排序方式:(仅有一个排序参照时) 1.升序:ASC(默认) 命令:**select * from 表名 order by 列名 (asc);** 2.降序:DE ...
- 小心golang中的无类型常量
对于无类型常量,可能大家是第一次听说,但这篇我就不放进拾遗系列里了. 因为虽然名字很陌生,但我们每天都在用,每天都有无数潜在的坑被埋下.包括我本人也犯过同样的错误,当时代码已经合并并发布了,当我意识到 ...
- 如何通过Java代码在Word中创建可填充表单
有时候,我们需要制作一个Word模板文档,然后发给用户填写,但我们希望用户只能在指定位置填写内容,其他内容不允许编辑和修改.这时候我们就可以通过表单控件来轻松实现这一功能.本文将为您介绍如何通过Jav ...
- 常用Linux发行版操作系统大盘点
B站CodeSheep的教程 https://www.bilibili.com/read/cv6026694
- 温故知新----线程之Runnable与Callable接口的本质区别
温故知新----线程之Runnable与Callable接口的本质区别 预备知识:Java中的线程对象是Thread,新建线程也只有通过创建Thread对象的实例来创建. 先说结论 1 Runnabl ...
- 部署kubernetes官网博客
部署kubernetes官网博客 访问 https://kubernetes.io/ 有些时候不问题,部署离线内网使用官网以及博客, 各位尝鲜可以访问 https://doc.oiox.cn/ 安装d ...
- ChatGPT4实现前一天
目录 提出需求 代码实现 需求分析 单元测试 等价类划分 决策表 软件测试作业,用ChatGPT4来帮个小忙,小划水,勿喷勿喷,近期有相关作业的同学看到我的文章,建议修改一下,别撞车了,哈哈哈~ 提出 ...
- Podman Desktop安装与使用-Windows10
Podman Desktop安装与使用-Windows10 下载 containers/podman 地址 Podman Desktop Downloads 地址 我这里演示的是podman-v4.4 ...
- lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
一.lua变量[ 全局变量和局部变量和表中的域] Lua 变量有三种类型:全局变量和局部变量和表中的域. 全局变量:默认情况下,Lua中所有的变量都是全局变量. 局部变量:使用local 显式声明在函 ...