Hbase学习记录(1)|伪分布式安装
概述
Hbase –Haddop Database 是一个高性能,高可靠性、面向列、可伸缩的分布式存储系统。
Hbase利用HDFS作为文件存储系统,利用MapReduce来处理Hbase的海量数据,利用Zookeeper作为协调工具。
是NoSQL的一种。
数据模型

表(table),是用来存储管理数据的,是在schema声明的时候定义
行健(row key),类似于MySQL中的主键,与MySQL不同的是Hbase表天然自带的。
可以是字符串、整数、二进制串、串行化的结构。
按照字典顺序由低到高存储在表中的。
列族(column family),列的集合,在Hbase中列族需要在定义表时指定的,列是在插入记录时动态添加的。Hbase表中的数据,每个列族单独一个文件。
Cells ,A{row,column,version}元组就是一个Hbase中的一个cell。内容是不可分割的字节数组。
时间戳(timestamp),列(也称作标签、修饰符)的一个属性。行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。如果不指定时间戳或者版本,默认取最新的数据。
Version,用一个长整型表示,是当前时间和1970-01-01的时间差,单位毫秒。
存储的数据都是字节数组。
存储顺序,表中的数据是按照行健的顺序物理存储的,关系型数据库是按照插入顺序存储的。
逻辑数据模型
数据模型的一行:
表按照行键的“逐字节排序”顺序对行进行有序化处理。
表内数据非常‘稀疏’,不同的行的列的数完全目可以大不相同。
可以只对一行上”锁“。
对行的写操作始终是”原子“的。
数据模型一列
列比较用‘族’famliy来定义。
任意一列形式:”族:标签”,其中,族和标签都可为任意形式的串。
物理上将同“族”数据存储在一起。
数据可以用通过时间戳区分版本。
物理数据模型

物理模型

Hbase是适合海量数据(PB)的秒级简单查询的数据库。
Hbase中的记录,按照行键进行拆分,拆分成一个个的region。
region存储在region server(单独的物理机器)中的,这样对表的操作转化为对多台region server中。
region的大小设置参数:hbase.hregion.max.filesize
体系架构
Hbase是主从式结构,Hmaster、HregionServer。
Client包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如region的位置信息。
Zookeeper
保证任何时候,急群众只有一个运行的Master
存储所有Reion的寻址入口。
实时监控Region Server的状态,将Region Server的上下线信息实时通知给Master
存储Hbase的schema,包括有哪些table,每个table有哪些column family。
Master Server
可以启动多个Hmaster,通过Zookeeper的MasterElection机制保证总有一个Master运行。
负责Region Server分配region。
负责region server的负载均衡。
发现失效的region server并重新分配其上的region。
Region Server
负责Master分配给它的region,处理对这些region的IO请求。
负责切分在运行过程中变得过大的region。
总结:client访问hbase上数据的过程并不需要master参与,寻址访问zookeeper和region server数据读写访问region server。HregionServer主要负责响应用户I/O请求,向HDFS文件系统读写数据,是Hbase中最核心的模块。
Hbase初始化表
Hbase中有两张特殊的Table,-ROOT-和.META.
.META.: 记录了用户表中的Region信息,.META.可以用多个region。
-ROOT-:记录了.META.表中的Region信息,-ROOT-只有一个region。
Zookeeper中记录了-ROOT-表中的location。
Client访问用户数据之前首先访问Zookeeper,然后访问-ROOT-表,接着访问.META.表,最后才能找到用户数据的位置去访问。

Hbase伪分布安装
1、解压、更改目录名
tar –zxvf hbase-xxx.tar.gz –C /usr/src
cp –r hbase-xxx/ /usr/local/hbase
2、配置环境变量,执行立即生效
vi /etc/profile
export HBASE_HOME=/usr/local/hbase
PATH中添加:$HBASE_HOME/bin
source /etc/profile 立即生效
3、修改配置文件
hbase-env.sh
export /usr/local/jdk
export HBASE_MANAGES_ZK=true
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://h1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>h1</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
注意:hbase.rootdir设置的主机名和端口必须与hadoop的dfs.default.name的主机名端口设置一致。
冗余master时:需要在conf中创建back-masters文件中添加master主机名。
4、文件regionservers(可选)
内容为主机名,如 h1
5、启动
启动hbase之前,确保hadoop是运行正常的。
start-hbase.sh
6、jps检验
4749 HMaster
4914 HRegionServer
4681 HquorumPeer
Hbase学习记录(1)|伪分布式安装的更多相关文章
- HBase基础和伪分布式安装配置
一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...
- HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系
HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,H ...
- hbase伪分布式安装(单节点安装)
hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart 1. 前提配置好java,环境java变量 上传jdk ...
- Hbase伪分布式安装
前面的文章已经讲过hadoop伪分布式安装,这里直接介绍hbase伪分布式安装. 1. 下载hbase 版本hbase 1.2.6 2. 解压hbase 3. 修改hbase-env.sh 新增如下内 ...
- Hadoop生态圈-hbase介绍-伪分布式安装
Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...
- 第二章 伪分布式安装hadoop hbase
安装单机模式的hadoop无须配置,在这种方式下,hadoop被认为是一个单独的java进程,这种方式经常用来调试.所以我们讲下伪分布式安装hadoop. 我们继续上一章继续讲解,安装完先试试SSH装 ...
- 指导手册02:伪分布式安装Hadoop(ubuntuLinux)
指导手册02:伪分布式安装Hadoop(ubuntuLinux) Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...
- 一.Kylin的伪分布式安装
一.伪分布式安装kylin 2018年4月15日 15:06 安装需要的环境 1. hadoop集群环境:由于安装的是CDH5.14.0的版本,所以相关组件都是跟5.14.0相关 2. spark采用 ...
- Hadoop大数据初入门----haddop伪分布式安装
一.hadoop解决了什么问题 hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量mapreduce 解决了海量数据的分析处理,通用性强,易开发,健壮性 yarn 解决了资源管理调度 二. ...
- Hadoop开发第3期---Hadoop的伪分布式安装
一.准备工作 1. 远程连接工具的安装 PieTTY 是在PuTTY 基础上开发的,改进了Putty 的用户界面,提供了多语种支持.Putty 作为远程连接linux 的工具,支持SSH 和telne ...
随机推荐
- MapReduce读取hdfs上文件,建立词频的倒排索引到Hbase
Hdfs上的数据文件为T0,T1,T2(无后缀): T0: What has come into being in him was life, and the life was the light o ...
- 虚拟机 linux系统如何安装vmware Tools
1.打开VMware Workstation虚拟机,开启CentOS系统 虚拟机-安装VMware Tools 登录CentOS终端命令行 2.mkdir /media/mnt #新建挂载目录 ...
- 8.cadence.CIS[原创]
一.CIS数据库配置 ------ ---------------------------- --------------- ------------------ ---- 二.CIS放置元件 --- ...
- [转]深入hibernate的三种状态
学过hibernate的人都可能都知道hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),大家伙也许也知道这三者之间的区别 ...
- httpClient.execute之后一直等待
可能的原因就是之前执行过一次execute,但是没有释放资源. hrp = httpClient.execute(req); //这句释放资源 hrp.getEntity().consumeConte ...
- JVM工作原理
作为一种阅读的方式了解下jvm的工作原理 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JV ...
- UVa 10891 (博弈+DP) Game of Sum
最开始的时候思路就想错了,就不说错误的思路了. 因为这n个数的总和是一定的,所以在取数的时候不是让自己尽可能拿的最多,而是让对方尽量取得最少. 记忆化搜索(时间复杂度O(n3)): d(i, j)表示 ...
- 51nod1201 整数划分
01背包显然超时.然后就是一道神dp了.dp[i][j]表示j个数组成i的方案数.O(nsqrt(n)) #include<cstdio> #include<cstring> ...
- 20160128.CCPP体系详解(0007天)
以下内容有所摘取,进行了某些整理和补充 论浮点数的存储原理:float浮点数与double浮点数的二进制存储原理–>阶码 浮点数转二进制 1.整数int类型和浮点数float类型都是占用4个字节 ...
- (一)线性回归与特征归一化(feature scaling)
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系.回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题 ...