最近需要使用Storm,看了一些英文资料。觉得 O’Reilly 的 Getting started with Storm 比较浅显易懂,适合作为入门资料。特翻译之,以飨众生。

特别注明:本文翻译自 Getting started with Storm 第一章,以作学习交流之用,非盈利性质。如需转载,请以超链接形式标明文章原始出处和作者信息及版权声明。

Storm 是一个可靠的、容错的分布式数据流处理系统。它将工作委派给不同类型的组件,这些组件各自负责某个简单特定的处理任务。Storm 集群的输入流由组件spout负责。spout将数据传送至bolt,进而完成某种形式的转换。bolt 可采用某种存储形式对数据进行持久化,或者将数据传送至其它 bolt。 你可以将 Storm 集群想象成一个bolt链,每个bolt负责对从spout流入的数据进行某种形式的处理。

阅读全文 »

最近要使用storm进行一些数据流处理。在Unbuntu系统工作,发现storm安装过程各种错误,遂写下本文。本文介绍安装单机版Storm的步骤,集群版只是配置稍微有点区别。

英文指南见: https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster

要想使用Storm集群,要安装如下工具:
Python、Java 6、Git、Zookeeper、ZeroMQ、JZMQ、Storm

Python、Java 和 Git 的安装这里就不赘述了。

阅读全文 »

分享一篇很精彩的博文,对 NoSQL 数据库中的分布式算法和思想进行了很详细的剖析,难得的好文章。

本文转载自: NoSQL数据库的分布式算法

英文地址:Distributed Algorithms in NoSQL Databases


系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践。正是通过这些尝试逐渐总结出了一些行之有效的数据库构建方法。在这篇文章里,我将针对NoSQL数据库的分布式特点进行一些系统化的描述。

阅读全文 »

在使用Markdown语法生成超链接的时候,默认是在本窗口打开的。但是这会影响阅读体验,如果能将超链接在新窗口中打开就OK了。一种方案是使用HTML语法,但是这样破坏了写作时的体验,无法体现markdown的简洁性。好在Octopress可以很自由地定制新的功能。

阅读全文 »

在进行WEB开发的时候,时常听到资深的开发人员说要注意防范CSRF、XSS攻击,但是很多时候人们连什么是CSRF都不知道。本文将粗略地向大家介绍下CSRF的原理和防御手段。

一、CSRF是什么

首先,来看看CSRF是什么。依据Wikipedia的解释,含义如下:

CSRF(Cross-site request forgery)跨站请求伪造,也被称成为点击攻击或者会话劫持,通常缩写为CSRF或者XSRF,是一种恶意利用终端用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。

通俗来讲,CSRF攻击通过在授权用户访问的页面中包含链接或者脚本的方式工作。让我们通过两个例子来对这段晦涩的定义做出解释。

阅读全文 »

之前一直用 EGit 进行操作,只是简单地看了下相关指令,导致囫囵吞枣,很多原理性的东西没有领会,用 Git bash 时异常痛苦,现在回头重新学习一下,列出一些有用的学习资料:

阅读全文 »

英文原文链接:https://weblogs.java.net/blog/2007/11/27/consistent-hashing[1]

最近一段时间醉心于研究一致性哈希算法。本文所介绍的算法思想,早在1997年就已被 David Karger等人的在 论文中[2]提出,直到最近人们才发现这种思想可以运用到很多领域,从亚马逊的Dynamo[3]memcached。所以,我们不禁要问,什么是一致性哈希 以及 为什么你要关注它

阅读全文 »

在学习Hadoop的过程中,很多童鞋都希望在IDE环境中将样例跑起来,比如在
Eclipse IDE中。但是Hadoop的Eclipse Plugin对Eclipse的版本要求很严格,经常会出现各种莫名的错误,而且最新的Hadoop中不再提供Eclipse Plugin的JAR,
那该怎么办呢?

阅读全文 »