前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系

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

作者头像
王小雷
发布2018-01-02 15:46:01
1.5K0
发布2018-01-02 15:46:01
举报
文章被收录于专栏:王小雷王小雷

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

代码语言:javascript
复制
wxl@wxl-pc:~/Downloads$ sudo mv hbase /opt/

1.3.设置JAVA_HOME 环境变量

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

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

1.4.编辑conf/hbase-site.xml

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

代码语言:javascript
复制
wxl@wxl-pc:/opt/hbase$ vim conf/hbase-site.xml
代码语言:javascript
复制
<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

代码语言:javascript
复制
wxl@wxl-pc:/opt/hbase$ bin/start-hbase.sh
这里写图片描述
这里写图片描述

2.HBase的shell命令操作

2.1连接HBase shell

代码语言:javascript
复制
wxl@wxl-pc:/opt/hbase$ ./bin/hbase shell
这里写图片描述
这里写图片描述

可以通过输入help命令,来大致了解可以输入命令和Hbase存储的数据结构

2.2.创建表

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

代码语言:javascript
复制
hbase(main):002:0> create 'test','cf'
这里写图片描述
这里写图片描述

2.3.查看表

代码语言:javascript
复制
hbase(main):003:0> list 'test'
TABLE                                                                           
test                                                                            
1 row(s) in 0.0320 seconds

=> ["test"]

2.4.给表赋值

代码语言:javascript
复制
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.查询列表中某行

如查询第二行,输入

代码语言:javascript
复制
hbase(main):009:0> get 'test','王小雷'
这里写图片描述
这里写图片描述

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

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

代码语言:javascript
复制
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表

代码语言:javascript
复制
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

代码语言:javascript
复制
wxl@wxl-pc:/opt/hbase$ ./bin/stop-hbase.sh
stopping hbase.......
stopping
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路径)

代码语言:javascript
复制
<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

代码语言:javascript
复制
wxl@wxl-pc:/opt/hbase$ ./bin/start-hbase.sh

3.3.在HDFS上查看HBase文件

代码语言:javascript
复制
wxl@wxl-pc:/opt/hbase$ hadoop fs -ls /hbase
ls hbase
ls hbase

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

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

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

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

代码语言:javascript
复制
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)

代码语言:javascript
复制
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

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

5.2. 执行zookeeper

开启zookeeper

代码语言:javascript
复制
wxl@wxl-pc:/opt/zookeeper$ bin/zkServer.sh start
这里写图片描述
这里写图片描述

连接zookeeper

代码语言:javascript
复制
wxl@wxl-pc:/opt/zookeeper$ bin/zkCli.sh -server 127.0.0.1:2181
这里写图片描述
这里写图片描述

5.3. zookeeper基本命令

代码语言:javascript
复制
[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)

查看

代码语言:javascript
复制
#如果没安装HBase此处只显示zookeeper
[zk: 127.0.0.1:2181(CONNECTED) 1] ls /
这里写图片描述
这里写图片描述

5.3.2.HBase创建Znode为zk_test_wangxiaolei

代码语言:javascript
复制
[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test_wangxiaolei my_data
这里写图片描述
这里写图片描述

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

代码语言:javascript
复制
[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)节点下的数据

代码语言:javascript
复制
[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.最后删除测试节点

代码语言:javascript
复制
[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]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.HBase单例安装
    • 1.1下载
      • 1.2.解压并放置特定路径如 /opt
        • 1.3.设置JAVA_HOME 环境变量
          • 1.4.编辑conf/hbase-site.xml
            • 1.5.启动HBase
            • 2.HBase的shell命令操作
              • 2.1连接HBase shell
                • 2.2.创建表
                  • 2.3.查看表
                    • 2.4.给表赋值
                      • 2.5.对列表计数
                        • 2.6.查询列表中某行
                          • 2.7.更改表(删除,修改表)
                            • 2.8.退出shell并停止HBase
                            • 3.HBase伪分布式安装
                              • 3.1.配置伪分布式的hbase-site.xml文件
                                • 3.2.启动HBase
                                  • 3.3.在HDFS上查看HBase文件
                                    • 3.4.HBase上的数据操作,创建表,赋值,删除表等见步骤1.2-1.5
                                    • 4.HBase的HRegionServer和HMaster及架构体系图
                                      • 4.1此时使用jps(我开启来hadoop,spark,hbase)
                                        • 4.2.关于HBase的HRegionServer和HMaster是什么,什么样的体系结构,如下图.
                                        • 5.1 ZooKeeper-3.4.8安装+常用操作实践
                                          • 5.2. 执行zookeeper
                                            • 5.3. zookeeper基本命令
                                              • 5.3.1. ls查看路径下有那些文件(在zoo.cfg设置的的参数datadir)
                                              • 5.3.3.验证(查看)zk_test_wangxiaolei节点下数据
                                              • 5.3.4.set命令来改变某(如zk_test_wangxiaolei)节点下的数据
                                              • 5.3.5.最后删除测试节点
                                          相关产品与服务
                                          数据库
                                          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档