主要修改了server端的tcpnodelay为false,就解决这个问题了。
tcpnodelay为false时的tcpdump为(有40ms的延迟)
16:17:00.576582 IP linux-idy0.48538 > linux-idy0.60020: P 5434:5643(209) ack 247472 win 387 <nop,nop,timestamp 567208394 567208393>
16:17:00.576869 IP linux-idy0.60020 > linux-idy0.48538: P 247472:255664(8192) ack 5643 win 6149 <nop,nop,timestamp 567208394 567208394>
16:17:00.616084 IP linux-idy0.48538 > linux-idy0.60020: . ack 255664 win 387 <nop,nop,timestamp 567208404 567208394>
16:17:00.616105 IP linux-idy0.60020 > linux-idy0.48538: P 255664:256941(1277) ack 5643 win 6149 <nop,nop,timestamp 567208404 567208404>
16:17:00.616199 IP linux-idy0.48538 > linux-idy0.60020: . ack 256941 win 387 <nop,nop,timestamp 567208404 567208404>
tcpnodelay为true时的tcpdump为
11:18:05.513811 IP linux-idy0.12741 > linux-idy0.60020: P 31350:31559(209) ack 1420351 win 2314 <nop,nop,timestamp 562724628 562724627>
11:18:05.514037 IP linux-idy0.60020 > linux-idy0.12741: P 1420351:1428543(8192) ack 31559 win 6145 <nop,nop,timestamp 562724628 562724628>
11:18:05.514067 IP linux-idy0.60020 > linux-idy0.12741: P 1428543:1429820(1277) ack 31559 win 6145 <nop,nop,timestamp 562724628 562724628>
11:18:05.514137 IP linux-idy0.12741 > linux-idy0.60020: . ack 1429820 win 2303 <nop,nop,timestamp 562724628 562724628>
连接别的hbase的server时的tcpdump为(tcpnodelay为false)
11:28:46.280278 IP linux-idy0.60201 > linux-kl9e.60020: P 28006:28215(209) ack 1268847 win 1437 <nop,nop,timestamp 562884820 562802550>
11:28:46.280634 IP linux-kl9e.60020 > linux-idy0.60201: P 1268847:1277039(8192) ack 28215 win 3077 <nop,nop,timestamp 562802551 562884820>
11:28:46.280647 IP linux-idy0.60201 > linux-kl9e.60020: . ack 1277039 win 1437 <nop,nop,timestamp 562884820 562802551>
11:28:46.280740 IP linux-kl9e.60020 > linux-idy0.60201: P 1277039:1278316(1277) ack 28215 win 3077 <nop,nop,timestamp 562802551 562884820>
可以看出当使用本机的loopback时,有ack延迟的问题。但通过eth0连接别的机子却没有这个问题,比较费解。
使用了ethtool -K lo gro on/off开关合并ACK,也没有用。
参考:
http://www.iteye.com/topic/1110883
http://blog.csdn.net/historyasamirror/article/details/6423235
http://blog.csdn.net/wjtxt/article/details/6606022
http://www.cnblogs.com/yxfqust/archive/2006/07/28/461836.html
http://blog.163.com/xychenbaihu@yeah/blog/static/132229655201231214038740/
可能是因为lo和eth0的MT值不同而引起的,参考
相关推荐
HbaseClient是Apache HBase的核心组件之一,它是客户端与HBase分布式数据库进行交互的桥梁。本文将深入探讨HbaseClient的工作原理、主要功能以及使用技巧,帮助读者更好地理解和掌握HBase的数据操作。 首先,Hbase...
当前状态:完全通过 HBase 0.94 和 0.94.16Java hbase-client支持 HBase 服务器的版本[√] 0.94.x[√] 0.94.0[√] 0.94.160.95.x0.96.x安装$ npm install hbase-client使用 CRUD:通过 zookeeper 创建 HBase ...
赠送jar包:hbase-client-1.4.3.jar; 赠送原API文档:hbase-client-1.4.3-javadoc.jar; 赠送源代码:hbase-client-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-client-1.4.3.pom; 包含翻译后的API文档:...
hbase-client-2.1.0-cdh6.3.0.jar
HBase单机版部署需要安装JDK、下载HBase、解压HBase、设置环境变量、修改/etc/profile文件、配置hbase-env.sh文件、配置hbase-site.xml文件、启动HBase和访问HBase。通过这些步骤,我们可以成功部署HBase单机版。
标签中的关键词如“hbase客户端依赖包”、“hbase客户端jar包”和“hbase-1.3.1客户端”都指向了同一个主题,即这些jar包是HBase客户端的核心组成部分。它们包含了实现客户端功能所需的各种类和方法,包括连接管理、...
赠送jar包:hbase-client-1.1.2.jar; 赠送原API文档:hbase-client-1.1.2-javadoc.jar; 赠送源代码:hbase-client-1.1.2-sources.jar; 赠送Maven依赖信息文件:hbase-client-1.1.2.pom; 包含翻译后的API文档:...
在大数据处理领域,Hadoop、HBase和Zookeeper是三个至关重要的组件,它们共同构建了高效、可扩展的数据存储和管理基础设施。以下是关于这三个技术的详细介绍以及安装部署的关键步骤。 **Hadoop** 是一个开源的...
解决hbase client在windows环境下报Could not initialize class org.fusesource.jansi.internal.Kernel32的问题,把jar包放入hbase client的lib包下,重新运行hbase.cmd shell即可
在HBase中,表被划分为多个Region,每个Region由一个Region Server管理,确保数据的分布式存储。 二、HBase 2.3.2客户端 HBase的客户端库允许用户在应用程序中与HBase集群进行交互。在Linux环境下,我们可以使用...
在分布式大数据存储领域,HBase是一个非常重要的列式数据库,尤其在处理海量实时数据时表现卓越。本主题将深入探讨如何使用Java客户端API与HBase进行交互,包括集成Spring、MapReduce实例以及协处理器的使用。 首先...
Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的非关系型数据库,提供高可靠性、高性能、可伸缩的数据存储。 HBase是一个基于列族的分布式数据库,设计灵感来源于Google的Bigtable...
hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架。 针对HBase各版本API(1.x~2.x)间的差异,在其上剥离出了一层统一的抽象。并提供了以类SQL的方式来读写HBase表中的数据。对...
HBaseClient_1.6.1_64.exe可能是针对Windows系统的HBase客户端安装程序,便于用户在Windows环境下快速部署和使用。 二、HBase Shell HBase Shell是HBase自带的一个基于JLine的命令行工具,提供了与HBase交互的命令...
在HBase中,创建表是一项关键任务,通常由`Master`节点完成。这一过程涉及到以下步骤: - **获取Master地址**: 客户端首先需要从ZooKeeper(简称`ZK`)获取`Master`的地址。这是因为`Master`在启动时会将其地址注册...
注意:zookeeper3.4.13和hbase2.2.2都是采用docker-compose方式部署 原文链接:https://blog.csdn.net/m0_37814112/article/details/118794130 说明:使用外部zookeeper之hbase2.2.2一键部署工具,支持部署、启动、...
Phoenix是一个高性能的关系型SQL层,构建在HBase之上,旨在解决HBase上的复杂查询和大规模数据分析问题。它将HBase的数据模型转换为传统的SQL表,并通过编译SQL查询为HBase的原生操作,提高了查询性能。Phoenix使用...