HBase基础和伪分布式安装配置
一、HBase(NoSQL)的数据模型
1.1 表(table),是存储管理数据的。
1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定
1.3 列族(column family),列的集合。
一张表中有多个行健,一个行健读取出来的是一条记录,列族和MySQL中的列差不多,但是它是列的集合
HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
HBase表中的数据存储在本地磁盘上的时候,每个列族单独一个作为文件存储。
上图表示HBase中表的一行
和关系型数据库不同的是
关系型数据库一行中每一个列的值只能是一个,如:
UserId UserName
1 JChubby
而在NoSql中,一行里面某一个列的值可能是多个的,如上图,或者:
UserId UserName
1 JChubby
Looky
其中省略了timestamp时间戳这一列,但是在NoSql中读取这一行数据的出来时,数据应该是和关系型数据库读出来的是差不多的
时间戳列起到了标识列数据版本的作用,当没有指定时间戳的时候默认取的是最新的列数据,具体请参照上图
1.4 存储的数据都是字节数组。
二、HBase的物理模型
2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。
2.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。
如:在一个有1W行健的表中,每2K个行健拆分成一个region分别存储在不同的节点中,每个region记录着行健的起始位置和最终位置[startkey,endkey]
许多个region存储在region server(单独的物理机器)中的。
这样,对表的操作转化为对多台region server的并行查询。
HBase中有两种特殊的表,分别是-ROOT和.META
.META中记录着各个region的起止行健,当.META中的记录很大时,又会按照相同的规则拆分成不同的region记录中-ROOT表中
如上图所示,当要查询数据时,先找-ROOT表中记录的region信息,找到对应的.META表中的region,在到实际的节点上的region查询数据
三、HBase的体系结构
3.1 HBase是主从式结构,HMaster、HRegionServer
四、HBase伪分布安装
HBase的安装是是建立在hadoop和zookeeper集群之上的
安装时确保hadoop和zookeeper集群已安装成功并启动
4.1 解压缩、重命名、设置环境变量
把hbase-0.94.2-security.tar.gz复制到/home/hadoop
解压hbase-0.94.2-security.tar.gz与重命名
#cd /home/hadoop
#tar -zxvf hbase-0.94.2-security.tar.gz
#mv hbase-0.94.2-security hbase
修改/etc/profile文件。
#vi /etc/profile
增加
export HBASE_HOME=/home/hadoop/hbase
修改
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin
保存退出
#source /etc/profile
4.2 修改$HBASE_HOME/conf/hbase-env.sh,修改内容如下:
export JAVA_HOME=/usr/java/jdk1.6.0_45
export HBASE_MANAGES_ZK=true
第一个配置java环境变量
第二个配置在本机器上的HBase可以自己启动zookeeper和使用
4.2 修改$HBASE_HOME/conf/hbase-site.xml,修改内容如下:
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
hbase.rootdir配置在hdfs文件系统上hbase存储的路径
hbase.cluster.distributed配置是否是分布式的
hbase.zookeeper.quorum配置zookeeper在哪个节点上
dfs.replication配置副本个数
注意:hbase.rootdir的主机和端口号与hadoop的配置文件core-site.xml的fs.default.name的主机和端口号一致
4.3 (可选)文件regionservers的内容为master,该文件记录regionserver的各个节点的主机名,因为是伪分布式安装,所只写一个,localhost或者主机名都可以
4.4 启动hbase,在bin目录下执行命令start-hbase.sh
******启动hbase之前,确保hadoop是运行正常的,并且可以写入文件*******
4.5 验证是否安装成功:
(1)执行jps,发现新增加了3个java进程,分别是HMaster、HRegionServer、HQuorumPeer
(2)使用浏览器访问http://master:16010,可以进入和hadoop类似的web管理页面
HBase基础和伪分布式安装配置的更多相关文章
- 吴超老师课程--Hbase介绍和伪分布式安装
1.HBase(NoSQL)的数据模型1.1 表(table),是存储管理数据的.1.2 行键(row key),类似于MySQL中的主键. 行键是HBase表天然自带的.1.3 列族(col ...
- hbase 2.0.2 分布式安装配置/jar包替换
环境 zk: 3.4.10 hadoop 2.7.7 jdk8 hbase 2.0.2 三台已安装配置好的hadoop002,hadoop003,hadoop004 1.上传并解压hbase-2.1. ...
- hadoop2.5的伪分布式安装配置
一.windows环境下安装 根据博主写的一次性安装成功了: http://blog.csdn.net/antgan/article/details/52067441 二.linux环境下(cento ...
- Hadoop 伪分布式安装配置
- 【hadoop之翊】——基于CentOS的hadoop2.4.0伪分布安装配置
今天总算是把hadoop2.4的整个开发环境弄好了,包括 windows7上eclipse连接hadoop,eclipse的配置和測试弄得烦躁的一逗比了~ 先上一张成功的图片,hadoop的伪分布式安 ...
- 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装 ...
随机推荐
- Trilateration三边测量定位算法
转载自Jiaxing / 2014年2月22日 基本原理 Trilateration(三边测量)是一种常用的定位算法: 已知三点位置 (x1, y1), (x2, y2), (x3, y3) 已知未知 ...
- B树和B+树
当数据量大时,我们如果用二叉树来存储的会导致树的高度太高,从而造成磁盘IO过于频繁,进而导致查询效率下降.因此采用B树来解决大数据存储的问题,很多数据库中都是采用B树或者B+树来进行存储的.其目的就是 ...
- JSON字符串——后台解析系列
以前我们都是讲JSON字符串获取后,在前台进行展示.今天小编就交给大家后台解析展示数据的方法.非常方便,就以下代码: JObject obj = JObject.Parse(data); string ...
- shell读取文件内容
Shell脚本,执行解释速度快.代码简单易于理解.在shell代码编写过程中,经常会用到读取文件内容. 写法一: ------------------------------------ ...
- SpringMVC学习--异常处理器
简介 springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑. 异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeExc ...
- linux 设置日志编码
打开linux的设置面板 在Appearance选项->Character encoding 设置为UTF-8
- Shell配置_配置IP
1.setup 打开图形化页面 a) 选择网络配置 b) 选择设置配置 c) 选择第一个网卡 2.启动网卡(第一个网卡) vim /etc/sysconfig/network-s ...
- mysql优化基础
唯一索引(unique index)强调唯一,就是索引值必须唯一. create unique index [索引名] on 表名 (列名);alter table 表名 add unique ind ...
- 国外有哪些比较好的IT社区
作者:匿名用户链接:https://www.zhihu.com/question/35373320/answer/114468522来源:知乎著作权归作者所有,转载请联系作者获得授权. Github ...
- Cell右滑的动作状态
//允许cell可以进行编辑 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)index ...