Apache HBase

Hadoop架构原理简介

自作多情 提交于 2019-12-07 09:34:39
一、概念 Hadoop诞生于2006年,是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。 Hadoop与Google一样,都是小孩命名的,是一个虚构的名字,没有特别的含义。从计算机专业的角度看,Hadoop是一个分布式系统基础架构,由Apache基金会开发。Hadoop的主要目标是对分布式环境下的“大数据”以一种可靠、高效、可伸缩的方式处理。 Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。 Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据。 二、组成 1.Hadoop的核心组件 分析:Hadoop的核心组件分为:HDFS(分布式文件系统)、MapRuduce(分布式运算编程框架)、YARN(运算资源调度系统) 2.HDFS的文件系统 HDFS 1.定义 整个Hadoop的体系结构主要是通过HDFS

Kylin集群部署和cube使用

眉间皱痕 提交于 2019-12-07 08:58:39
Kylin集群部署和cube使用 安装集群环境 节点 Kylin节点模式 Ip 内存 磁盘 Node1 All 192.167.71.11 2G 80G Node2 query 192.168.71.12 1.5G 80G Node3 query 192.168.71.13 1.5G 80G Kylin工作原理如下: 集群时间同步 Ntp服务自行设置 安装kylin之前所需要的环境 Hadoop-2.7.4 Hbase-1.4.0 Spark-2.2.0 可选 Zookeepr-3.3.6 Hive-2.1.1 使用mysql存放元数据,远程模式安装 Kylin-2.3.1 Hadoop环境,HBASE,zookeeper还有hive自行安装,集群环境变量如下: ##################HADOOP export HADOOP_HOME=/home/zhouwang/hadoop-2.7.4 export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc

Apche pig计算数据 导入Hbase

允我心安 提交于 2019-12-07 04:00:44
1.pig将数据导入或加载到hbase使用HBaseStorage UDF函数,地址: http://pig.apache.org/docs/r0.11.0/func.html#HBaseStorage 在shell中案例: pig -Dpig.additional.jars=/home/pps_recommend/pig-0.11.0/lib/protobuf-java-2.4.0a.jar -x $varPigMode << EOF recommend_data = LOAD '$recommend_output' as(id:chararray,items:chararray); STORE recommend_data INTO 'hbase://short_video_recommend' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('info:items'); EOF (提示:EOF是将其他应用程序在shell中输出,切记:特别在shell中有if判断语句 EOF要顶格写) 2. STORE [加载pig数据集别名] INTO 'hbase://[HBASE表名]' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('[HBASE列簇]

大数据(HBase-应用场景、原理与基本架构)

天大地大妈咪最大 提交于 2019-12-07 02:24:10
Hbase概述 HBase是一个构建在HDFS上的分布式列存储系统; HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储 从逻辑上讲, HBase将数据按照表、行和列进行存储。 Hbase是Hadoop生态系统的一个组成部分 Hbase与HDFS对比 两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点; HDFS适合批处理场景 不支持数据随机查找 不适合增量数据处理 不支持数据更新 Hbase表的特点 大:一个表可以有数十亿行,上百万列; 无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列; 面向列:面向列(族)的存储和权限控制,列(族)独立检索; 稀疏:对于空( null)的列,并不占用存储空间,表可以设计的非常稀疏; 数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳; 数据类型单一: Hbase中的数据都是字符串,没有类型 行存储与列存储 数据是按行存储的 没有索引的查询使用大量I/O 建立索引需要花费大量时间和资源 数据是按列存储-每一列单独存放 数据即是索引 指访问查询涉及的列-大量降低系统I/O 每一列由一个线索来处理-查询的并发处理 数据类型一致,数据特征相似-高效压缩 Hbase数据模型 HBase是基于Google

Phoenix创建视图和索引--基于HBase

给你一囗甜甜゛ 提交于 2019-12-06 23:00:46
一、HBase shell命令 1. 进入hbase shell # Step1:进入hbase的安装路径的bin目录 cd /home/gulfmoon/apps/hbase-1.2.4/bin # Step2:启动hbase shell hbase shell 启动成功后显示的信息: 2. 查看hbase中所有的表 !list 3. help大法 二、Phoenix创建视图和索引 1. 启动phoenix客户端 # Step1:进入phoenix安装路径的bin目录下 cd /home/gulfmoon/apps/apache-phoenix-4.14.0-HBase-1.2-bin/bin # Step2: 启动phoenix ./start-sqlline.sh 启动成功的界面如下: 2. 查看hbase所有表和phoenix视图和索引清单 !tables 3. help大法 4. 创建视图 # Delete phoenix view DROP VIEW IF EXISTS VIEW_TEST CASCADE; # Create phoenix view CREATE VIEW VIEW_TEST ( ROWKEY VARCHAR PRIMARY KEY, "F1".TEST_ID UNSIGNED_LONG -- F1 is column family ) AS

java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer

五迷三道 提交于 2019-12-06 21:51:56
报错: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer 原因: 在HBase 1.2.X版本及之前的版本HBase是强依赖于protobuf-2.5.0,如果在依赖中引入高版本的protobuf,会造成hbase的各种问题,所以在有HBase的项目中一定要慎重对待protobuf的版本 解决方法: 本地建一个工程将hbase jar包包裹起来,里面指定protobuf版本 <dependencyManagement> <dependencies> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>2.5.0</version> </dependency> <!--[TMS-391] Fix No Such Method Exception when connect HBase --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>12.0.1<

Hadoop架构原理简介

可紊 提交于 2019-12-06 17:28:12
一、概念 Hadoop诞生于2006年,是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop是根据Google公司发表的MapReduce和Google档案系统的论文自行实作而成。 Hadoop与Google一样,都是小孩命名的,是一个虚构的名字,没有特别的含义。从计算机专业的角度看,Hadoop是一个分布式系统基础架构,由Apache基金会开发。Hadoop的主要目标是对分布式环境下的“大数据”以一种可靠、高效、可伸缩的方式处理。 Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。 Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据。 二、组成 1.Hadoop的核心组件 分析:Hadoop的核心组件分为:HDFS(分布式文件系统)、MapRuduce(分布式运算编程框架)、YARN(运算资源调度系统) 2.HDFS的文件系统 HDFS 1.定义 整个Hadoop的体系结构主要是通过HDFS

KYLIN访问远程hive和hbase环境

独自空忆成欢 提交于 2019-12-06 16:37:35
KYLIN访问远程hive和hbase环境 思路:在kylin服务器上配置所需环境的client;包括hadoop,hive,hbase 准备远程hadoop集群,hive环境,hbase环境的配置文件,替换掉对应客户端的配置文件。 Hadoop: Hive: Hbase: 准备与远程环境一致的安装包(用来安装client),解压安装,使用上一步准备的配置文件替换对应安装包中的配置。 配置环境变量 修改kylin 服务器的hosts 文件,以便能够识别hadoop 集群ip 和域名 Kylin 安装配置见博客《Kylin 集群部署与cube 使用》 来源: oschina 链接: https://my.oschina.net/u/3323164/blog/2048767

Hbase Schema 模型设计注意事项及示例

▼魔方 西西 提交于 2019-12-06 12:04:01
一、Hbase 数据模型概述 HBase的数据模型也是由表组成,每一张表里也有数据行和列,但是在HBase数据库中的行和列又和关系型数据库的稍有不同。 表(Table): HBase会将数据组织成一张表,表名必须是能用在文件路径里的合法名字,因为HBase的表是映射成hdfs上面的文件,Hbase的表及表中的数据都是以二进制字节进行存储; 行(Row): 在表里面,每一行都是以一个行键(Row Key)来进行唯一标识的,行键并没有什么特定的数据类型,以二进制的字节来存储。 列族(Column Family): 列族是Hbase Schema定义的一部分,列不是,列族一旦确定后,就不能轻易修改,因为它会影响到HBase真实的物理存储结构,但是列族中的列标识(Column Qualifier)以及其对应的值可以动态增删。表中的每一行都有相同的列族,但是不需要每一行的列族里都有一致的列标识(Column Qualifier)和值,所以说是一种稀疏的表结构,这样可以一定程度上避免数据的冗余; 列标识(Column Qualifier): 列族中的数据通过列标识来进行映射,即为一个键值对,Column Qualifier就是Key,值是value; 单元(Cell): 每一个行键,列族和列标识共同组成一个单元,存储在单元里的数据称为单元数据; 时间戳(Timestamp):

Apache Phoenix介绍(SQL on HBase)

时光总嘲笑我的痴心妄想 提交于 2019-12-06 08:53:36
1. Phoenix定义 Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。 Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。 put the SQL back in NoSQL Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。 HBase的查询工具有很多,如:Hive、Tez、Impala、Spark SQL、Phoenix等。 Phoenix通过以下方式使我们可以少写代码,并且性能比我们自己写代码更好: 将SQL编译成原生的HBase scans。 确定scan关键字的最佳开始和结束 让scan并行执行 ... 使用Phoenix的公司 Paste_Image.png 2. 历史演进 3.0/4.0 release ARRAY Type . 支持标准的JDBC数组类型 Sequences . 支持 CREATE/DROP SEQUENCE, NEXT VALUE FOR,