摘要: 转自:http://linxucn.blog.51cto.com/1360306/660080概述:其实JDK的动态代理,实际上就是“反射”与“执行时动态生成字节码”二者的结合体;其实spring的AOP和Hadoop的RPC都是基于JDK的动态代理。一.相关类及其方法:java.lang.reflect.Proxy, Proxy 提供用于创建动态代理类和实例的静态方法. newProxyInstance() 返回一个指定接口的代理类实例,该接口可以将方法调用指派到指定的调用处理程序 (详见api文档) java.lang.reflect.InvocationHandl... 阅读全文
posted @ 2012-12-19 16:43 shileiw 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 转自:http://weixiaolu.iteye.com/blog/1544860一.心跳机制 1. hadoop集群是master/slave模式,master包括Namenode和Jobtracker,slave包括Datanode和Tasktracker。 2. master启动的时候,会开一个ipc server在那里,等待slave心跳。 3. slave启动时,会连接master,并每隔3秒钟主动向master发送一个“心跳”,这个时间可 以通过”heartbeat.recheck.interval”属性来设置。将自己的状态信息告诉master,然后mast... 阅读全文
posted @ 2012-12-19 15:19 shileiw 阅读(814) 评论(1) 推荐(0) 编辑
摘要: 下载对应Hadoop版本的Eclipse插件,例如hadoop-eclipse-plugin-0.20.205.0.jar,将其拷贝到%Eclipse%/plugin中,启动Eclipse,切换到“Map/Reduce” Perspective;在下面的Tab中找到“Map/Reduce Location”,右键选择“new Hadoop Location”,在”location name”中随便起一个名字,在“Map/Reduce Master”中将Linux hadoop JobTracker所在的IP和端口填充,对于”DFS Master”中则需要填写HDFS的地址和端口,在下面的“Us 阅读全文
posted @ 2012-12-18 15:48 shileiw 阅读(1782) 评论(0) 推荐(1) 编辑
摘要: Hadoop并没有采用Java的序列化,而是引入了它自己的系统。Hadoop中定义了两个序列化相关的接口:Writable接口(hadoop)和Comparable接口(Java),这两个接口可以合成一个接口WritableComparable.Writable接口,所有实现了Writable接口的类都可以被序列化和反序列化;Comparable接口,主要是通过字节流比较序列化的对象以提高比较效率;public interface Writable { void write(DataOutput out) throws IOException; //序列化 void readFields(D. 阅读全文
posted @ 2012-12-17 17:12 shileiw 阅读(1276) 评论(0) 推荐(0) 编辑
摘要: 1. Zookeeper的设计目标 应用于分布式应用的协作服务,通过一些简单的操作,使得分布式应用可以基于这些接口实现诸如同步、配置维护和分集群或者命名的服务; Zookeeper通过一种和文件系统很像的层级命名空间来让分布式进程互相协同工作。这些命名空间由一系列数据寄存器组成,我们也叫这些数据寄存器为znodes。这些znodes就有点像是文件系统中的文件和文件夹。和文件系统不一样的是,文件系统的文件是存储在存储区上的,而zookeeper的数据是存储在内存上的。同时,这就意味着zookeeper有着高吞吐和低延迟。Zookeeper实现了高性能,高可靠性,和有序的访问。高性能保证了zook 阅读全文
posted @ 2012-12-13 14:35 shileiw 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 1. 解压Zookeeper2. 修改conf/zoo.cfg, 加入下面的内容 :syncLimit=5 #用于一个follower与leader进行同步的时间,如果在时间内follower没有同步完成,follower自己会重启initLimit=10 #follower和leader之间同步的时间(秒),如果时间内不能达到半数follower的同步,则leader自动放弃leaderdataDir=/root/zookeeper-3.4.3/dataclientPort=2181 #该接口用于客户端连接dataLogDir=/root/zookeeper-3.4.3/logs serve 阅读全文
posted @ 2012-12-13 14:10 shileiw 阅读(242) 评论(0) 推荐(1) 编辑
摘要: HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为 阅读全文
posted @ 2012-12-13 13:26 shileiw 阅读(144) 评论(0) 推荐(0) 编辑
摘要: HBase命令行启动: hbase shelllist: 列出所有的表status:查看状态create ‘tablename’,‘columnName’: 创建表describe 'tableName' 列出表结构disable ‘tablename’alter 'member',{NAME=>'member_id',METHOD=>'delete'} :修改表结构drop ‘tablename': 删除表enable ‘tablename’put 'test2','row1' 阅读全文
posted @ 2012-12-13 13:18 shileiw 阅读(215) 评论(0) 推荐(1) 编辑
摘要: (1) 编辑$HBASE_HOME/conf/hbase-env.sh文件,设置JAVA_HOME和HBASE_CLASSPATH变量 export JAVA_HOME=/usr/java/jdk1.6.0_31 export HBASE_CLASSPATH=/root/hadoop/conf (Hadoop目录) export HBASE_MANAGES_ZK=false #不使用自带的ZooKeeper(2) 编辑$HBASE_HOME/conf/hbase-site.xml文件,增加以下内容 <property> <name>hbase.rootdir</n 阅读全文
posted @ 2012-12-13 13:09 shileiw 阅读(388) 评论(0) 推荐(0) 编辑
摘要: step1. 在四台机器上实现SSH互通。 这一步是对搭建Hadoop平台至关重要的一步。没有平台各个节点间的通信,就谈不上分布式计算。 整个配置过程细节如下:1, 建立新用户:a) user add ____b) passwd _____c) 切换用户:su ____2, 生成公钥(/root/.ssh/)a) ssh-keygen –t rsa3, 拷贝公钥a) 对自己:cp id_rsa.pub authorized_keysb) 对其他机器:scp authorized_keys 机器名:/home/___/.ssh/此步建议所有机器密钥生成时均先复制到一台机器,待所有完成后,把这台机 阅读全文
posted @ 2012-12-13 12:52 shileiw 阅读(305) 评论(0) 推荐(0) 编辑