hbase

hbase java代码增删查改

心不动则不痛 提交于 2020-02-28 05:03:26
package com.zapoul; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * Created with IDEA * author:zapoul * Date:2020/2/27 * Time:16:44 */ public class HBaseUtil { public static Configuration conf; static{ //使用HBaseConfiguration的单例方法实例化 conf = HBaseConfiguration.create(); } /** * 判断表是否存在 * @param tableName * @return * @throws MasterNotRunningException * @throws ZooKeeperConnectionException * @throws

Hbase 2.2.1 单机版安装教程

試著忘記壹切 提交于 2020-02-27 13:07:45
系统环境:centos7 软件:jdk-8u151-linux-x64.rpm 、hbase2.2.1 1. 下载hbase-2.2.1到服务器 # 切换到home目录下 cd /home # 将文件下载至当前目录 wget http://archive.apache.org/dist/hbase/2.2.1/hbase-2.2.1-bin.tar.gz 2. 下载jdk1.8并上传到服务器 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 安装jdk: npm -ivh jdk-8u151-linux-x64.rpm 3. 配置hbase环境变量 # 编辑文件 vi /etc/profile export HBASE_HOME = /home/hbase-2.2.1 export PATH = $PATH : $HBASE_HOME /bin # 使配置立即生效 source /etc/profile 4. 修改hbase-env.sh文件 # 编辑文件 vi /home/hbase-2.2.1/conf/hbase-env.sh # 在文件中加入如下内容: export JAVA_HOME = /home/jdk1.8.0_191 export HBASE_CLASSPATH =

如何将Hive与HBase整合联用

谁都会走 提交于 2020-02-27 09:32:21
版本说明: HDP:3.0.1.0 Hive:3.1.0 HBase:2.0.0 一、前言 之前学习 HBase 就有疑惑,HBase 虽然可以存储数亿或数十亿行数据,但是对于数据分析来说,不太友好,只提供了简单的基于 Key 值的快速查询能力,没法进行大量的条件查询。 不过,Hive 与 HBase 的整合可以实现我们的这个目标。不仅如此,还能通过 Hive 将数据批量地导入到 HBase 中。 <!--more--> Hive 与 HBase 整合的实现是利用两者本身对外的 API 接口互相通信来完成的,其具体工作交由 Hive 的 lib 目录中的 hive-hbase-handler-xxx.jar 工具类来实现对 HBase 数据的读取。 二、适用场景 Hive 与 HBase 整合的适用场景: **1、**通过 Hive 与 HBase 整合,可以将 HBase 的数据通过 Hive 来分析,让 HBase 支持 JOIN、GROUP 等 SQL 查询语法。 **2、**实现将批量数据导入到 HBase 表中。 三、依赖条件 需要有以下依赖,ambari 已经为我们做好了这一切: 已有 HDFS、MapReduce、Hive、Zookeeper、HBase 环境。 确保 Hive 的 lib 目录下有 hive-hbase-handler-xxx.jar

hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。这里包含我们使用到的组件:HDFS, YARN, Hbase, Hive, ZooKeeper:

自闭症网瘾萝莉.ら 提交于 2020-02-27 02:14:41
组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传输 HDFS DataNode 50075 dfs.datanode.http.address http服务的端口 HDFS DataNode 50475 dfs.datanode.https.address https服务的端口 HDFS DataNode 50020 dfs.datanode.ipc.address ipc服务的端口 HDFS NameNode 50070(9870) dfs.namenode.http-address http服务的端口 HDFS NameNode 50470 dfs.namenode.https-address https服务的端口 HDFS NameNode 8020 fs.defaultFS 接收Client连接的RPC端口,用于获取文件系统metadata信息。 HDFS journalnode 8485 dfs.journalnode.rpc-address RPC服务 HDFS journalnode 8480 dfs.journalnode.http-address HTTP服务 HDFS ZKFC 8019 dfs.ha.zkfc.port ZooKeeper

HBase基准性能测试报告

蓝咒 提交于 2020-02-27 01:18:19
作者:范欣欣 本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。本篇文章主要介绍此次测试的基本条件,HBase在各种测试场景下的性能指标(主要包括单次请求平均延迟和系统吞吐量)以及对应的资源利用情况,并对各种测试结果进行分析。 测试环境 测试环境包括测试过程中HBase集群的拓扑结构、以及需要用到的硬件和软件资源,硬件资源包括:测试机器配置、网络状态等等,软件资源包括操作系统、HBase相关软件以及测试工具等。 集群拓扑结构 本次测试中,测试环境总共包含4台SA5212H2物理机作为数据存储。生成数据的YCSB程序与数据库并不运行在相同的物理集群。 单台机器主机硬件配置 软件版本信息 测试工具 YCSB全称Yahoo! Cloud Serving Benchmark,是Yahoo公司开发的专门用于NoSQL测试的基准测试工具。github地址:https://github.com/brianfrankcooper/YCSB YCSB支持各种不同的数据分布方式 1. Uniform:等概论随机选择记录 2. Zipfian:随机选择记录,存在热记录 3. Latest:近期写入的记录为热记录 测试场景 YCSB为HBase提供了多种场景下的测试,本次测试中,我们导入10亿条数据,并对如下场景进行测试:

HBase基准性能测试报告

元气小坏坏 提交于 2020-02-27 01:17:31
作者:范欣欣 本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。本篇文章主要介绍此次测试的基本条件,HBase在各种测试场景下的性能指标(主要包括单次请求平均延迟和系统吞吐量)以及对应的资源利用情况,并对各种测试结果进行分析。 测试环境 测试环境包括测试过程中HBase集群的拓扑结构、以及需要用到的硬件和软件资源,硬件资源包括:测试机器配置、网络状态等等,软件资源包括操作系统、HBase相关软件以及测试工具等。 集群拓扑结构 本次测试中,测试环境总共包含4台SA5212H2物理机作为数据存储。生成数据的YCSB程序与数据库并不运行在相同的物理集群。 单台机器主机硬件配置 软件版本信息 测试工具 YCSB全称Yahoo! Cloud Serving Benchmark,是Yahoo公司开发的专门用于NoSQL测试的基准测试工具。github地址:https://github.com/brianfrankcooper/YCSB YCSB支持各种不同的数据分布方式 1. Uniform:等概论随机选择记录 2. Zipfian:随机选择记录,存在热记录 3. Latest:近期写入的记录为热记录 测试场景 YCSB为HBase提供了多种场景下的测试,本次测试中,我们导入10亿条数据,并对如下场景进行测试:

Hbase知识总结

主宰稳场 提交于 2020-02-27 00:58:50
HBASE的出现 在大数据环境下,mysql无法满足海量的数据的存储。所以HDFS,出现了,但是HDFS无法解决结构化的数据的处理方案,HDFS虽然能存,但是上述的结构,HDFS是处理不了的。所以: HBase出现了 另外,HBase的原型是Google的BigTable论文。HBase是一个 /*高可靠性、高性能、面向列、可伸缩的分布式存储系统*/ ,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群,基于Hadoop。 结构化数据 具有固定的结构,属性划分,以及类型等信息。我们通常所理解的关系型数据库中所存储的数据信息,大多是结构化数据, 如职工信息表,拥有ID、Name、Phone、Address等属性信息。 半结构化数据 具有一定的结构,但又有一定的灵活可变性。典型如XML、HTML等数据。其实也是非结构化数据的一种。 非结构化数据 无法用统一的结构来表示。如文本文件、图像、视频、声音、网页等信息。 HBASE表的特点 大:一个表中可以有数十亿行,上百万列 无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列 面向列:面向列存储和权限控制 稀疏:空列并不占用存储空间,可以设计的非常稀疏 数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入的时间戳 数据类型单一

熟悉常用的HBase操作

扶醉桌前 提交于 2020-02-26 23:49:10
1. 实验目的和要求 1.1 实验目的 理解HBase在Hadoop体系结构中的角色; 熟练使用HBase操作常用的Shell命令; 熟悉HBase操作常用的Java API。 1.2 实验软硬件环境 操作系统:Linux(建议Ubuntu18.04); Hadoop版本:3.2.1; HBase版本:2.1.1; JDK版本:1.11; Java IDE:Eclipse 4.3。 1.3 实验要求 (一)编程实现以下指定功能,并用Hadoop提供的HBase Shell命令完成相同任务: (1)列出HBase所有的表的相关信息,例如表名; (2)在终端打印出指定的表的所有记录数据; (3)向已经创建好的表添加和删除指定的列族或列; (4)清空指定的表的所有记录数据; (5)统计表的行数。 (二)HBase数据库操作 现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据: 学生表(Student) 学号(S_No) 姓名(S_Name) 性别(S_Sex) 年龄(S_Age) 2015001 Zhangsan male 23 2015003 Mary female 22 2015003 Lisi male 24 课程表(Course) 课程号(C_No) 课程名(C_Name) 学分(C_Credit) 123001 Math 2.0

Hbase读写原理

依然范特西╮ 提交于 2020-02-26 13:28:10
1 hbase读取数据流程 1)Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息; 2)根据namespace、表名和rowkey在meta表中找到对应的region信息; 3)找到这个region对应的regionserver; 4)查找对应的region; 5)先从MemStore找数据,如果没有,再到BlockCache里面读; 6)BlockCache还没有,再到StoreFile上读(为了读取的效率); 7)如果是从StoreFile里面读取的数据,不是直接返回给客户端,而是先写入BlockCache,再返回给客户端。 2 写数据流程 1)Client向HregionServer发送写请求; 2)HregionServer将数据写到HLog(write ahead log)。为了数据的持久化和恢复; 3)HregionServer将数据写到内存(MemStore); 4)反馈Client写成功。 来源: CSDN 作者: 含笑戏红尘 链接: https://blog.csdn.net/weixin_43599377/article/details/104514795

Hbase数据备份案例讲解

℡╲_俬逩灬. 提交于 2020-02-26 02:39:48
HBase的数据备份 1.1 基于HBase提供的类对表进行备份 使用HBase提供的类把HBase中某张表的数据导出到HDFS,之后再导出到测试hbase表中。 (1) ==从hbase表导出到HDFS== [hadoop@node01 shells]$ hbase org.apache.hadoop.hbase.mapreduce.Export myuser /hbase_data/myuser_bak (2) ==文件导入hbase表== hbase shell中创建备份目标表 create 'myuser_bak','f1','f2' 将HDFS上的数据导入到备份目标表中 hbase org.apache.hadoop.hbase.mapreduce.Driver import myuser_bak /hbase_data/myuser_bak/* 补充说明 以上都是对数据进行了全量备份,后期也可以实现表的 增量数据备份 ,增量备份跟全量备份操作差不多,只不过要在后面加上时间戳。 例如: HBase数据导出到HDFS hbase org.apache.hadoop.hbase.mapreduce.Export test /hbase_data/test_bak_increment 开始时间戳 结束时间戳 1.2 基于snapshot快照对表进行备份