摘要:
hmater负责把region均匀到各个region server 。hmaster中有一个线程任务是专门处理负责均衡的,默认每隔5分钟执行一次。每次负载均衡操作可以分为两步:生成负载均衡计划表Assignment Manager 类执行计划表负载均衡方法入口以下代码的Hbase版本为0.96.2在... 阅读全文
摘要:
本文主要是比较三种分布缓存负载均衡的方法,第一种是最简单的将 key的hash值对机器数取模算法,第二种是一致性哈希算法,第三种是淘宝开源的缓存解决方案tair的均衡算法。下面来分析下这三种算法的优缺点。第一种:传统的数据分布方法,将key的hash值对机器数取模 这个算法的实现非常简单,计算ha... 阅读全文
摘要:
在Hbase中split是一个很重要的功能,Hbase是通过把数据分配到一定数量的region来达到负载均衡的。一个table会被分配到一个或多个region中,这些region会被分配到一个或者多个regionServer中。在自动split策略中,当一个region达到一定的大小就会自动spli... 阅读全文
摘要:
下面看下hbase:meta 表的结构,hbase:meta表中,保存了每个表的region地址,还有一些其他信息,例如region的名字,HRegionInfo,服务器的信息。hbase:meta表中每一行对应一个单一的region。例如我们现在创建一个表名叫"t"。hbase:meta中对应的行... 阅读全文
摘要:
在VPS的数据最好定时备份,免得服务器出了什么问题,数据就全丢了。我使用dropbox定时同步wordpress文件夹和数据库信息。 首先下载dropbox?1wget -O dropbox.tar.gz http://www.dropbox.com/download/?plat=lnx.x86 ... 阅读全文
摘要:
环境:debian 7.0加载BIOS1.从点击电源键开始,首先加载BIOS进行硬件检测,然后根据配置读取启动设备,然后读取Boot Loader ,linux中主流的boot Loader是grub。Boot Loader 安装在启动装置的第一个磁区内,也就是MBR(Master Boot Rec... 阅读全文
摘要:
根据以下几个步骤来快速了解一下python,目标是可以利用python来处理一些简易的问题或者写一些工具。1.编写Hello world2.学习 if,while,for 的语法3.学习该语言是怎么表示字符串和数组,map的。4.学习怎么定义函数和使用函数5.学习怎么创建对象,和使用对象。6.写一个... 阅读全文
摘要:
最近由于不清楚maven(2.2.x)增量编译的机制,导致应用出现了一个当时觉得非常诡异的一个问题。先描述一下问题。 背景是应用A有一个公用的base包,版本为1.6.6-SNAPSHOT,应用B依赖于这个公用的base包。我在base包中修改了一个字符串变量的值,该变量是一个缓存的key(如下面... 阅读全文
摘要:
RSA算法其实在大学本科的课程已经学过了,不过当时理解的不深,这篇博客就当加深理解和复习了。首先抛出2个问题: 为什么要用对称加密,解决了什么问题? RSA算法是怎么保证加密信息不被破解的?先回答第一个问题: 最初的加密算法是对称加密算法,加密和解密方式都是同一种规则。例如:A使用某一个加密规则,对... 阅读全文
摘要:
PPTP(Point to Point Tuneling Protocol,点对点隧道协议)是一种主要用于VPN的数据链路层网络协议。 环境:debian 7.0 在linux下安装pptpd服务实现vpn。1.安装pptpd1apt-get install pptpd2.修改pptd配置文件,修改... 阅读全文
摘要:
本文使用的是32位的JVM ,jdk1.6。本文基本是翻译的,加上了一些自己的理解,原文见文章底下链接。 在本文中,我们讨论如何计算或者估计一个JAVA对象占多少内存空间。(注意,使用 Classmexer agent 或者VM insturmentation 可以查询到一个java对象占用了多... 阅读全文
摘要:
介绍两种获取JAVA对象内存大小的方法。第一种:Instrumentation简介:使用java.lang.instrument 的Instrumentation来获取一个对象的内存大小。利用Instrumentation并且通过代理我们可以监测在JVM运行的程序的功能,它的原理是修改方法的字节码... 阅读全文
摘要:
btrace简介: btrace 是一个使用在JAVA平台上面的,安全的,动态跟踪工具。它一般用于动态跟踪正在运行的jAVA程序。 使用说明在这里。下载地址在这里。 下载的时候注意版本问题,我最初下载的是release-1.2.3的版本,然后服务器上面的JAVA的版本是1.6.0_32。运行的... 阅读全文
摘要:
JAVA类加载器可以动态加载JAVA类到jvm中,它是JRE的一部分,每个java类都必须通过一个类加载器加载。有了类加载器,JAVA运行时系统就可以通过类加载器加载类文件,这样就不需要直接访问文件或者文件系统了。一般来说开发者是不需要直接使用到类加载器的,但是理解类加载器的规则和用法,有助于了解w... 阅读全文
摘要:
责任链模式:责任链模式可以用在这样的场景,当一个request过来的时候,需要对这个request做一系列的加工,使用责任链模式可以使每个加工组件化,减少耦合。也可以使用在当一个request过来的时候,需要找到合适的加工方式。当一个加工方式不适合这个request的时候,传递到下一个加工方法,该加... 阅读全文
摘要:
tomcat的热部署实现原理:tomcat启动的时候会有启动一个线程每隔一段时间会去判断应用中加载的类是否发生变法(类总数的变化,类的修改),如果发生了变化就会把应用的启动的线程停止掉,清除引用,并且把加载该应用的WebappClassLoader设为null,然后创建一个新的WebappClas... 阅读全文