Hbase入门教程和分布式的安装部署
我们一般什么时候用Hbase呢?
Hadoop关于海量数据的存储有一个组件叫文件系统,当我们需要随机访问文件系统的某一条数据的时候数据是非常慢的,发杂度也比较高,就算是通过madreduce也一样很慢。
那么,Hbase和他有什么区别呢?Hbase是一个分布式的数据库(Nosql数据库不支持sql语法,支持的查询功能很简单,但是数据的结构很灵活),数据库用来阻止组织数据的,然后通过某一种格式转换成一个文件。可以高速随机的去访问某一数据。Hbase中的数据最终要保存成文件,最终存放在hdfs中
Hbase的表结构:
Hbase的安装(apache的软件的安装基本都是解压之后修改配置文件就可以了)
1.上传hbase安装包
安装包下载地址:
2.解压安装包
3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了)
cd 到Hbase里面
(注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下)
3.1修改hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_55
(可使用echo $JAVA_HOME查看java的路径)
//Hbase有自己内部的zk,如果要告诉hbase使用外部的zk需要配置
export HBASE_MANAGES_ZK=false
vim hbase-site.xml
<configuration><!-- 指定hbase在HDFS上存储的路径,新建一个HBASE文件存放数据 --><property><name>hbase.rootdir</name><value>hdfs://ns1/hbase</value></property><!-- 指定hbase是分布式的 --><property><name>hbase.cluster.distributed</name><value>true</value></property><!-- 指定zk的地址,多个用“,”分割 --><property><name>hbase.zookeeper.quorum</name><value>weekend05:2181,weekend06:2181,weekend07:2181</value></property>
</configuration>
(因为Hbase是一个集群,所以我们要知道这个集群节点有哪一些角色)
(安装的时候由一个文件指定了regionservers有哪一些,因为regionservers主要是用来管理表数据的,而表数据又是存放在hdfs的,而datanade又是存储数据的,所以从节点放在和datanate一起,这样存储数据的时候就不用经过网络了)
vim regionservers(列出来从节点)
weekend03
weekend04
weekend05
weekend06
要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下,否侧无法识别ns1是什么
3.2拷贝hbase到其他节点
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend02:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend03:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend04:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend05:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend06:/weekend/
4.将配置好的HBase拷贝到每一个节点并同步时间。
5.启动所有的hbase
分别启动zk
./zkServer.sh start
启动hdfs集群
start-dfs.sh
启动hbase,在主节点上运行:
start-hbase.sh
6.通过浏览器访问hbase管理页面
192.168.1.201:60010
在bin下./hbase shell打开命令行界面
**基本操作命令(hbase没有库的概念,只有表):
list一下可以查看创建的表
统计数据的条数:count ‘user_info’
插入数据:(插入数据,hbase会对数据进行自动排序,行之间按照行键进行字典顺序排序,列祖内部,kv对之间按照key字典顺序排列)
查看:scan 表名
get
条件查询:(比较的条件是通过二进制去比较的)
7.为保证集群的可靠性,要启动多个HMaster
hbase-daemon.sh start master
Hbase的吞吐量是很大的,并发量也是很大的,原因是他的大多数热的数据都是放在内存之中的,过一段时间会把访问的少的数据从内存中删除。hbase存进来的数据只有一种类型,二进制的数组byte数组(在命令行进去的时候是会把二进制的数据转成相应的格式)
region的大小可以在配置文件里配置,向Hbase插入数据的时候实际上是往region中存入数据,当region太大的时候是会进行切分的
图片内容解读:
首先是有一个活跃的HMaster管理着这些regionserver,regionserver实际上存储的是建立的那些表的reegion,HLog相当于是记录元数据,Store是存储数据的单元,一个region里有多个store(表中的一个列族就是一个store,每一个store里面都有一个Memstore,相当于一个内存的缓存,这这个store的热数据放到Memstore里面去,所以客户端去查数据的时候是先查Memstore里面的)
——-Hbase的寻址机制
寻址什么意思呢?
查询的时候想要找到某一条数据首先要找到它是在哪一个region,这个时候有一个Meta表去记录哪一行到哪一行在哪一个region,当Meta表很大的时候也需要分布式存储了,那么这个时候我们应该还有一个root表去记录Meta表,而root表只存放在一台regionServer机器上
所以寻址的时候:先找Root表—>再找Meta表—>最后找到region
Hbase入门教程和分布式的安装部署相关推荐
- 一条数据的HBase之旅,简明HBase入门教程-开篇
常见的HBase新手问题: 什么样的数据适合用HBase来存储? 既然HBase也是一个数据库,能否用它将现有系统中昂贵的Oracle替换掉? 存放于HBase中的数据记录,为何不直接存放于HDFS之 ...
- 【Hbase】HBase入门教程
入门好文章研读: <一条数据的HBase之旅,简明HBase入门教程-开篇>:https://blog.csdn.net/nosqlnotes/article/details/796470 ...
- 一条数据的HBase之旅,简明HBase入门教程-Write全流程
如果将上篇内容理解为一个冗长的"铺垫",那么,从本文开始,剧情才开始正式展开.本文基于提供的样例数据,介绍了写数据的接口,RowKey定义,数据在客户端的组装,数据路由,打包分发, ...
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
- Mininet教程(二):Mininet安装部署
<Mininet教程(一):Mininet基本介绍> <Mininet教程(二):Mininet安装部署> <Mininet教程(三):Mininet命令操作> & ...
- PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)
PIC单片机入门教程(二)-- 安装集成开发环境(MPLAB X IDE) 教程中使用的电脑运行Windows 10 专业版 64位系统 1.下载 MPLAB X IDE v4.05 历史版本:htt ...
- Kafka教程(一)基础入门:基本概念、安装部署、运维监控、命令行使用
Kafka教程(一)基础入门 1.基本概念 背景 领英->Apache 分布式.消息发布订阅系统 角色 存储系统 消息系统 流处理平台-Kafka Streaming 特点 高吞吐.低延迟 cg ...
- hadoop+HBase+ZooKeeper+Hive完全分布式集群部署安装
本文源自:https://www.cnblogs.com/linxizhifeng/p/7207655.html 1. 系统环境 1.1. 软件版本 下表为本系统环境所安装的软件的版 ...
- 一条数据的HBase之旅,简明HBase入门教程1:开篇
[摘要] 这是HBase入门系列的第1篇文章,主要介绍HBase当前的项目活跃度以及搜索引擎热度信息,以及一些概况信息,内容基于HBase 2.0 beta2版本.本系列文章既适用于HBase新手,也 ...
最新文章
- 还在头秃自己的转录组数据怎么处理画图发文章,不如来看看这个
- python什么时候进入中国-python诞生于什么时候
- python游戏编程入门-python游戏编程入门
- oracle:集合查询
- shell脚本逻辑判断,文件目录属性判断,if,case用法
- vuecli3配置webpack_vue CLI3的优化
- 【网络知识点】防火墙主备冗余技术
- 【双100%解法】剑指 Offer 24. 反转链表
- 爬动的蠕虫(C++)
- 明年起网剧可参评白玉兰奖 你期待哪部网剧上榜?
- 【数据库】期末考试、考研复试、工作面试总结
- Qt4_内置的窗口部件类和对话框类
- 2.跳转到指定的位置
- springmvc+druid+dataSource配置的两种方式
- 喜大普奔,FL Studio终于出官方中文版了!
- 金蝶K3数据库表名对应及表说明
- multisim10元件库介绍
- 周志华----机器学习
- 跟我学AngularJs:Directive指令用法解读(上)
- 10年后的GOOGLE会怎么样