摘要: 前提:在已经安装了伪分布Hadoop的环境安装hbase-0.94.2-security.tar.gz; 1、安装被配置环境变量: #cd /usr/local #tar -zxvf hbase-0.94.2-security.tar.gz #mv hbase-0.94.2-security hba 阅读全文
posted @ 2016-04-13 11:11 nwpulisz 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.searchtb.com/2011/01/understanding-hbase.html Hbase是bigtable的开源山寨版本,是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row 阅读全文
posted @ 2016-04-13 11:09 nwpulisz 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 观察者模式:定义了对象之间的一对多依赖,这样当一个对象改变状态是,它的所有依赖者都会收到通知并自动更新。 观察者模式提供了一种对象设计,让主题和观察者之间松耦合,Android中的事件机制是典型的观察者模式。 两种实现方式:1、自定义主题和观察者接口;2、使用Java内置观察者模式支持。 举例1:( 阅读全文
posted @ 2016-04-12 09:30 nwpulisz 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 策略模式:定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 设计原则: 1、找出应用中可能需要变化的地方,把它们独立出来,不要和那些不需要变化的代码混在一起。 2、针对接口编程,而不是针对实现编程; 3、多用组合,少用继承。 举例: 两种表现行为,即要实现 阅读全文
posted @ 2016-04-11 20:41 nwpulisz 阅读(144) 评论(0) 推荐(0) 编辑
摘要: hadoop集群增加节点: 接上节配置的分布式环境,三个节点hadoop0,hadoop1,hadoop2; 1、将hadoop2拷贝一份 为hadoop3,更改计算机名,设定IP地址为192.168.255.132; 2、分别修改4台机器的 /etc/hosts文件,增加hadoop3; 3、设置 阅读全文
posted @ 2016-04-11 17:42 nwpulisz 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 在前面搭建伪分布式hadoop运行环境的基础上,搭建hadoop集群,配置如下: 机器名 机器ip 用途 hadoop0(主节点) 192.168.255.128 NameNode//JobTracker hadoop1(从节点) 192.168.255.130 DataNode/JobTracke 阅读全文
posted @ 2016-04-07 11:24 nwpulisz 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 如图所示:有三个ReducerTask,因此处理完成之后的数据存储在三个文件中; 默认情况下,numReduceTasks的数量为1,前面做的实验中,输出数据都是在一个文件中。通过自定义myPatitioner类,可以把ruduce处理后的数据分类汇总,这里MyPartitioner是Partiti 阅读全文
posted @ 2016-04-06 11:52 nwpulisz 阅读(2228) 评论(0) 推荐(0) 编辑
摘要: 自定义排序,是基于k2的排序,设现有以下一组数据,分别表示矩形的长和宽,先按照面积的升序进行排序。 9 9 6 6 7 8 1 1 5 4 现在需要重新定义数据类型,MR的key值必须继承WritableComparable接口,因此定义RectangleWritable数据类型如下: import 阅读全文
posted @ 2016-04-04 17:10 nwpulisz 阅读(1582) 评论(0) 推荐(0) 编辑
摘要: 序列化在分布式环境的两大作用:进程间通信,永久存储。 Writable接口, 是根据 DataInput 和 DataOutput 实现的简单、有效的序列化对象. MR的任意Value必须实现Writable接口: MR的key必须实现WritableComparable接口,WritableCom 阅读全文
posted @ 2016-04-01 19:54 nwpulisz 阅读(3583) 评论(0) 推荐(0) 编辑
摘要: WordCount程序中Map和Reduce过程分析 Map过程: (1)文件的拆分,测试用的文件较小,每个文件为一个split,并将文件按行分成<key,value>对,如下图,这一步是由框架完成: (2)将分割好的<key ,value>对交给用户定义的map方法进行处理,生成新的<key,va 阅读全文
posted @ 2016-03-31 11:13 nwpulisz 阅读(227) 评论(0) 推荐(0) 编辑