Apache HBase

SparkStreaming使用checkpoint存在的问题及解决方案

梦想与她 提交于 2020-04-28 03:31:17
sparkstreaming关于偏移量的管理 在 Direct DStream初始化的时候,需要指定一个包含每个topic的每个分区的offset用于让Direct DStream从指定位置读取数据。 offsets就是步骤4中所保存的offsets位置 读取并处理消息 处理完之后存储结果数据 用虚线圈存储和提交offset只是简单强调用户可能会执行一系列操作来满足他们更加严格的语义要求。这包括幂等操作和通过原子操作的方式存储offset。 最后,将offsets保存在外部持久化数据库如 HBase, Kafka, HDFS, and ZooKeeper中 SparkStreaming使用checkpoint存在的问题 SparkStreaming在处理kafka中的数据时,存在一个kafka offset的管理问题: 官方的解决方案是checkpoint: checkpoint是对sparkstreaming运行过程中的元数据和 每次rdds的数据状态保存到一个持久化系统中,当然这里面也包含了offset,一般是HDFS,S3,如果程序挂了,或者集群挂了,下次启动仍然能够从checkpoint中恢复,从而做到生产环境的7*24高可用。如果checkpoint存储做hdfs中,会带来小文件的问题。 但是checkpoint的最大的弊端在于,一旦你的流式程序代码或配置改变了

如何在 HBase Shell 命令行正常查看十六进制编码的中文?哈哈~

风格不统一 提交于 2020-04-27 22:13:49
今天比较开心,只想哈哈~哈哈哈~ 啥也不多说了,直接看示例吧!绝对比我口才好~ hbase(main):050:0> scan 'test' ROW COLUMN+CELL row-1 column=f:c1, timestamp=1587984555307, value=\xE7\xA6\x85\xE5\x85\x8B row-2 column=f:c2, timestamp=1587984555307, value=HBase\xE8\x80\x81\xE5\xBA\x97 row-3 column=f:c3, timestamp=1587984555307, value=HBase\xE5\xB7\xA5\xE4\xBD\x9C\xE7\xAC\x94\xE8\xAE\xB0 row-4 column=f:c4, timestamp=1587984555307, value=\xE6\x88\x91\xE7\x88\xB1\xE4\xBD\xA0\xE4\xB8\xAD\xE5\x9B\xBD\xEF\xBC\x81 4 row(s) in 0.0190 seconds hbase(main):051:0> scan 'test', {FORMATTER => 'toString'} ROW COLUMN+CELL row-1 column=f:c1, timestamp

apache beam 初探--java篇

自古美人都是妖i 提交于 2020-04-27 20:09:59
—————————————— 版权声明:本文为博主「henyu」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。 原文链接: https://i.cnblogs.com/EditPosts.aspx?postid=11430012 一 、 概述 在大数据的浪潮之下,技术的更新迭代十分频繁。受技术开源的影响,大数据开发者提供了十分丰富的工具。但也因为如此,增加了开发者选择合适工具的难度。在大数据处理一些问题的时候,往往使用的技术是多样化的。这完全取决于业务需求,比如进行批处理的MapReduce,实时流处理的Flink,以及SQL交互的Spark SQL等等。而把这些开源框架,工具,类库,平台整合到一起,所需要的工作量以及复杂度,可想而知。这也是大数据开发者比较头疼的问题。而今天要分享的就是整合这些资源的一个解决方案,它就是 Apache Beam。 Beam是一个统一的编程框架,支持批处理和流处理,并可以将用Beam编程模型构造出来的程序,在多个计算引擎(Apache Apex, Apache Flink, Apache Spark, Google Cloud Dataflow等)上运行。 本文重点不在于讲解 apache beam 的优缺点及应用前景,着重在于为初识beam ,而不知道怎么入门编写代码的朋友抛转引玉。 二、apache beam

当海量存储系统插上搜索引擎的翅膀,阿里云HBase增强版(Lindorm)全文索引功能技术解析

≯℡__Kan透↙ 提交于 2020-04-27 16:21:42
新用户9.9元即可使用6个月云数据库HBase,更有低至1元包年的入门规格供广大HBase爱好者学习研究,更多内容请 参考链接 阿里云HBase增强版(Lindorm)简介 阿里云数据库HBase增强版,是基于阿里集团内部使用的Lindorm产品研发的、完全兼容HBase的云上托管数据库,从2011年开始正式承载阿里内部业务的海量数据实时存储需求,支撑服务了淘宝、支付宝、菜鸟、优酷、高德等业务中的大量核心应用,历经双十一、春晚、十一出行节等场景的大规模考验,在成本、性能、稳定性、功能、安全、易用性等方面相比社区版拥有诸多优势和企业级能力,更多介绍可以参考Lindorm帮助文档( https://help.aliyun.com/document_detail/119548.html ) 当大数据存储遇上复杂查询 HBase是目前广泛使用的NoS 来源: oschina 链接: https://my.oschina.net/u/4370809/blog/4255194

基于Hadoop的58同城离线计算平台设计与实践

大城市里の小女人 提交于 2020-04-26 21:56:26
分享嘉宾:余意 58同城 高级架构师 编辑整理:史士博 内容来源:58大数据系列直播 出品平台:DataFun 注:欢迎转载,转载请在留言区留言。 导读: 58离线计算平台基于 Hadoop 生态体系打造,单集群4000+台服务器,数百 PB 存储,日40万计算任务,面临挑战极大。58 大数据平台的定位主要是服务数据业务开发人员,提高数据开发效率,提供便捷的开发分析流程,有效支持数据仓库及数据应用建设。通常大数据平台通用基础能力包括:数据存储、实时计算、离线计算、数据查询分析,本次分享将聚焦大数据平台离线计算和大家一起系统的探讨58在离线计算平台建设实践的思路、方案和问题解决之道。 本文主要内容包括: 58在集群快速增长的过程中遇到的问题以及解决之道; 58大数据集群跨机房迁移的相关工作,如何在5个月时间快速完成3000台集群服务的迁移工作。 ▌ 数据平台部简介 数据平台部是负责58统一大数据基础平台能力建设。平台负责的工作主要包括以下几部分: 数据接入: 文本的收集,我们采用 flume 接入,然后用 kafka 做消息缓冲,我们基于 kafka client 打造了一个实时分发平台,可以很方便的把 kafka 的中间数据打到后端的各种存储系统上。 离线计算: 我们主要基于 Hadoop 生态的框架做了二次定制开发。包括 HDFS、YARN、MR、SPARK。 实时计算:

基于Hadoop的58同城离线计算平台设计与实践

吃可爱长大的小学妹 提交于 2020-04-26 21:41:51
分享嘉宾:余意 58同城 高级架构师 编辑整理:史士博 内容来源:58大数据系列直播 出品平台:DataFun 注:欢迎转载,转载请在留言区留言。 导读: 58离线计算平台基于 Hadoop 生态体系打造,单集群4000+台服务器,数百 PB 存储,日40万计算任务,面临挑战极大。58 大数据平台的定位主要是服务数据业务开发人员,提高数据开发效率,提供便捷的开发分析流程,有效支持数据仓库及数据应用建设。通常大数据平台通用基础能力包括:数据存储、实时计算、离线计算、数据查询分析,本次分享将聚焦大数据平台离线计算和大家一起系统的探讨58在离线计算平台建设实践的思路、方案和问题解决之道。 本文主要内容包括: 58在集群快速增长的过程中遇到的问题以及解决之道; 58大数据集群跨机房迁移的相关工作,如何在5个月时间快速完成3000台集群服务的迁移工作。 ▌ 数据平台部简介 数据平台部是负责58统一大数据基础平台能力建设。平台负责的工作主要包括以下几部分: 数据接入: 文本的收集,我们采用 flume 接入,然后用 kafka 做消息缓冲,我们基于 kafka client 打造了一个实时分发平台,可以很方便的把 kafka 的中间数据打到后端的各种存储系统上。 离线计算: 我们主要基于 Hadoop 生态的框架做了二次定制开发。包括 HDFS、YARN、MR、SPARK。 实时计算:

HBase Filter 过滤器之 Comparator 原理及源码学习

萝らか妹 提交于 2020-04-26 07:47:17
前言: 上篇文章 HBase Filter 过滤器概述 对HBase过滤器的组成及其家谱进行简单介绍,本篇文章主要对HBase过滤器之比较器作一个补充介绍,也算是HBase Filter学习的必备低阶魂技吧。本篇文中源码基于HBase 1.1.2.2.6.5.0-292 HDP版本。 HBase所有的比较器实现类都继承于父类ByteArrayComparable,而ByteArrayComparable又实现了Comparable接口;不同功能的比较器差别在于对父类compareTo()方法的重写逻辑不同。 下面分别对HBase Filter默认实现的七大比较器一一进行介绍。 1. BinaryComparator 介绍: 二进制比较器,用于按字典顺序比较指定字节数组。 先看一个小例子: public class BinaryComparatorDemo { public static void main(String[] args) { BinaryComparator bc = new BinaryComparator(Bytes.toBytes("bbb")); int code1 = bc.compareTo(Bytes.toBytes("bbb"), 0, 3); System.out.println(code1); // 0 int code2 = bc

阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

限于喜欢 提交于 2020-04-25 15:01:40
本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 的基础上搭建,多添加了一个 datanode 节点 。 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里云ECS服务器:master, slave1, slave2 操作系统: CentOS 7.3 Hadoop: hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz ZooKeeper: zookeeper-3.4.14.tar.gz 1.2 各节点角色分配 master: NameNode、SecondaryNameNode、QuorumPeerMain slave1: DataNode、QuorumPeerMain slave2: DataNode、QuorumPeerMain 2 ZooKeeper 下载 下载 zookeeper-3.4.14.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为: /usr/local/ 将解压得到的目录改名为 zookeeper 。 cd /usr/ local mv zookeeper- 3.4 . 14 zookeeper 3 添加 ZooKeeper 环境变量 在"/etc/profile"中添加内容: 1 export ZOOKEEPER_HOME=/usr/local/

hbase 基本的JavaApi 数据操作及数据过滤(filter)

人盡茶涼 提交于 2020-04-25 05:38:20
本文主要是hbase的表操作、数据操作、数据查询过滤等,如果对JDBC或ADO有了解,容易理解HBASE API。 hbase版本是2.0。 1、为了方便先贴helper的部分代码(文末git上有完整的测试代码),主要是为了复用Connection。 public class HBaseHelper implements Closeable { private Configuration configuration = null ; private Connection connection = null ; private Admin admin = null ; private HBaseHelper(Configuration configuration) throws IOException { this .configuration = configuration; this .connection = ConnectionFactory.createConnection( this .configuration); admin = this .connection.getAdmin(); } public static HBaseHelper getHBaseHelper(Configuration configuration) throws IOException {

基于Geomesa服务查询轨迹数据无法根据空间和时间范围进行结果查询

余生颓废 提交于 2020-04-25 05:28:42
一、Geomesa - QuickStart(教程工程包) 百度网盘下载地址: geomesa-tutorials-master.7z 二、解压后,IDEA编译如下 百度网盘下载地址: IDEA2018破解版安装 三、根据日期范围查询 1 @Test 2 public void query() throws Exception { 3 4 TDriveData data = new TDriveData("taxi_gps", null ); 5 String configXML = ResourceUtils.getFile("classpath:templates/hbase-bt.xml" ).getAbsolutePath(); 6 Map<String, String> params = new HashMap<> (); 7 params.put("hbase.catalog", "test_osm" ); 8 params.put("hbase.remote.filtering", "false" ); 9 params.put("hbase.config.paths" , configXML); 10 HBaseDataStore dataStore = new HBaseDataStore(params, data, "" ); 11 dataStore