- 浏览: 348372 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lvyuan1234:
你好,你那个sample.txt文件可以分享给我吗
hive insert overwrite into -
107x:
不错,谢谢!
hive 表的一些默认值 -
on_way_:
赞
Hadoop相关书籍 -
bupt04406:
dengkanghua 写道出来这个问题该怎么解决?hbase ...
Unexpected state导致HMaster abort -
dengkanghua:
出来这个问题该怎么解决?hbase master启动不起来。
Unexpected state导致HMaster abort
HBase 里面调用DFSOutputStream的方法常用的是:write、sync
write会往当前Packet里面写数据,sync会强制生成一个Packet。
在DFSClient Packet里面每次都会new 一个 big byte array,size 是65557(more than 64K,data+checksum+head),由于sync会强制生成Packet,对于小kv数据来说,实际的数据会比较少,几百、几千、上万,很多时候其实没有64k的数据,所以这个使用率比较低。
(1)想到的方法是:使用一个Packet Pool
(2)减少dfs.write.packet.size,默认是64k
第一种方法:Packet不在经常new了,每次取Packet时从一个pool里面取,如果pool里面没有就new一个,使用完后就放到pool里面。测试结果不是很好,gc频率以及总gc时间都变少了很多,但是平均RT( response time)变长,其中比较有意思的是:有很多请求RT变少了,也有不少RT变长了,两级分化严重,总体上面平均RT变长,导致TPS下降。
原先gc频率很快,单次gc时间比较短,总的gc时间比较长。
据说pool的方式对于现在的jvm来说不是最优的,因为现在的jvm创建对象速度已经很快了,并且这个pool时间长了会放到old区,old区到young区的引用比较多的话,那么ygc效率就会比较低下
第二种方法:
调整dfs.write.packet.size,可以调整成32k、16k
效果大概如下:
测试的是 key/value = 10/100 bytes
export HBASE_REGIONSERVER_OPTS="-Xms8g -Xmx8g -Xmn2g -XX:SurvivorRatio=16 -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -Xloggc:$HBASE_HOME/logs/gc-regionserver-`date +%Y%m%d-%H-%M`.log"
dfs.write.packet.size = 64k Writer Finished,Consume time is: 383 seconds ==================Summary================== Tables And Columns: hbasetest(10){caches:value1(100)} ----------Writer Statistics-------------- Write Threads: 100 Write Rows: 10000000 Consume Time: 383s Requests: 10000000 Success: 100% (10000000) Error: 0% (0) Avg TPS: 26041 Max TPS: 44460 Min TPS: 3183 Avg RT: 3ms RT <= 0: 0% 3483/10000000 RT (0,1]: 12% 1273633/10000000 RT (1,5]: 81% 8123190/10000000 RT (5,10]: 1% 147321/10000000 RT (10,50]: 3% 371064/10000000 RT (50,100]: 0% 74896/10000000 RT (100,500]: 0% 6400/10000000 RT (500,1000]: 0% 13/10000000 RT > 1000: 0% 0/10000000 jstat -gcutil 19968 2s S0 S1 E O P YGC YGCT FGC FGCT GCT 58.44 0.00 54.47 15.66 99.85 154 4.191 0 0.000 4.191 dfs.write.packet.size = 32k Writer Finished,Consume time is: 367 seconds ==================Summary================== Tables And Columns: hbasetest(10){caches:value1(100)} ----------Writer Statistics-------------- Write Threads: 100 Write Rows: 10000000 Consume Time: 367s Requests: 10000000 Success: 100% (10000000) Error: 0% (0) Avg TPS: 27173 Max TPS: 45276 Min TPS: 968 Avg RT: 3ms RT <= 0: 0% 7274/10000000 RT (0,1]: 19% 1948293/10000000 RT (1,5]: 73% 7350970/10000000 RT (5,10]: 2% 259443/10000000 RT (10,50]: 3% 371545/10000000 RT (50,100]: 0% 56944/10000000 RT (100,500]: 0% 5360/10000000 RT (500,1000]: 0% 85/10000000 RT > 1000: 0% 86/10000000 S0 S1 E O P YGC YGCT FGC FGCT GCT 0.00 92.02 92.32 14.89 99.74 67 2.668 0 0.000 2.668 dfs.write.packet.size = 16k Writer Finished,Consume time is: 364 seconds ==================Summary================== Tables And Columns: hbasetest(10){caches:value1(100)} ----------Writer Statistics-------------- Write Threads: 100 Write Rows: 10000000 Consume Time: 364s Requests: 10000000 Success: 100% (10000000) Error: 0% (0) Avg TPS: 27397 Max TPS: 45309 Min TPS: 890 Avg RT: 3ms RT <= 0: 0% 9291/10000000 RT (0,1]: 21% 2118605/10000000 RT (1,5]: 71% 7192119/10000000 RT (5,10]: 2% 265516/10000000 RT (10,50]: 3% 346697/10000000 RT (50,100]: 0% 61084/10000000 RT (100,500]: 0% 6590/10000000 RT (500,1000]: 0% 15/10000000 RT > 1000: 0% 83/10000000 S0 S1 E O P YGC YGCT FGC FGCT GCT 53.45 0.00 77.52 15.31 99.24 50 2.295 0 0.000 2.295
YGC(young gc次数) YGCT(young gc总时间,单位s) dfs.write.packet.size 单次gc时间(单位ms)
154 4.191 64K 27.57236842105263
67 2.668 32k 39.82089552238806
50 2.295 16K 45.9
发表评论
-
hadoop
2017-08-01 13:42 0audit log配置 http://hack ... -
hbase flush前提: 等待相关事务都完成
2016-07-04 16:40 1071DefaultMemStore: @Override ... -
turn log on/off
2015-10-21 10:06 0wget -q "http://hostna ... -
hbase的一些语义
2014-06-04 16:39 1123hbase里面对一行操作前会加锁。 http://had ... -
Unexpected state导致HMaster abort
2014-01-09 11:44 2722线上和开发集群都遇到过master abort的情况,而且 ... -
hbase build Too many unapproved licenses
2013-12-30 16:02 2365[ERROR] Failed to execute ... -
hbase hbck 导致的multi assign
2013-12-25 18:03 1677http://hbase.apache.org/book. ... -
HBase Log Split 配置相关
2013-12-15 16:54 1576(1)HMaster SplitLogManager ... -
hbase jmx
2013-12-11 20:42 2947conf/hbase-env.sh 里面配了 JMX后就可 ... -
hbase bulk多family,锁住region
2013-10-29 15:14 1235HBase在bulk 多family的数据时,会获得整个r ... -
Too many fetch failures
2013-10-29 10:42 1432http://lucene.472066.n3.na ... -
Phoneix
2013-10-22 11:42 1511https://github.com/forcedotco ... -
hbase RowCounter 使用
2013-10-15 16:48 5929hbase org.apache.hadoop.hb ... -
cdh3集群 distcp 数据到 cdh4集群
2013-09-26 21:54 1114从cdh3集群 distcp 数据到 cdh4集群上面 ... -
hbase add table
2013-09-26 21:49 1346把table数据从一个集群移动到另外一个集群 (1) ... -
hbase shell
2013-09-26 11:18 1672hbase shell 命令 mvn cle ... -
cdh4 vs cdh3 client处理DataNode异常的不同
2013-09-13 21:13 2220cdh4在处理pipeline中的错误时,逻辑上与原先不一 ... -
hdfs 升级,cdh3 升级 cdh4
2013-08-05 18:09 2203Step 1: 做下saveNamespace操作,停掉集 ... -
hbase snapshot
2013-06-06 16:40 2183Snapshot: (1) take a sn ... -
hbase split 导致compact abort的日志
2013-06-06 16:37 34862013-06-06 14:58:43,131 INF ...
相关推荐
从找资源到找到,验证虚拟机反复验证PJ情况。2021年 目前亲测可用版本:Faronics_DFS_8.53.020.5458 项目需要,大约用时3小时寻找此资源。
具体来说,`DFS.cpp` 可能是实现DFS算法的主要C++源代码文件,而其他文件如 `DFS.dsp`、`DFS.dsw`、`DFS.ncb`、`DFS.opt`、`DFS.plg` 是Visual Studio项目和构建系统中的配置文件,用于管理和编译C++项目。...
在DFS的具体实现中,`dfs.cpp`文件很可能是包含了深度优先搜索算法的C++代码。通常,这样的代码会定义一个函数,如`dfs(int row, QueenPosition[])`,其中`row`表示当前处理的行号,`QueenPosition[]`是一个数组,...
深度优先遍历(DFS, Depth First Search)是一种用于遍历或搜索树或图的算法,它的基本思想是从起点开始,尽可能深地探索图的分支。当节点v的所在边都已被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一...
2. `src` 或 `graph_dfs` 目录:包含实际的Python源代码,可能有`dfs.py`或其他类似文件,实现DFS算法。 3. `tests` 目录:包含单元测试或集成测试,用于验证代码功能和性能。 4. `README.md` 或 `docs` 文件:提供...
编码器-DFS60[汇编].pdf
标题中的"dfs.zip_DFS.inc_UpdateLayeredWindow_delphi d_delphi7 dfsstatusb_" 提供了一些关键信息,其中“DFS.inc”可能是一个包含特定功能或接口声明的包含文件,通常在Delphi编程环境中用于组织代码。...
9001 dfs.namenode.rpc-address,DataNode会连接这个端口 50070 dfs.namenode.http-address 50470 dfs.namenode.https-address 50100 dfs.namenode.backup.address 50105 dfs.namenode.backup.http-address 50090 ...
深度优先搜索(DFS,Depth-First Search)是一种用于遍历或搜索树或图的算法。在计算机科学中,DFS常用于解决各种问题,包括寻找路径、判断连通性以及求解最短路径等。DFS的基本思想是尽可能深地探索树的分支,直到...
- **2181**:`hbase.zookeeper.property.clientPort`,如果HBase使用内部管理的ZooKeeper集群,则此端口用于客户端连接。 - **2888**:`hbase.zookeeper.peerport`,用于Follower与Leader之间的通信。 - **3888**...
深度优先搜索(DFS,Depth-First Search)与广度优先搜索(BFS,Breadth-First Search)是图论和树形结构中常用的两种遍历算法,它们在计算机科学中有着广泛的应用,如在算法设计、数据结构、游戏逻辑、网络爬虫等...
这里我们关注的是两种主要的图遍历算法:深度优先搜索(DFS,Depth-First Search)和广度优先搜索(BFS,Breadth-First Search)。这个名为“旅游图_dfs_bfs_源码.zip”的压缩包很可能是包含这两种算法的实现,针对...
DFS_CDMA_Tool3.3.0.7 是一个专门针对CDMA网络设备进行写号操作的工具,主要用于手机或其他CDMA设备的网络设置与优化。CDMA(Code Division Multiple Access,码分多址)是一种无线通信技术,广泛应用于移动通信系统...
- **dfs-fastdfs-client-api(fastdfs 客户端)** fastdfs提供的java客户端api,所有java相关功能都在基于这个基础上封装,扩展。 第三方应用不需要关心该接口. - **dfs-core(http服务器)** 提供http接口服务...
《DFS文件服务器详解归类》 分布式文件系统(DFS,Distributed File System)是一种网络文件系统,它允许用户在一个统一的命名空间内访问分布在网络各处的文件资源。DFS通过创建逻辑上的文件结构,将物理上分散的...
在这个“DFS.rar”压缩包中,包含了关于DFS算法的实现,以及与之相关的图操作和邻接表构建。在图论编程中,DFS是一种常用的技术,它按照“尽可能深”的原则探索图的边,直到达到某个节点无法继续深入为止,然后回溯...
深度优先搜索(DFS)是一种用于图和树的遍历算法,它在计算机科学领域被广泛应用于搜索问题和路径查找问题中。DFS的核心思想是尽可能深地探索每一条可能的分支路径,直到这条路径达到尽头,然后回溯到上一个节点继续...