本文是Hadoop YARN原理系列的第二篇, 主要讲述如何编写YARN Application. 实际上, MapReduce, Spark以及Flink等框架在YARN上运行时, 都可以视为一种特定的YARN Application. 不过这些系统的on YARN模式实现都是生产级别的, 代码相对复杂, 所以本文并不打算以这些系统的on YARN实现为例分析如何编写YARN Application, 而是以Hadoop自带的hadoop-yarn-applications-distributedshell(后文简称DistributedShell)为例进行讲述. DistributedShell可以在YARN的Container上执行用户指定的Shell命令或脚本, 虽然简单, 却包含了编写一个YARN Application的完整内容.

Read More

YARN(Yet Another Resource Negotiator)是一个分布式的资源调度和管理系统, 负责管理和分配集群的资源(目前主要是vcores和memory), 在一些资料中形象地把YARN比作一个分布式的操作系统. YARN在Hadoop 2.x中引入, 目前已经有批式, 流式, 机器学习等多种类型的计算框架支持在YARN上运行, 如Spark, Flink, Tensorflow等框架都对YARN有成熟的支持. YARN已经成为名副其实的”数据操作系统”.

Read More

本文已收录在合集Apche Flink原理与实践中.

GeoMesa已经成为时空数据存储领域重要的索引中间件, 京东城市时空数据引擎JUST和阿里云的HBase Ganos均是在GeoMesa的基础上扩展而来. GeoMesa采用键值存储, 支持多种类型的存储后端, 如HBase, Kafka, Redis等. 相对于PostgreSQL+PostGIS这种基于R-tree索引的关系型存储, GeoMesa的存储方案更容易与HBase等现有的分布式数据库相结合, 从而直接利用底层数据库的分布式特性, 更适合时空大数据的存储以及实时场景的应用.

为在时空流计算中利用GeoMesa的高效写入和时空查询能力, Glink扩展Flink SQL Connector框架形成了Flink GeoMesa SQL Connector(简称GeoMesa SQL Connector), 支持使用Flink SQL读写GeoMesa. 本文通过实际的应用案例, 讲述如何在Flink SQL中使用GeoMesa. 在流计算中Flink+GeoMesa主要有以下两种使用场景:

  • 时空数据管道 & ETL: 以GeoMesa作为时空数据存储引擎, 通过Flink SQL构建实时的时空数据ETL管道, 将时空数据从文件, Kafka等数据源导入到GeoMesa;
  • Lookup Join: 将维表存储在GeoMesa中, 通过Flink SQL进行流表与维表的空间Join, 在Glink中称为Spatial Dimention Join.

Read More

本文已收录在合集Apche Flink原理与实践中.

HBase作为谷歌BigTable的开源实现, 是构建在HDFS上的分布式键值数据库. 由于具有极高的读写性能, HBase已经在实时计算领域得到了广泛运用. 随着Flink在实时计算领域的普及, Flink与HBase的结合应用也是趋势使然. 从Flink 1.9开始就在SQL API层面增加了对HBase Connector的支持.

本文通过一个实际的应用案例对Flink SQL与HBase的结合应用进行实践, 整个过程只需要在SQL Client中编写SQL语句, 不需要写任何Java或Scala代码. 本文案例主要包含两种场景.

  • 场景一是将Flink SQL的计算结果实时写入HBase;
  • 场景二是在Flink SQL中利用HBase table进行Lookup Join.

Read More

‘Java虚拟机规范’把Java虚拟机的运行时数据区域划分为线程隔离的程序计数器, 虚拟机栈, 本地方法栈和线程共享的方法区, . 然而, ‘Java虚拟机规范’所描述的是Java虚拟机的概念模型(代表所有Java虚拟机的统一外观), 并未规定上述5个运行时数据区域的具体实现细节, 因此各款具体的Java虚拟机可能会用各种平台相关的, 更高效的方式进行等价的实现. Java虚拟机需要实现自动内存管理(主要是堆和方法区的内存管理), 势必引入垃圾收集器, 而内存的布局与管理又与所选用的垃圾收集器息息相关, 所以即使是同一种虚拟机, 使用不同垃圾收集器时其运行时数据区域(主要指堆和方法区)的实现都可能存在差别. 本文着重讲述Java虚拟机运行时数据区域的概念模型, 在一些重点部分加入了对HotSpot虚拟机具体实现的探讨, 特别总结了HotSpot虚拟机所实现的各个垃圾收集器的原理及其对应的自动内存管理方法.

Read More

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×