07 2013 档案

摘要:版本说明Hadoop1.0.1HBase 0.94.9Hive 0.8.1一、Hive over HBase1. 拷贝hbase-0.94.9.jar、zookeeper-3.4.5.jar、protobuf-java-2.4.0a.jar到hive/lib下。注意:如何hive/lib下已经存在这两个文件的其他版本(例如zookeeper-3.3.1.jar),建议删除后使用hbase下的相关版本。2. 修改hive/conf下hive-site.xml文件(红色部分) hive.metastore.local true ja... 阅读全文
posted @ 2013-07-30 12:40 kivi 阅读(1659) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://www.orzota.com/sql-for-hbase/HBase provides random, read-write access to Big Data stored in very large tables as a distributed columnar store. HBase thus gained immediately popularity as a Big Data technology that unlike Hadoop which was primarily used in the backend data warehousing inf 阅读全文
posted @ 2013-07-25 12:17 kivi 阅读(840) 评论(0) 推荐(0) 编辑
摘要:本文转自http://phoenix-hbase.blogspot.com/Today the Phoenix blog is brought to you by my esteemed colleague and man of many hats, Mujtaba Chohan, who today is wearing his performance engineer hat.SKIP SCANPhoenix 1.2uses a Skip Scan for intra-row scanning which allows for significant performance improve 阅读全文
posted @ 2013-07-25 10:41 kivi 阅读(644) 评论(0) 推荐(0) 编辑
摘要:DDLData Definition Language(DDL) statements are used to define the database structure or schema. Some examples:CREATE - to create objects in the databaseALTER - alters the structure of the databaseDROP - delete objects from the databaseTRUNCATE - remove all records from a table, including all spaces 阅读全文
posted @ 2013-07-25 10:25 kivi 阅读(267) 评论(0) 推荐(0) 编辑
摘要:一、安装memcached服务端1. 下载memcached的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在CMD下输入 "c:\memcached\memcached.exe -d install" 安装.3. 再输入:"c:\memcached\memcached.exe -d start" 启动,可以看到进程中多了memcached。NOTE:1、 一定要开启memcached服务;2、以后memcached将作为windows的一个服务每次开机时自动启动。二、导包commons-codec-1.3.jarhiber 阅读全文
posted @ 2013-07-20 18:55 kivi 阅读(2552) 评论(2) 推荐(1) 编辑
摘要:一、JVM的内存模型:从大的方面来讲,JVM的内存模型分为两大块:永久区内存(Permanent space)和堆内存(heap space)。栈内存(stack space)一般都不归在JVM内存模型中,因为栈内存属于线程级别。每个线程都有个独立的栈内存空间。Permanent space里存放加载的Class类级对象如class本身,method,field等等。heap space主要存放对象实例和数组。heap space由OldGeneration和NewGeneration组成,OldGeneration存放生命周期长久的实例对象,而新的对象实例一般放在NewGeneration。 阅读全文
posted @ 2013-07-18 11:23 kivi 阅读(5753) 评论(0) 推荐(0) 编辑
摘要:有时搞web开发的时候经常会出现OOM(out of memory)、permGen space不足的情况,其实就是jvm的内存不足了,下面的方法可以监视jvm的使用情况(原方法来自http://developer.51cto.com/art/200907/134171.htm)import java.util.Timer; import java.util.TimerTask; import java.util.Calendar; import java.util.GregorianCalendar; public class GCTimerTask extends Time... 阅读全文
posted @ 2013-07-18 10:45 kivi 阅读(305) 评论(0) 推荐(0) 编辑
摘要:进程和线程的关系:网上有一副很经典的图可以让我们来理解进程和线程的关系:下面这副图是一个双向多车道的道路图,假如我们把整条道路看成是一个“进程”的话,那么图中由白色虚线分隔开来的各个车道就是进程中的各个“线程”了。这副图出自:http://www.blogjava.net/pengpenglin/archive/2008/09/02/226292.html一些说明:这些线程(车道)共享了进程(道路)的公共资源(土地资源)。这些线程(车道)必须依赖于进程(道路),也就是说,线程不能脱离于进程而存在(就像离开了道路,车道也就没有意义了)。这些线程(车道)之间可以并发执行(各个车道你走你的,我走我的 阅读全文
posted @ 2013-07-17 21:41 kivi 阅读(235) 评论(0) 推荐(0) 编辑
摘要:Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在WebWork基础之上的Struts2是一个运行稳定、性能优异、设计成熟的WEB框架。下载的Struts2源代码文件是一个名叫struts-2.1.0-src.zip的压缩包,里面的目录和文件非常多,读者可以定位到struts-2.1.0-src"struts-2.0.10"src"core"src"main"java目录下查看 阅读全文
posted @ 2013-07-17 16:27 kivi 阅读(1039) 评论(0) 推荐(0) 编辑
摘要:jQuery定时加载 If you click on me, I will disappear. jQuery延迟加载只需将setInterval函数改为setTimeout即可! 阅读全文
posted @ 2013-07-17 10:56 kivi 阅读(578) 评论(0) 推荐(0) 编辑
摘要:首先要理解优化的对象,弄清楚优化的目标,才能采取正确的优化方法。1、优化对象-->前端!首先清楚打开一个网页要经过哪些步骤:我们可以看到,主要分为三个部分:网络部分、服务器端、浏览器端了解了优化对象,我们即可以对每部分进行优化了。2、优化目标-->时间!(首要目标)3、优化方法-->分层优化!首先了解需要优化的三层的模型:关于该模型的详细信息,请参考http://www.w3.org/TR/navigation-timing/针对网络层,优化原则为: 1、减少重定向和坏连接 2、精简⻚页⾯面静态资源的数量和域名数量 3、使⽤用缓存 4、谨慎使⽤用Cookie和Https(co 阅读全文
posted @ 2013-07-16 16:22 kivi 阅读(2214) 评论(1) 推荐(2) 编辑
摘要:org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'index.html'at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:474)at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java: 阅读全文
posted @ 2013-07-15 22:10 kivi 阅读(1316) 评论(0) 推荐(0) 编辑
摘要:本文转自:http://javaloverlover.iteye.com/blog/1451900struts2可由action,拦截器添加PreResultListener监听器,这个监听器可以在转入实际物理视图前回调该监听器的beforeResult()方法。action代码:Java代码packagecom.randy.com;importjava.util.Date;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionInvocation;importcom.opensympho 阅读全文
posted @ 2013-07-15 19:44 kivi 阅读(285) 评论(0) 推荐(0) 编辑
摘要:本文转自http://blog.csdn.net/java2000_wl/article/details/7576035StrutsPrepareAndExecuteFilter doFilter方法为请求的入口doFilter方法主要做以下几件事一: 根据配置的常量 设置当前request 字符编码 response国际化Locale信息二: 创建ActionContext数据对象三: 请求处理 1.分析url 根据url 创建ActionMapping对象 这些操作主要由ActionMapper接口实现类完成 2. 执行请求逻辑动作 ①.根据请求映射对象ActionMapping 创建A. 阅读全文
posted @ 2013-07-15 19:02 kivi 阅读(273) 评论(0) 推荐(0) 编辑
摘要:这是一篇学习备忘笔记。1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。除了门户和信息发布类型的网站,对于交互性要求 阅读全文
posted @ 2013-07-15 10:31 kivi 阅读(970) 评论(0) 推荐(0) 编辑
摘要:本文内容主要来自于浩东2011年6月的ppt。目录: 1、大型网站架构的目标与挑战 2、网站架构演变及其技术脉络 3、架构设计理论与原则何为“大型”网站? 没有统一的判断标准,流量大小是一个重要指标(日均流量至少IP>1,000,000才算大型网站)一、大型网站架构的目标与挑战每个目标背后面临着技术、设计、维护等诸多方面的挑战;而目标本身的期望值也会根据实际情况进行调整,这也意味着网站架构建设是个不断调整的过程。二、网站架构演变及其技术脉络1、Web动静态资源分离及其与DB物理分离-->优点:“简单”、安全性提高-->缺点:存在单点,谈不上高可用性(high availabi 阅读全文
posted @ 2013-07-15 10:18 kivi 阅读(933) 评论(1) 推荐(0) 编辑
摘要:应用架构与软件解决方案硬件解决方案:•大量使用廉价低端服务器 •主要机型 •逻辑处理/缓存:刀片,如IBM HS22,24/48G内存 •数据库:2U机架式服务器,如Dell R710,单机多RAID 1多数据库进程(90%MySQL,与交易有关的用Oracle) •文件/数据库备份:定制存储服务器(后将祥述) •网络:全部用千兆网络 •SSD:邮件、搜索、数据库中少量采用SSD,如Intel 320 •Amazon EC2:海外服务器ESB: 目标与背景企业服务总线--->目标 •解决解耦,独立部署 •基于服务的系统整合:SOA •服务过载控制--->解决的常见问题 •服务器位置 阅读全文
posted @ 2013-07-14 16:52 kivi 阅读(509) 评论(0) 推荐(0) 编辑
摘要:二叉树也是递归定义的,其结点有左右子树之分:(1) 完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树。(2) 满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。(3) 深度——二叉树的层数,就是高度。1、二叉树的存储结构 (1)顺序存储结构(适合完全二叉树和满二叉树) (2)链式存储结构(适合非完全二叉树)2、二叉树的遍历 (1)递归遍历(中序遍历、先序遍历、后序遍历) (2)非递归遍历(利用堆栈实现)3、二叉树的拓展 (1)线索二叉树(在节 阅读全文
posted @ 2013-07-14 15:11 kivi 阅读(2650) 评论(0) 推荐(0) 编辑
摘要:面临的挑战:1、硬件:宕机、例行重启、僵死;交换机故障2、网络:抖动、丢包3、流量突增(比如刘翔在奥运会中跌倒,流量会突增)4、依赖第三方服务架构防御:(1)mySQL是核心存储业务的依托,但是当mySQL全部宕机后,依然会有办法处理。此时,修复处理机会来进行处理,业务可以通过内存资源(vector0+tail Vector)来搞定。流量高峰时候,可以在vector0中增加level1的数量,流量少时减少即可。(2)单点故障、单层故障都可以处理主动监控运维:1、传统监控运维局限性:(1)定期采集来分析(机器、资源数据,我们更关心业务数据;采集的某一时刻,我们需要某一段时间的数据;) (2)分析 阅读全文
posted @ 2013-07-12 11:13 kivi 阅读(377) 评论(0) 推荐(0) 编辑
摘要:1、数据完整性的保证:校验和2、压缩的重要性及各种压缩算法的适用场景(时间性、空间性,以及是否支持mapreduce)3、writable序列化框架:为什么不用java序列化的东西,该框架的好处(精简、快速、可拓展、可以互操作等)4、Text与String的区别:Text通过字节的偏移量进行索引(还有其他区别)5、基于文件的数据结构:sequenceFile、MapFile以及他们的扩展6、Avro数据序列化系统 阅读全文
posted @ 2013-07-11 21:41 kivi 阅读(164) 评论(0) 推荐(0) 编辑
摘要:1、分片大小的确定2、最佳分片大小应该与块大小相同3、map任务的输出一般卸载本地硬盘,而reduce任务的输出写在hdfs中实现可靠存储;(当没有reduce过程时,map输出写在hdfs中)4、若多个reduce任务,则每个map任务都会输出多个分区(为每个reduce建立一个分区)5、三种map、reduce形式:6、为减少map与reduce之间的数据传输(带宽很重要),可以设计combine函数 阅读全文
posted @ 2013-07-11 21:31 kivi 阅读(166) 评论(0) 推荐(0) 编辑
摘要:1、流式数据访问:一次写入,多次读取是最高效的访问模式。数据集通常由数据源生成或从数据源复制而来,每次分析都在该数据集上进行2、数据块:文件的独立存储单元,默认64MB;目的是为了最小化寻址开销;块的元数据存在namenode的内存中;HDFS中一个小于块大小的文件不会占据整个块的空间3、namenode的容错为什么重要,容错的方法有哪些?4、读文件的流程:5、写文件的流程:6、写文件中数据队列、管线、副本布局的问题7、distcp并行复制8、带宽:数据中心中最稀缺的资源! 阅读全文
posted @ 2013-07-11 21:23 kivi 阅读(204) 评论(0) 推荐(0) 编辑
摘要:淘宝的hbase规模:1、基于0.90.3;2、10个独立集群,大约300台机器;3、机器配置:16 core,24G/48G,SATA 1T*12/SAS 300G *12;4、大约200k ops/sec,70%写,30%读。遇到的问题:1、region书越来越多,每秒写的速度会下降很快(8000降到2000)--->解决办法:将锁机制改为“无锁”。2、regionServerOOM(内存溢出)--->原因1:rowkey设计问题 原因2:setMaxFileSize太大,解压会使用近双倍的空间 原因3:region太多3、.meta表空洞--->原因:split失败,数 阅读全文
posted @ 2013-07-11 21:04 kivi 阅读(361) 评论(0) 推荐(0) 编辑