HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,HBase的安装到数据库表的操作.包含内容1.HBase单例安装2.HBase伪分布式安装(基于Hadoop的HDFS)过程,3.HBase的shell编程,对HBase表的创建,

HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,HBase的安装到数据库表的操作.包含内容1.HBase单例安装2.HBase伪分布式安装(基于Hadoop的HDFS)过程,3.HBase的shell编程,对HBase表的创建,删除等的命令,HBase对数据的增删查等操作.4.简单概述了Hbase的架构体系.5.zookeeper的单例安装和常用操作.

1.HBase单例安装

1.1下载

1.2.解压并放置特定路径如 /opt

wxl@wxl-pc:~/Downloads$ sudo mv hbase /opt/

1.3.设置JAVA_HOME 环境变量

(注意,如果本机已经设置好JAVA_HOME系统变量则此不步骤不是必须的)进入到hbase路径下

/opt/hbase
wxl@wxl-pc:/opt/hbase$ vim conf/hbase-env.sh
#增加JAVA_HOME路径,根据自己jdk安装位稍有不同
export JAVA_HOME=/opt/java/

1.4.编辑conf/hbase-site.xml

HBase默认存储在/tmp路径下,可是每次机器重启,/tmp下的数据会被清除,所以首席那应该更改存储路径,如存在/home/wxl 路径下,并且会创建新的hbase文件夹(如果没有安装zookeeper,没关系,不影响在开发和测试环境下的HBase使用)

wxl@wxl-pc:/opt/hbase$ vim conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/wxl/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/wxl/zookeeper</value>
  </property>
</configuration>

这里写图片描述

1.5.启动HBase

wxl@wxl-pc:/opt/hbase$ bin/start-hbase.sh

这里写图片描述

2.HBase的shell命令操作

2.1连接HBase shell

wxl@wxl-pc:/opt/hbase$ ./bin/hbase shell

这里写图片描述
可以通过输入help命令,来大致了解可以输入命令和Hbase存储的数据结构

2.2.创建表

必须输入表名和列族名(ColumnFamily name)

hbase(main):002:0> create 'test','cf'

这里写图片描述

2.3.查看表

hbase(main):003:0> list 'test'
TABLE                                                                           
test                                                                            
1 row(s) in 0.0320 seconds

=> ["test"]

2.4.给表赋值

hbase(main):004:0> put 'test', 'wangxiaolei', 'cf:a', 'wov@outlook.com'
0 row(s) in 0.2010 seconds

hbase(main):005:0> put 'test', '王小雷','cf:b;','bio get it done'
0 row(s) in 0.0120 seconds

hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0240 seconds

这里写图片描述

2.5.对列表计数

使用scan关键字
这里写图片描述

2.6.查询列表中某行

如查询第二行,输入

hbase(main):009:0> get 'test','王小雷'

这里写图片描述

2.7.更改表(删除,修改表)

在更改表之前需要将表的状态更改为disable,在更改完之后可以enable

hbase(main):009:0> disable 'test'
0 row(s) in 2.5870 seconds

hbase(main):010:0> enable 'test'
0 row(s) in 1.2680 seconds

hbase(main):011:0> disable 'test'
0 row(s) in 2.2370 seconds

在test表为 disable 状态下,删除test表

hbase(main):012:0> drop 'test'
0 row(s) in 1.2590 seconds

2.8.退出shell并停止HBase

在shell中使用quit命令(或者exit),可以退出hbase shell,但是hbase仍在运行
输入jps可以查看HMaseter守护程序还在
这里写图片描述
使用stop-hbase.sh退出hbase

wxl@wxl-pc:/opt/hbase$ ./bin/stop-hbase.sh
stopping hbase.......

stopping

3.HBase伪分布式安装

如果没有安装Hadoop请安装伪分布式的Hadoop教程如下Ubuntu16.04安装Hadoop2.6+Spark1.6+开发实例

首先停止2HBase(2.8.退出shell并停止HBase)

3.1.配置伪分布式的hbase-site.xml文件

设置distributed为true,是为了让jvm模拟集群,再者是修改数据保存路径,放置到HDFS上,配置rootdir,其中hdfs://localhost:9000根据自己hadoop配置指定(也可能是hdfs://localhost:8020/hbase)(但是可以不配至,HBase会自动寻找HDFS路径)

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>


  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:9000/hbase</value>
  </property>

3.2.启动HBase

wxl@wxl-pc:/opt/hbase$ ./bin/start-hbase.sh

3.3.在HDFS上查看HBase文件

wxl@wxl-pc:/opt/hbase$ hadoop fs -ls /hbase

ls hbase

3.4.HBase上的数据操作,创建表,赋值,删除表等见步骤1.2-1.5

4.HBase的HRegionServer和HMaster及架构体系图

4.1此时使用jps(我开启来hadoop,spark,hbase)

可见,HBase的HRegionServer和HMaster已经开启.

wxl@wxl-pc:/opt/hbase$ jps
18065 Master
17795 NodeManager
19379 HRegionServer
17331 DataNode
17669 ResourceManager
17511 SecondaryNameNode
19255 HMaster
19991 Jps
17177 NameNode
19181 HQuorumPeer
18206 Worker
18607 SparkSubmit

这里写图片描述

4.2.关于HBase的HRegionServer和HMaster是什么,什么样的体系结构,如下图.

这里写图片描述

5.1 ZooKeeper-3.4.8安装+常用操作实践

版本ZooKeeper-3.4.8 系统Ubuntu16.04
5.1.创建conf/zoo.cfg

wxl@wxl-pc:/opt/zookeeper$ cp conf/zoo_sample.cfg conf/zoo.cfg
查看zookeeper配置信息
(注意此处为了测试所以dataDir=/tmp/zookeeper,这里每次重启计算机数据就会丢失,如果保留可以放入其他路径,如/home/wxl/zookeeper)

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

其中,
- tickTime
- tickTime是ZooKeeper的毫秒级计量单位,表示正常的会话时间,如果超过设置值的两倍就会连接超时.
- dataDir
- 设置HBase的路径用于保存内存数据快照和更新数据库事务的日志.
- clientPort
- 设置监听连接客户端的接口

5.2. 执行zookeeper

开启zookeeper

wxl@wxl-pc:/opt/zookeeper$ bin/zkServer.sh start

这里写图片描述
连接zookeeper

wxl@wxl-pc:/opt/zookeeper$ bin/zkCli.sh -server 127.0.0.1:2181

这里写图片描述

5.3. zookeeper基本命令

[zk: 127.0.0.1:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
    stat path [watch]
    set path data [version]
    ls path [watch]
    delquota [-n|-b] path
    ls2 path [watch]
    setAcl path acl
    setquota -n|-b val path
    history
    redo cmdno
    printwatches on|off
    delete path [version]
    sync path
    listquota path
    rmr path
    get path [watch]
    create [-s] [-e] path data acl
    addauth scheme auth
    quit
    getAcl path
    close
    connect host:port

5.3.1. ls查看路径下有那些文件(在zoo.cfg设置的的参数datadir)

查看

#如果没安装HBase此处只显示zookeeper
[zk: 127.0.0.1:2181(CONNECTED) 1] ls /

这里写图片描述
5.3.2.HBase创建Znode为zk_test_wangxiaolei

[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test_wangxiaolei my_data

这里写图片描述

5.3.3.验证(查看)zk_test_wangxiaolei节点下数据

[zk: 127.0.0.1:2181(CONNECTED) 3] get /zk_test_wangxiaolei
my_data
cZxid = 0x66
ctime = Mon Aug 01 22:06:36 CST 2016
mZxid = 0x66
mtime = Mon Aug 01 22:06:36 CST 2016
pZxid = 0x66
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0

这里写图片描述

5.3.4.set命令来改变某(如zk_test_wangxiaolei)节点下的数据

[zk: 127.0.0.1:2181(CONNECTED) 4] set /zk_test_wangxiaolei junk
cZxid = 0x66
ctime = Mon Aug 01 22:06:36 CST 2016
mZxid = 0x69
mtime = Mon Aug 01 22:29:46 CST 2016
pZxid = 0x66
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0

这里写图片描述

再次get节点zk_test_wangxiaolei可以看到数据已经改变

5.3.5.最后删除测试节点

[zk: 127.0.0.1:2181(CONNECTED) 5] delete /zk_test_wangxiaolei      
[zk: 127.0.0.1:2181(CONNECTED) 6] ls /
[zookeeper, hbase]
[zk: 127.0.0.1:2181(CONNECTED) 7]
相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
5月前
|
分布式计算 Hadoop Shell
93 hbase安装
93 hbase安装
50 0
|
1月前
|
SQL 关系型数据库 MySQL
Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
【2月更文挑战第9天】Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
89 7
|
24天前
|
运维 Linux Apache
LAMP架构调优(三)——模块的安装与调用
LAMP架构调优(三)——模块的安装与调用
9 0
|
1月前
|
存储 Java Linux
Linux安装HBase的详细教程及常用方法
Linux安装HBase的详细教程及常用方法
75 1
|
1月前
|
数据中心
ZooKeeper基本架构
【2月更文挑战第25天】
|
1月前
|
架构师 算法 关系型数据库
数据库架构师之道:MySQL安装与系统整合指南
数据库架构师之道:MySQL安装与系统整合指南
44 0
|
2月前
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
92 0
|
3月前
|
Kubernetes 容器
ChaosBlade的Helm安装双架构主要包括以下步骤
【1月更文挑战第22天】【1月更文挑战第109篇】ChaosBlade的Helm安装双架构主要包括以下步骤
114 1
|
3月前
|
存储 分布式计算 Java
HDFS的数据读取流程是怎样的?请描述数据读取的过程。
HDFS的数据读取流程是怎样的?请描述数据读取的过程。
25 0
|
3月前
|
Java API
HDFS的数据写入流程是怎样的?请描述数据写入的过程。
HDFS的数据写入流程是怎样的?请描述数据写入的过程。
20 0