Apache HBase

【Hadoop篇07】Hadoop集群脚本编写

廉价感情. 提交于 2020-08-12 11:04:19
积极乐观的态度是解决任何问题和战胜任何困难的第一步 Hadoop集群脚本编写 编写分发文件脚本 应用场景如下:比如有三台主机master1,slave1,slave2 如果简历完全分布式的集群就需要将文件从master1拷贝到slave从机上 那么可以使用rsync命令分发单个文件,也可以使用如下脚本分发文件夹或者文件 #!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 # $#代表获得命令行参数个数 pcount=$# if((pcount==0)); then echo no args; exit; fi #2 获取文件名称 # $1代表获得命令行第一个参数 p1=$1 fname=`basename $p1` echo fname=$fname #3 获取上级目录到绝对路径 pdir=`cd -P $(dirname $p1); pwd` echo pdir=$pdir #4 获取当前用户名称 user=`whoami` #5 rsync命令可以分发文件到指定主机 # 这里slave就是从机的机名 for((host=1; host<3; host++)) do echo ------------------- slave$host -------------- rsync -rvl $pdir/$fname $user@slave$host:$pdir

KETTLE实现邮件告警

扶醉桌前 提交于 2020-08-12 10:10:11
一、需求说明 Kettle作业执行完成并发送成功信息邮件通知数据装载成功。 二、启动kettle 双击 Spoon.bat 就能启动 kettle 。 三、创建作业 说明:本次测试是基于之前的转换案例“案例一”进行创建,主要是通过抽取数据进行映射后,然后装载到数据库中。 1.新建一个作业 2.从左侧依次拖动 START 、转换、邮件通知、成功到右侧,并用线连接起来 3.双击“邮件”进行设置,在“地址”页签输入“收件人地址”、“发件人”相关信息。 4.对“服务器”页签进行设置之前需要先对新浪邮件服务器进行设置。登录163邮箱,打开设置,可以看到POP3/SMTP/IMAP: 5.开启客户端授权码设置,需要发短信进行验证 设置授权码,在kettle上面登录使用就是输入下面的密码,而不是输入登录密码 设置服务器,SMTP服务器和端口根据邮箱来设置,此处以163邮箱为例 设置邮件消息,可以设置日期、消息主题等。 设置附件,设置附件之前需要先对转换进行设置,设置日志地址和名称。右击转换,选择“编辑作业入口”。 设置日志文件名和路径、后缀名,选择日志级别。 设置附件,勾选“带附件”,文件类型选择“日志” 至此,该任务创建完成,点击运行,完成后登录邮箱查看邮件如下所示: 注意:想要学习通过kettle工具实现hadoop、hive、hbase数据库抽取输出,和其他更多关于kettle的知识

BigData:大数据的简介、核心知识(linux基础+Java/Python编程语言+Hadoop+Docker)、经典场景应用之详细攻略

不羁的心 提交于 2020-08-12 08:43:58
BigData:大数据的简介、核心知识(linux基础+Java/Python编程语言+Hadoop+Docker)、经典场景应用之详细攻略 BigData:大数据简介及以Hadoop生态系统为基础带你了解大数据必须掌握的那些知识(HDFS、HBase、Hive,Spark等等) 导读 : 大数定理 告诉我们,在试验不变的条件下,重复试验多次, 随机事件的频率近似于它概率 。“有规律的随机事件”在大量重复出现的条件下,往往呈现几乎必然的统计特性。 大数据的主要价值—— 辅助决策 。利用大数据分析,能够 总结经验、发现规律、预测趋势 ,这些都可以为辅助决策服务。 只有掌握的数据信息越多,人类的决策才能更加科学、精确、合理 。 目录 大数据简介 1、大数据的单位 2、大数据的5V特点——Volume、Velocity、Variety、Value、Veracity 3、大数据的价值体现 4、大数据与云计算密不可分 以Hadoop生态系统为基础带你了解大数据必须掌握的那些知识 大数据技术应用场景 1、经典应用场景 大数据核心技术 1、linux基础 2、编程语言——Java、Python 3、分布式存储框架——Hadoop生态系统+列式存储数据库HBase 4、资源调度框架——Docker 推荐文章 BigData之Hadoop:Hadoop的简介、深入理解、下载、案例应用之详细攻略

爬虫数据库存储之关系型与非关系型

柔情痞子 提交于 2020-08-12 07:32:35
对于爬虫来说这些东西都是一些比较基础常识的东西,但为了记录自己的学习之路,所以简略的写下本文。 什么是数据库? 数据库是存放数据的仓库。它的存储空间很大,可以存放大量数据。用户可以对文件中的数据进行新增、查询、更新、删除等操作。 分为关系型数据库、非关系型数据库,如 MySQL、MongoDB、HBase 等,常用的库有 pymysql、pymssql、redis-py、pymongo、py2neo、thrift。 什么是关系型数据库? 关系型数据库是基于关系模型的数据库,而关系模型是通过二维表保存的,所以它的存储方式就是行列组成的表。 每一列是一个字段,每一行是一条记录。表可以看作某个实体的集合,而实体之间存在联系,就需要表与表之间的关联关系来体现。关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”) 关系型数据库的优势: 1. 复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。 什么是非关系型数据库? 非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库 关系型数据库的优势: 1. 复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。 2. 事务支持

「从零单排HBase 11」HBase二级索引解决方案

孤者浪人 提交于 2020-08-12 06:58:14
HBase一个令人惋惜的地方,就是不支持二级索引。因此,社区有了很多补充方案来填补HBase的二级索引能力的缺陷。 今天,我们就来看看有哪些二级索引方案,通过对比各个方案的优缺点,并结合我们的具体场景做出二级索引方案选型。 1.为什么需要二级索引 HBase系统单纯从解决大数据实时读写问题角度出发,重点关注于分布式存储的扩展性、容错性、读写性能等方面,为此也牺牲了很多传统关系型数据库的功能,比如事务,SQL表达与分析等。 实际上,这是NoSQL最初的含义,以解决大数据的实时存取为首要目标,提供简单的Get,Put,Scan接口,解决用户的大数据量存储的需求。因此,HBase完全是一个非常优秀的大数据实时存取引擎,解决了传统数据库的容量问题。 就目前官方的HBase系统来说,并不支持二级索引,只有rowkey作为一级索引, 如果要对库里的非rowkey字段进行数据检索和查询, 往往要通过MapReduce/Spark等分布式计算框架进行,硬件资源消耗和时间延迟都会比较高。 为了HBase的数据查询更高效、适应更多的场景, 诸如使用非rowkey字段检索也能做到秒级响应,或者支持各个字段进行模糊查询和多字段组合查询等, 因此需要在原生HBase基础上构建二级索引, 以满足现实中更复杂多样的业务需求。一般有以下三类方案: 基于HBase的Coprocessor的方案

十亿级数据ES搜索怎么优化

∥☆過路亽.° 提交于 2020-08-12 05:10:49
脉脉原文链接 面试问题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候,是5~10s,后面反而就快了,可能就几百毫秒。 你就很懵,每个用户第一次访问都会比较慢,比较卡么?所以你要是没玩儿过 es,或者就是自己玩玩儿 demo,被问到这个问题容易懵逼,显示出你对 es 确实玩儿的不怎么样? 面试题剖析 说实话,es 性能优化是没有什么银弹的,啥意思呢?就是不要期待着随手调一个参数,就可以万能的应对所有的性能慢的场景。也许有的场景是你换个参数,或者调整一下语法,就可以搞定,但是绝对不是所有场景都可以这样。 性能优化的杀手锏——filesystem cache 你往 es 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 filesystem cache 里面去。 es 的搜索引擎严重依赖于底层的 filesystem cache,你如果给 filesystem cache 更多的内存,尽量让内存可以容纳所有的 idx segment file 索引数据文件

如何正确管理HBase的连接

≯℡__Kan透↙ 提交于 2020-08-12 04:18:40
本文将介绍HBase的客户端连接实现,并说明如何正确管理HBase的连接。 最近在搭建一个HBase的可视化管理平台,搭建完成后发现不管什么查询都很慢,甚至于使用api去listTable都要好几秒。 经过一番排查发现,是每次请求的时候,都去临时创建了一个connection,而创建connection非常耗时导致整体的rt上升。 因此,就深入了解了下如何正确管理HBase的connection,同时,也在优化过程中有些小细节的总结。 本文基于hbase 2.0.0版本的源码,github上3.0版本的源码已经有很大差异了,但是思想还是差不多的 1.HBase-client和HBase是如何连接的? 这个问题实际上在我之前的文章 深入HBase读写 中介绍过。 当HBase-client第一次请求读写的时候,需要三步走: 1)HBase-client从zk中获取保存meta table的位置信息,知道meta table保存在了哪个region server,然后缓存这个位置信息; 2)HBase-client会查询这个保存meta table的特定的region server,查询meta table信息,在table中获取自己想要访问的row key所在的region在哪个region server上。 3)客户端直接访问目标region server,获取对应的row 所以

OpenTSDB 数据存储详解

回眸只為那壹抹淺笑 提交于 2020-08-12 00:40:37
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/qayKiwk5QAIWI7-nyD3FVA 作者:DuZhimin 随着互联网、尤其是物联网的发展,我们需要把各种类型的终端实时监测、检查与分析设备所采集、产生的数据记录下来,在有时间的坐标中将这些数据连点成线,往过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。 这些数据的典型特点是: 产生频率快 (每一个监测点一秒钟内可产生多条数据)、 严重依赖于采集时间 (每一条数据均要求对应唯一的时间)、 测点多信息量大 (实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。 基于时间序列数据的特点,关系型数据库无法满足对时间序列数据的有效存储与处理,因此迫切需要一种专门针对时间序列数据来做优化处理的数据库系统。 一、简介 1、时序数据 时序数据是基于时间的一系列的数据。 2、时序数据库 时序数据库就是存放时序数据的数据库,并且需要支持时序数据的快速写入、持久化、多纬度的聚合查询等基本功能。 对比传统数据库仅仅记录了数据的当前值,时序数据库则记录了所有的历史数据。同时时序数据的查询也总是会带上时间作为过滤条件。 3、OpenTSDB 毫无遗漏的接收并存储大量的时间序列数据。 3.1、存储

总结:ZooKeeper

元气小坏坏 提交于 2020-08-12 00:21:38
一、ZooKeeper数据模型 从图中我们可以看出ZooKeeper的数据模型,在结构上和标准文件系统的非常相似,都是采用这种树形层次结构, ZooKeeper树中的每个节点被称为—Znode 。和文件系统的目录树一样,ZooKeeper树中的每个节点可以拥有子节点。但也有不同之处: (1) 引用方式   Zonde通过 路径引用 ,如同Unix中的文件路径。 路径必须是绝对的 ,因此他们必须由斜杠字符来开头。 除此以外,他们 必须是唯一的,也就是说每一个路径只有一个表示,因此这些路径不能改变 。在ZooKeeper中,路径由Unicode字符串组成,并且有一些限制。字符串"/zookeeper"用以保存管理信息,比如关键配额信息。 (2) Znode结构   ZooKeeper命名空间中的 Znode,兼具文件和目录两种特点。既像文件一样维护着数据、元信息、ACL、时间戳等数据结构,又像目录一样可以作为路径标识的一部分。 图中的每个节点称为一个Znode。 每个 Znode由3部分组成 :    ① stat :此为状态信息, 描述该Znode的版本, 权限等信息    ② data :与该Znode关联的数据    ③ children :该Znode下的子节点   ZooKeeper虽然可以关联一些数据,但并没有被设计为常规的数据库或者大数据存储,相反的是,它用来

kylin -- 快速入门概述

心不动则不痛 提交于 2020-08-11 23:47:43
1.快速入门概述 1.1 Kylin 定义 Apache Kylin 是一个开源的分布式 分析引擎 ,提供 Hadoop/Spark 之上的 SQL 查询接口 及多维分析(OLAP )能力以支持超大规数据,最初由 eBay Inc 开发并贡献至开源社区。 它能在亚秒内查询巨大的 Hive 表。 1.2 Kylin 特点 Kylin 的主要特点包括支持 SQL 接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI 工具集成等。 1 ) 标准 SQL 接口: Kylin 是以标准的 SQL 作为对外服务的接口。 2 ) 支持超大数据集: Kylin 对于大数据的支撑能力可能是目前所有技术中最为领先的。 早在 2015 年 eBay 的生产环境中就能支百 亿记录的秒级查询,之后在移动的应用场景中又有了千亿记录秒级查询的案例。 3 ) 亚秒级响应: Kylin 拥有优异的查询相应速度,这点得益于 预计算 ,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需的计算量, 提高了响应速度。 4 ) 可伸缩性和高吞吐率: 单节点 Kylin 可实现每秒 70 个查询,还可以搭建 Kylin 的集群。 5 ) BI 工具集成 Kylin 可以与现有的 BI 工具集成,具体包括如下内容。 ODBC :与 Tableau 、 Excel 、 PowerBI