- 博客(28)
- 资源 (11)
- 收藏
- 关注
原创 深入了解lisp(clojure)-变量
本文由larrylgq编写,转载请注明出处:http://blog.csdn.net/larrylgq/article/details/7395261作者:吕桂强邮箱:larry.lv.word@gmail.comclojure中变量可以分为词法变量(lexical)和动态变量(dynamic),有点类似于其它语言中的局部变量和全局变量。一个变量是一个不需要声明保存类型的可以保
2012-02-29 20:45:08 2493
翻译 使用Clojure DSL来写storm
storm 提供一套Clojure DSL来定义spouts,bolts,和topologies。因为Clojure DSL可以调用所有暴露在外的java api,所以如果你是一个clojure开发者,你不用接触java代码就可以编写storm topologys。定义Clojure DSL的代码在backtype.storm.clojure 命名空间下.本文概述了使用Clojure DS
2012-02-27 19:18:10 4897 3
原创 深入理解云存储和云计算-hdfs设计原则
在hadoop整个框架中hdfs是基础,hdfs提供海量的非结构化的数据存储,并提供了文件的创建删除读取和写入等API,对开发者而言只需操作一个目录构成的树形结构。hdfs在设计之初考虑到了以下几个方面:1,hdfs将采用大量稳定性差的廉价pc来做为文件存储设备,所以pc发生死机或硬盘故障的几率极高,应看作是常态,所以hdfs应该提供数据多备份,自动检测节点存活,和故障机器的自动修复2
2012-02-21 15:31:34 1855
原创 深入理解云存储和云计算-I/O负载导致的分布式面临的问题
分布式是为了通过横向扩展来提高性能,扩展的原因一般有2个:CPU负载和I/O负载(计算密集型和io密集型)所谓CPU负载就是通常的web服务等,这些服务基本上只消耗cpu,所以只要增加安装相同服务的服务器,然后就可已通过负载均衡器工作了,但是i/o负载因为需要进行数据分割,所以会远比cpu负载来的复杂大多的i/o分布式框架都在解决下面几个问题:1.数据的切割和在机器间的分配策略
2012-02-21 14:53:11 1351
原创 深入理解云存储和云计算-数据模型及实现方式
常见的数据模型有key/value和Schema Free(自由列表模式)两种,key/value,每条记录由2个域组成,一个作为主键,一个存储记录的数据Schema Free, 每条记录有一个主键,若干条列组成,有点类似关系型数据库在实现这些模型的时候基本使用2种实现方式:哈希加链表,或者B+树的方式哈希加链表:通过将key进行哈希来确定存储位置,相同哈希值的数据
2012-02-21 14:35:45 1216 1
原创 深入理解云存储和云计算-理论基础
引言:在各种各样的硬件设备上运行着N多的worker,而任意一个worker都能够独立解决一个问题。每一个集群有这样的设备成千上百个,而同时又有一打这样的集群互相连接交互,于是,这么一个总的集合称为“云”,而其提供的服务称为“云计算”。 在“云中”的任一设备或集群都可以做到"进出自由"、任何崩溃的worker都能被检测和重启,那么,基本上就可以称为靠谱的云计算了。 对于理解云存
2012-02-21 13:59:27 1522
原创 storm安装实战
安装前检查软件环境确保:java6 SDK以上版本python 2.6以上版本修改每台机器的/et/hosts文件修改:# vi /etc/hosts192.168.1.206 nimbus192.168.1.207 supervisor1192.168.1.208 supervisor2192.168.1.205 supervisor3此处
2012-02-21 11:56:04 3407
原创 storm分配topology的关键代码注释
numbusread-storm-config;读取storm配置launch-server!-->validate-distributed-mode!验证是否是集群模式check-storm-active!检查storm状态是否存活(swap! (:submitted-count nimbus) inc)通过swap!方式将nimbus的提交数加一 storm-name+
2012-02-17 16:01:38 1935
原创 在CentOS上安装Git
CentOS的yum源中没有git,只能自己编译安装,现在记录下编译安装的内容,留给自己备忘。确保已安装了依赖的包yum install curl yum install curl-devel yum install zlib-devel yum install openssl-devel yum install perl yum install cpio yum inst
2012-02-15 15:01:37 1572
原创 CentOS 6.0安装JDK7
1.下载jdk-7-linux-x64.rpm(http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html)2. su切换到root权限3. /usr/java/jdk1.7.0 rpm -ivh jdk-7-linux-x64.rpm,默认安装路径为 /usr/j
2012-02-15 14:32:37 1696
原创 jvm详解-同步与锁的实现
阻塞同步:一种悲观并发策略保证共享数据在同一时刻只被一条线程使用,通过使用synchronize和ReentranLock来实现实现:synchronize关键字经过编译后会在同步块前后生成monitorenter和monitorexit2个字节码指令,这两个字节码会根据一个reference类型的参数来指定要锁定或解锁的对象,如果synchronize没有指明对象,就回根据修饰的是实例方法还
2012-02-14 12:56:25 942
原创 jvm详解-gc策略
1960年诞生在MIT的lisp是最早使用内存动态分布和垃圾回收技术的语言,但本文主要讲解基于sun hotspot的jvm内存管理机制。内存区域中程序计数器,虚拟机栈,本地方法栈三个区域的声明周期和线程相同,方法的执行和退出的同时,栈中的栈帧会执行入栈和出栈的操作,每一个栈帧分配的内存也是可以在类结构推算出来的,因此这几个内存区域的内存分配,回收是具有确定性的,不需要过多考虑内存回收问题
2012-02-13 20:29:19 1676
原创 jvm详解-jvm内存区域
本文由larrylgq编写,转载请注明出处:http://blog.csdn.net/larrylgq/article/details/7395261作者:吕桂强邮箱:larry.lv.word@gmail.comjvm中所有线程共享的数据区有方法区,堆。线程隔离的数据区有虚拟机栈,本地方法栈和程序计数器。程序计数器:是用于当前线程执行字节码的行号指示器,是一块很小的内存空
2012-02-13 12:56:08 741
翻译 twitter storm0.7.0新特性
原文地址:http://groups.google.com/group/storm-user/browse_thread/thread/a9b71e51b6be8f35storm0.7.0使用了备受关注的Transactional topologies,它可以使你的消息在集群上精确的只执行一次,Transactional topologies是强大的,你可以在这里看到详细介绍文档:http
2012-02-10 18:35:08 1981
转载 hadoop集群配置
官方地址:(http://hadoop.apache.org/common/docs/r0.19.2/cn/cluster_setup.html)转自http://blog.csdn.net/hguisu/article/details/72373951 先决条件确保在你集群中的每个节点上都安装了所有必需软件:sun-JDK ,ssh,HadoopJavaTM1.5.
2012-02-08 22:44:25 762
原创 Leiningen安装使用及与eclipse的集成
Leiningen是针对Clojure的项目构建工具,兼容Maven。@ https://github.com/technomancy/leiningen安装Counterclockwise:Clojure的eclipse插件,@http://code.google.com/p/counterclockwise/Update site: http://ccw.cgrand.ne
2012-02-08 19:01:05 3553 1
原创 jvm详解-java源码编译
http://blog.csdn.net/larrylgq/article/details/7395261java源码级编译器的任务是将符合java语言规范的源码编译为符合jvm规范的Class文件,对不符合java语言规范的报错在sun的jdk中源码编译器是使用java写的javacjavac的工作流程:1 解析(parse)和输入到符号表(enter)2 注解处理(an
2012-02-07 19:10:53 1973
原创 jvm详解-概览
Java虚拟机的基本特征基于栈的体系绌构动态加载程序安全性自动内存管理多线程支持与本地库的交互java语言处理器结构JVM与JRE、JDK的关系JVM:Java Virtual Machine负责执行符合规范的Class文件JRE:Java Runtime Environment包含JVM的类库JDK:Java Development Kit
2012-02-07 16:24:21 1162
转载 8 个基于 Lucene 的开源搜索引擎
转载自http://www.oschina.net/news/25408/searchengines-built-on-luceneLucene是一种功能强大且被广泛使用的搜索引擎,以下列出8种基于Lucene的搜索引擎,你可以想象他们有多么强大...Apache SolrSolr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个
2012-02-07 12:14:23 1316
转载 storm+kestrel+zookeeper 部署
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://newyue.blog.51cto.com/174760/737140storm+kestrel+zookeeper环境:2台服务器:192.168.1.166192.168.1.167系统:centos 5.6部署:192.168.1.16
2012-02-06 21:57:08 3160
原创 clojure中类型暗示
很多开源代码中(eg:storm)都会出现这样的代码eg:(^voiduploadChunk[this^Stringlocation ^ByteBufferchunk] (let[uploaders (:uploaders nimbus) ^WritableByteChannelchannel(.getuploaders
2012-02-06 14:34:31 733
转载 Hadoop公平调度器指南
Hadoop公平调度器指南http://www.cnblogs.com/spork/archive/2010/04/02/1703428.html 最近看到调度器这一块,发现Hadoop官方文档中有关公平调度器(Fair Scheduler Guide)和容量调度器(Capacity Scheduler Guide)部分的文档还没有汉化,Google了下也未发现有相关汉化,So,
2012-02-06 14:29:03 729
原创 程序设计6个原则
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。开放-封闭原则:软件实体(类、模块、函数/方法等等)应该可以扩展,但是不可修改。里氏代换原则:子类型必须能够替换掉它们的父类型。依赖倒转原则:A.高层模块不应该依赖低层模块。二者都应该依赖抽象。B. 抽象不应该依赖细节。细节应该依赖抽象。迪米特法则(最少知识原则):如果两个类不必彼此直接通信,那么这两个类就不应当发生
2012-02-06 13:51:34 695
原创 算法和算法分析基础
算法:对求解步骤的描述,是一组指令的有序序列,算法必须是有穷的,可行的,并且要有输入输出通常我们对算法设计的要求有正确性:应该满足具体问题的需求。可读性:出了让机器执行,算法设计还应方便人的阅读和交流健壮性:经得起测试效率与低存储量:算法执行的时间要越短越好,占用的存储空间应该越少越好 算法效率的度量:一般分为事后统计和事前分析估算因为计算机的硬件,软件环境等因
2012-02-06 13:31:39 721
原创 数据结构基础2
数据结构是相互之间存在一种或者多种特定关系的数据元素的集合数据不是孤立存在的,它们之间存在这联系,这种数据元素相互之间的联系称为结构通常结构有以下四种:1 集合2 线性结构3 树形结构4 图状结构或网状结构 数据结构在计算机中的映像叫做数据的物理结构或存储结构用若干位组合形成的一个位串为数据元素如果数据元素若干数据项组成时,则对应每个数据项的子位串称
2012-02-03 14:51:26 782
原创 twitter storm常用命令
提交Topologies命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】样例:storm jar /storm-starter.jar storm.starter.WordCountTopology wordcountTop#提交storm-starter.jar到远程集群,并启动wordcountTop拓扑。停止Topologies命令格式:
2012-02-03 11:51:55 8533
原创 twitter storm 配置项6.0
配置项配置说明storm.zookeeper.serversZooKeeper服务器列表storm.zookeeper.portZooKeeper连接端口storm.local.dirstorm使用的本地文件系统目录(必须存在并且storm进程可读写)storm.cluster.modeStorm集群运行模式([distribut
2012-02-03 11:48:44 2274
原创 数据结构基础1
数据结构是计算机存储、组织数据的方式。好的数据结构可以带来更高的运行或者存储效率,数据结构往往同检索算法和索引技术有关。一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述
2012-02-02 11:47:34 860
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人