关闭

scala 快速排序

import scala.collection.mutable.ListBuffer /** * Created by Administrator on 2016/6/25. * 快速排序:首先找一个基准元素,通常取第一个或最后一个元素作为基准元素,然后, * 从右向左遍历,找到第一个比基准元素小的元素,并记录下当前元素的索引right,两者交换, * 交换完成后,就开始从左往右...
阅读(318) 评论(0)

Kafka 为什么比其它的消息系统快?

Kafka的消息是保存或缓存在磁盘上的,你可能会认为:在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间的。事实上,磁盘读写的快慢取决于你怎么使用它了(顺序读写、随机读写)。 Kafka的设计目标是高吞吐量,它比其它消息系统快的原因体现在以下几方面: 1、Kafka操作的是序列文件I / O(序列文件的特征是按顺序写,按顺序读),为保证顺序,Kafka强制点对点的按顺序传递消息,这意味着,...
阅读(1795) 评论(0)

Kafka 初识

Kafka是什么? Kafka是一个高吞吐量的、分布式的消息发布-订阅系统,官网解释为一个分布式的、可分区的、可复制的的提交日志服务。具有如下特性: 1、通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 2、高吞吐量:即使是非常普通的硬件,Kafka也可以支持每秒数百万[2]  的消息。 3、支持通过Kafka服务器和消费机集群来分...
阅读(324) 评论(0)

Storm Trident

Strom Trident是什么? Trident 是Storm 原语(即由若干条指令组成的,用于完成一定功能的一个过程)的一个抽象,它可以让你对一个Topology表达为“做什么,what”(声明式),而不是“如何做,how”(命令式),关于声明式编程和命令式编程的区别,可以参看这篇文章http://blog.csdn.net/qiruiduni/article/details/4963852...
阅读(427) 评论(0)

storm 初识

Storm是什么? Storm是一个分布式的实时流处理框架。 “实时”怎么理解? “实时”一般指的是near real-time(近实时),即系统对特定事件处理的响应时间对终端用户没有明显的延迟,通常响应时间为毫秒级别。对于Storm来说,实时(sub-second time,亚秒级)和近实时(几秒或几分钟,具体取决于使用的场景)都是可能的。 什么是流处理?它和批处理的区别是什么? 流处...
阅读(413) 评论(0)

什么是大数据(Big Data)?

什么是大数据? 可以从四个方面描述:数据量(volume)、处理速度(velocity)、多样性(variety)、真实性(veracity),简称4V。 Volume(数据量) 数据量大是大数据的比较明显的特征。每天的数据增长块。 Velocity(速度) 要求数据的处理速度比较快,能够及时快速的响应,并不能因为数据量大,响应速度就慢下来。 Variety(多样性) 数据的来源...
阅读(716) 评论(0)

ZooKeeper 解惑

今年年初的时候,写了一篇ZooKeeper的入门文章《初识ZooKeeper》,一直到这一周,才有时间将ZooKeeper整个源码通读了一遍。不能说完全理解了ZooKeeper的工作原理与细节,但是之前心中一直关于ZooKeeper的疑问都得到了解释。 现在网上关于ZooKeeper的文章很多,有介绍Leader选举算法的,有介绍ZooKeeper Server内部原理的,还有介绍ZooKe...
阅读(307) 评论(0)

ZooKeeper 初识

ZooKeeper是一个高可用、高性能的分布式协调服务,可用于命名服务、配置管理、分布式同步等实现。并且现在越来越多的分布式应用开始依赖ZooKeeper,如HBase、Storm等。可以把ZooKeeper看做类似文件系统的目录树,和文件系统不同的是没有目录和文件的概念,而是由一个一个节点组成的树,每个节点都称为Znode,可以包含一些数据,还可以包含一些子节点。 说它高可用是指它leader...
阅读(228) 评论(0)

ZooKeeper 分布式锁

大家也许都很熟悉了多个线程或者多个进程间的共享锁的实现方式了,但是在分布式场景中我们会面临多个Server之间的锁的问题,实现的复杂度比较高。利用基于google chubby原理开发的开源的zookeeper,可以使得这个问题变得简单很多。下面介绍几种可能的实现方式,并且对比每种实现方式的优缺点。 1. 利用节点名称的唯一性来实现共享锁 ZooKeeper抽象出来的节点结构是...
阅读(298) 评论(0)

JNDI

NDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。 那么,JNDI到底起什么作用? 集中管理共享信息 要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI...
阅读(291) 评论(0)

HBase 架构

数据的查找及传输 HBase 和RDBMS的底层存储结构的不同 RDBMS 的底层存储结构大多为B+树结构,这种结构可以通过主键对数据进行高效的查找、插入和删除操作,并且支持范围扫描(叶子节点之间相连并且主键有序)。 HBase 的底层存储使用的是LSM树结构,这种结构的写操作(插入/修改/删除)都是在内存中进行的,并且会创建一个新纪录(修改会记录新的数据值,删除会记录一个删除标识) ,...
阅读(314) 评论(0)

HBase Write Path(写路径)

HBase是一个基于HDFS、低延迟的列式数据库,它支持随机访问和更改HDFS上的数据,但HDFS中的文件是只能附加的,并且一旦创建后是不能改变的,那么HBase是怎么做到低延迟读写的?该文主要介绍了HBase的写路径(Write Path),即HBase中的数据是怎么更改的? Write Path 写路径(Write Path)实际就是HBase中put或delete数据的流程,是怎么put...
阅读(521) 评论(0)

HBase Log Splitting(日志拆分)

该文主要介绍了HBase在一个region server崩溃后,如何通过日志拆分(Log Split)的方式来恢复丢失的修改,防止数据丢失的。 Log Split(日志拆分) HBase为了提高写的性能,将数据的修改先放到memstore内存中,这样做的缺陷是当region server崩溃时,memstore中的所有修改将会丢失,因为它们还没有被刷写到磁盘上。为了防止这情况造成的数据丢失,H...
阅读(988) 评论(0)

There are 0 datanode(s) running and no node(s) are excluded in this operation

在hive中,创建表后,使用load data命令加载数据到表中,出现“There are 0 datanode(s) running and no node(s) are excluded in this operation”错误,于是使用jps命令查看datanode节点是否都已经启动,发现都是正常启动 的,然后又使用“hdfs dfsadmin -report”命令查看节点的报告信息,发现没...
阅读(5125) 评论(1)

Hive 初识

Hive是什么?干嘛用的?工作机制?优缺点?区别?为什么要用它? HIve是什么? Hive是一个基于Hadoop的数据仓库工具,提供了方便查询和管理海量数据的能力,它可以把结构化的数据文件转化为一张数据库表,并支持简单的类SQL的查询功能(这对于熟悉关系型数据库的程序员来说就大大降低了学习门槛)。 它是怎么工作的? 在创建表的时候,需要加载数据文件(可以是HDFS上的文件,也可以是本地磁...
阅读(294) 评论(0)
122条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:101070次
    • 积分:1716
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:60篇
    • 译文:10篇
    • 评论:7条
    文章分类
    最新评论