- 浏览: 161110 次
- 性别:
- 来自: 北京
最新评论
-
q328965539:
这个感觉不太对吧,你是说 不同的参数组成的url其实对应的是一 ...
CDN回源率高导致机房出口带宽翻倍 -
chowqh:
看楼主的意思每次,执行sql时,会连接redis,写数据,对吧 ...
获取hive日志,停止hive -
lindagugu123:
我联系不上你了,能加我的QQ号码么?我是Linda,需要帮助! ...
HFile格式说明(转) -
lanfei:
感谢楼主分享,学习了
由商品页的设计与实现说起 -
jd2bs:
总结的不错
hbase之RPC详解
文章列表
Java中nio有3个核心概念:channel,buffer,selector,在网络nio中,把channel的事件注册到selector,当网络就绪后进行读写操作,channel之间通过buffer传递数据。
Channel
一共有4种通道:
FileChannel
...
原文地址:http://my.oschina.net/zhengyang841117/blog/188723
在这里主要分析一下HFile V2的各个组成部分的一些细节,重点分析了HFile V2的多级索引的机制,接下去有时间的话会分析源码中对HFile的读写扫描操作。
HFile和流程:
如下图,HFile的组成分成四部分,分别是Scanned Block(数据block)、Non-Scanned block(元数据block)、Load-on-open(在hbase运行时,HFile需要加载到内存中的索引、bloom filter和文件信息)以及trailer(文件尾)。 ...
原文地址:http://san-yun.iteye.com/blog/1993519
OpenTSDB是一个架构在Hbase系统之上的实时监控信息收集和展示平台。
它在海量数据的压力下,仍然保证了存储的效率,那么它背后有什么值得借鉴的地方呢?
1)使用AsyncHbase而非HBase自带的HTable。使用线程安全、非阻塞、异步、多线程并发的HBase API,在高并发和高吞吐时,可以获得更好的效果。建议在使用AsyncHBase时,在CPU core有保证的前提下,可以设置16或者24。
2)采用固定长度的Rowkey,让Rowkey包含尽可能多的检索信息。这一点的话,O ...
前几天感恩节,发现公司机房出口带宽增长1倍,经过排查发现是提供图书下载的服务器输出流量大增,查看源码,定位到问题:
走CDN的下载接口中带有机型、渠道、版本等参数,而这些参数的组合场景可达到百万级,从而导致大量的请求穿透,而感恩节的运营策略是重点推精品书,每天会有免费,而一本精品书可以达到几十M大小,对于一本精品书可能就会有n多请求回源到程序机房,严重浪费机房带宽,1年的损失相当大(至少百万级),而这只是之前的程序员考虑不周,一个小小的改进就可以解决这个问题,由此可总结:
1、靠谱的程序员是很重要,多花的几万工资,1年下来带来的收益很有可能远远大于这几万,人不在多,在于精,这个 ...
HBase的数据备份或者容灾方案有这几种:Distcp,CopyTable,Export/Import,Snapshot,Replication,以下分别介绍(以下描述的内容均是基于0.94.20版本)。
一、Distcp
在使用distcp命令copy hdfs文件的方式实现备份时,需要禁用备 ...
hbase-daemon.sh中停止RS的脚本如下:
if [ -f $pid ]; then
# kill -0 == see if the PID exists
if kill -0 `cat $pid` > /dev/null 2>&1; then //判断进程是否存在
echo -n stopping $command
echo "`date` Terminating $command" >> $loglog
kill `cat $pid` ...
快速解决线上系统问题,对于公司可减少损失,对于相关技术人员,可改善睡眠
公司部分项目是用python实现的,由于python的内存泄露问题,每两天凌晨均会重启一次python服务,有一次在业务高峰期,python服务的内存大增,导致操作系统的free memory低于/proc/sys/vm/min_free_kbytes设置的值,触发了linux的oom killer,由于在该python服务器上部署有memcached服务,在oom killer的算法下kill了memcached的进程,但是在重启的过程中由于申请不到memcached设置的内存,重启失败,导致依赖该memcached的服务出现大面积延时。
这里有2个问题:
1、应尽量 ...
生产系统出的问题中,请求响应慢是很常见的问题,如何快速定位慢的源头非常重要,通过对之前遇到的问题总结,发现一般都是依赖服务慢或者出现线程阻塞导致,对于这两种问题简单有效的定位方法如下:
1、打印超过阀值的依赖服务访问时长到日志,通过日志定位
2、使用java的jstack命令查看java线程是否阻塞
其中简单介绍一下如何利用日志定位问题:
对每个项目依赖的服务,比如:http,redis,hbase,mysql,memcached,kafka添加访问时长的日志,对超过设置阀值的信息输出到同一个单独的日志文件中,当出现服务慢等问题时,打开该文件就 ...
根据以往经验总结一下架构设计的要点,记录下来,以后定期修整并添加新的感悟:
1. 了解需求,对现有需求,未来可能的需求均要了解,需求变化很正常,从架构层面做到开闭原则,以便可持续发展,如何做到,比如osgi这 ...
在8月5、6、7连续三天晚上10点出现充值相关几个消息堆积的问题,经过分析发现主要问题是充值项目对mq的使用存在一些不合理的地方,当mq负载高时会出现堆积现象。
具体原因如下:
1、采用的消息模式是get模式,而不是高效的deliver模式,经过在新搭建的mq服务器测试发现,get模式:5000条/秒便会出现严重堆积, deliver模式:20000条/秒不会堆积,如果按照充值项目的写法由于存在后续的问题,每秒几百条的写入就会经常出现消息堆积;
2、消息的生产和消费共用mq链接和channel
a) 共用链接会导致:当触发mq的限流控制时,阻塞消费;
...
Hbase的RPC主要由HBaseRPC、RpcEngine、HBaseClient、HBaseServer、VersionedProtocol 5个概念组成。
1、HBaseRPC是hbase RPC的实现类,核心方法:
1)、RpcEngine getProtocolEngine():返回RpcEngine对象
2)、<T extends VersionedProtocol> T waitForProxy():调用RpcEngine的getProxy()方法,返回一个远程代理对象,比如:第一次访问HRegionServer时需要执行该方法,设置代理后,会缓存该对象到HC ...
在android里,有4种activity的启动模式,分别为:
“standard” (默认)
“singleTop”
“singleTask”
“singleInstance”
它们主要有如下不同:
1. 如何决定所属task
“standard”和”singleTop”的activity的目标task,和收到的Intent的发送者在同一个task内,除非intent包括参数FLAG_ACTIVITY_NEW_TASK。
如果提供了FLAG_ACTIVITY_NEW_TASK参数,会启动到别的task里。
“singleTask”和”singleInstance ...
Activity在屏幕当中显示的方向。属性值可以是下表中列出的一个值:
"unspecified"
默认值,由系统来选择方向。它的使用策略,以及由于选择时特定的上下文环境,可能会因为设备的差异而不同。
"user"
android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问"properties"表在checkin数据库中,改值可以修改上传( Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded)
android.permission.ACCESS_COARSE_LOCATION允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allow ...