Storm 是什么?

 Apache Storm™ is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing.

为什么要有 Storm?

分布式

 具备经济、快速、可靠、易扩充、数据共享、设备共享、通讯方便、灵活等分布式所具备的特性

可扩展性

 计算在多线程、进程 和 服务器之间并行进行

高可靠性

 能管理工作进程 和 节点的故障
 消息处理,能得到一次完成处理的保证

编程模型简单

 降低了并行批处理复杂性

高效实时

 利用 ZeroMQ 保证了消息的快速处理

支持热部署

 加速应用开发

阅读全文 »


 Apache Storm 和 Apache Kafka 相关知识,可以分别参考《Apache Storm 简介》和《Apache Kafka 分布式消息队列框架

搭建 Storm 和 Kafka 的基础环境

搭建 Storm / Kafka 集群

 具体安装步骤,详见我的另一篇博客《Apache Eagle

启动 Kafka

  • Start the zookeeper and kafka server
1
2
$ bin/zookeeper-server-start.sh config/zookeeper.properties
$ bin/kafka-server-start.sh config/server.properties
  • Create a topic
1
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic my-replicated-topic
  • List topics
1
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
阅读全文 »

Apache IoTDB 是什么?

Apache IoTDB™ (Database for Internet of Things) is an IoT native database with high performance for data management and analysis, deployable on the edge and the cloud.

(图片来源:Apache IoTDB™ 官网)

特性

  • 高吞吐量读写
  • 高效的目录结构
  • 丰富的查询语义
  • 硬件成本低
  • 灵活的部署
  • 与开源生态系统的紧密集成

应用场景

  • 高端制造业
  • 本地控制器服务器
  • 云数据管理
阅读全文 »

Aapche Drill 是什么?

Apache Drill™ is a distributed MPP query layer that supports SQL and alternative query languages against NoSQL and Hadoop data storage systems. It was inspired in part by Google’s Dremel.

Drill

(图片来源:Pexels™ 官网,已确认无版权)

优缺点

优势

  • 支持自定义的嵌套数据结构
  • 兼容 Hive(包括 Hive 的 UDF,且支持自定义 UDF)
  • 高性能、低延迟的 SQL 查询
  • 支持多数据源(插件化,包括 Apache KafkaApache HBase、Apache Hive、OpenTSDB、S3
UDF(User Defined Funcation):用户定义普通函数,只作用于单行记录
UDAF(User Defined Aggregation Funcation):用户定义聚合函数,只作用于多行记录
UDTF(User Defined Table Generating Funcation):用户定义表生成函数,可以输入一行记录输出多行记录

劣势

  • 与标准 SQL 略有不同
  • 外部依赖较多(基于 Apache ZooKeeper 实现分布式、基于 Apache Calcite 实现 SQL 解析)
  • 比较小众,相关资料缺乏
阅读全文 »