简介:

1安装 HBase
​   本节介绍HBase的安装方法,包括下载安装文件、配置环境变量、添加用户权限等。

1.1 下载安装文件
   HBase是Hadoop生态系统中的一个组件,但是,Hadoop安装以后,本身并不包含HBase,因此,需要单独安装HBase。

hbase-1.1.5-bin.tar.gz

下载地址:链接:https://pan.baidu.com/s/1Lt8bp3CR3SkW8ZaGriFiWw
             提取码:g048

假设已经下载了HBase安装文件hbase-1.1.5-bin.tar.gz,被放到了Linux系统的“/home/hadoop/下载/”目录下。
   进入下载目录,需要对文件进行解压。按照Linux系统使用的默认规范,用户安装的软件一般都是存放在“/usr/local/”目录下。

$ cd  ~/下载
$ sudo tar -zxf ~/下载/hbase-1.1.5-bin.tar.gz -C /usr/local

​ 将解压的文件名hbase-1.1.5改为hbase,以方便使用,命令如下:

$ sudo mv /usr/local/hbase-1.1.5 /usr/local/hbase

1.2 配置环境变量
​  将HBase安装目录下的bin目录(即/usr/local/hbase/bin)添加到系统的PATH环境变量中,这样,每次启动HBase时就不需要到“/usr/local/hbase”目录下执行启动命令,方便HBase的使用。请使用vim编辑器打开“~/.bashrc”文件,命令如下:

$ vim ~/.bashrc

​ 打开.bashrc文件以后,添加PATH路径时只需要加上":路径"即可,下面这条命令是添加了三条路径,配置的是hadoop和hbasd的启动路径

export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin:/usr/local/hbase/bin

​ 添加后,执行如下命令使设置生效:

$ source ~/.bashrc

1.3 添加用户权限
​ 需要为当前登录Linux系统的hadoop用户(我的用户是msq)添加访问HBase目录的权限,将HBase安装目录下的所有文件的所有者改为msq,命令如下:

$ cd  /usr/local
$ sudo chown -R msq ./hbase

1.4 查看HBase版本信息

可以通过如下命令查看HBase版本信息,以确认HBase已经安装成功:

 $ /usr/local/hbase/bin/hbase version​

2 HBase的配置
​   HBase有三种运行模式,即单机模式、伪分布式模式和分布式模式:
   单机模式:采用本地文件系统存储数据;

伪分布式模式:采用伪分布式模式的HDFS存储数据;

分布式模式:采用分布式模式的HDFS存储数据。

本教程仅介绍单机模式和伪分布式模式。
   在进行HBase配置之前,需要确认已经安装了三个组件:JDK、Hadoop、SSH。

HBase单机模式不需要安装Hadoop,伪分布式模式和分布式模式需要安装Hadoop。

2.1 单机模式配置

2.1.1配置hbase-env.sh文件
   使用vim编辑器打开“/usr/local/hbase/conf/hbase-env.sh”,命令如下:(或者可以直接在文件中用Gre打开)

$ vim /usr/local/hbase/conf/hbase-env.sh

​   打开hbase-env.sh文件以后,需要在hbase-env.sh文件中配置JAVA环境变量。此外,还需要添加Zookeeper配置信息,配置HBASE_MANAGES_ZK为true,表示由 HBase自己管理Zookeeper,不需要单独的Zookeeper,由于hbase-env.sh文件中本来就存在这些变量的配置,因此,只需要删除前面的注释“#”符号并修改配置内容即可,修改后的hbase-env.sh文件应该包含如下两行信息:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HBASE_MANAGES_ZK=true​

修改完成以后,保存hbase-env.sh文件并退出vim编辑器。

2.1.2配置hbase-site.xml文件
   使用vim编辑器打开并编辑“/usr/local/hbase/conf/hbase-site.xml”文件,命令如下:

 $ vim /usr/local/hbase/conf/hbase-site.xml​

在hbase-site.xml文件中,需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,如果没有设置,则hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。这里把hbase.rootdir设置为HBase安装目录下的hbase-tmp文件夹,即“/usr/local/hbase/hbase-tmp”,修改后的hbase-site.xml文件中的配置信息如下:

 <configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/hbase/hbase-tmp</value>
</property>
</configuration>​

保存hbase-site.xml文件,并退出vim编辑器。

2.1.3启动运行HBase现在就可以测试运行HBase,命令如下:

$ cd /usr/local/hbase
$ start-hbase.sh #启动HBase
$ hbase shell #进入HBase shell命令行模式​

进入HBase Shell命令行模式以后,用户可以通过输入Shell命令操作HBase数据库。

​ 2.1.4可以使用如下命令停止HBase运行:

 $ stop-hbase.sh​

2.2 伪分布式配置
   2.2.1配置hbase-env.sh文件
   使用vim编辑器打开“/usr/local/hbase/conf/hbase-env.sh”,命令如下:

$ vim /usr/local/hbase/conf/hbase-env.sh​

打开hbase-env.sh文件以后,需要在hbase-env.sh文件中配置JAVA_HOME、HBASE_CLASSPATH和HBASE_MANAGES_ZK。其中,HBASE_CLASSPATH设置为本机Hadoop安装目录下的conf目录(即/usr/local/hadoop/conf)。JAVA_HOME和HBASE_MANAGES_ZK的配置方法和上面单机模式的配置方法相同。修改后的hbase-env.sh文件应该包含如下三行信息:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_MANAGES_ZK=true​

修改完成以后,保存hbase-env.sh文件并退出vim编辑器

2.2.2配置hbase-site.xml文件
  使用vim编辑器打开并编辑“/usr/local/hbase/conf/hbase-site.xml”文件,命令如下:

 $ vim /usr/local/hbase/conf/hbase-site.xml​

在hbase-site.xml文件中,需要设置属性hbase.rootdir,用于指定HBase数据的存储位置。在HBase伪分布式模式中,是使用伪分布式模式的HDFS存储数据,因此,需要把hbase.rootdir设置为HBase在HDFS上的存储路径,根据Hadoop伪分布式模式的配置可以知道,HDFS的访问路径为“hdfs://localhost:9000/”,因为,这里设置hbase.rootdir为“hdfs://localhost:9000/hbase”。此外,由于采用了伪分布式模式,因此,还需要将属性hbase.cluter.distributed设置为true。修改后的hbase-site.xml文件中的配置信息如下:

 <configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>​

保存hbase-site.xml文件,并退出vim编辑器。

2.2.3启动运行HBase
    首先登陆SSH,由于之前在“Hadoop的安装和使用”中已经设置了无密码登录,因此这里不需要密码。然后,切换至“/usr/local/hadoop”,启动Hadoop,让HDFS进入运行状态,从而可以为HBase存储数据,具体命令如下:

$ ssh localhost
$ cd /usr/local/hadoop
$ start-dfs.sh​

输入命令jps,如果能够看到NameNode、DataNode和SecondaryNameNode这三个进程,则表示已经成功启动Hadoop。
​     然后,启动HBase,命令如下:

$ cd /usr/local/hbash
$ start-hbase.sh​

输入命令jps,如果出现以下进程,则说明HBase启动成功:
Jps、HMaster、HQuorumPeer、NameNode、HRegionServer、SecondaryNameNode、DataNode​

现在就可以进入HBase Shell模式,命令如下:

$ bin/hbase shell  #进入HBase shell命令行模式​

进入HBase shell命令行模式以后,用户可以通过输入shell命令操作HBase数据库。
   停止 运行HBase最后,可以使用如下命令停止HBase运行:

$ stop-hbase.sh​

如果在操作HBase的过程中发生错误,可以查看{HBASE_HOME}目录(即/usr/local/hbase)下的logs子目录中的日志文件,来寻找可能的错误原因。
​   关闭HBase以后,如果不再使用Hadoop,就可以运行如下命令关闭Hadoop:

$ cd /usr/local/hadoop
$ stop-dfs.sh

最后需要注意的是,启动关闭Hadoop和HBase的顺序一定是:启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop。

3 HBase常用Shell命令
​   在使用具体的Shell命令操作HBase数据之前,需要首先启动Hadoop,然后再启动HBase,并且启动HBase Shell,进入Shell命令提示符状态,具体命令如下:

$ cd /usr/local/hadoop
$ start-dfs.sh
$ cd /usr/local/hbase
$ start-hbase.sh

3.1在HBase中创建表
​   假设这里要创建一个表student,该表包含Sname、Ssex、Sage、Sdept、course等字段。需要注意的是,在关系型数据库(比如MySQL)中,需要首先创建数据库,然后再创建表,但是,在HBase数据库中,不需要创建数据库,只要直接创建表就可以。在HBase中创建student表的Shell命令如下:

hbase> create 'student','Sname','Ssex','Sage','Sdept','course'

对于HBase而言,在创建HBasae表时,不需要自行创建行健,系统会默认一个属性作为行键,通常是把put命令操作中跟在表名后的第一个数据作为行健。
​   创建完“student”表后,可通过describe命令查看“student”表的基本信息,命令如下:

hbase>describe ‘student’

可以使用list命令查看当前HBase数据库中已经创建了哪些表,命令如下:

hbase> list

3.2 添加数据
​   HBase使用put命令添加数据,一次只能为一个表的一行数据的一个列(也就是一个单元格,单元格是HBase中的概念)添加一个数据,所以,直接用Shell命令插入数据效率很低,在实际应用中,一般都是利用编程操作数据。因为这里只要插入1条学生记录,所以,我们可以用Shell命令手工插入数据,命令如下:

hbase> put 'student','95001','Sname','LiYing'

​   上面的put命令会为student表添加学号为'95001'、名字为'LiYing'的一个单元格数据,其行键为95001,也就是说,系统默认把跟在表名student后面的第一个数据作为行健。
​   下面继续添加4个单元格的数据,用来记录LiYing同学的相关信息,命令如下:

hbase> put 'student','95001','Ssex','male'
hbase> put 'student','95001','Sage','22'
hbase> put 'student','95001','Sdept','CS'
hbase> put 'student','95001','course:math','80'

3.3 查看数据
​  HBase中有两个用于查看数据的命令:
  get命令:用于查看表的某一个单元格数据;scan命令:用于查看某个表的全部数据。比如,可以使用如下命令返回student表中95001行的数据:

hbase> get 'student','95001'

使用scan命令查询student表的全部数据:

hbase> scan 'student'

3.4 删除数据
​   在HBase中用delete以及deleteall命令进行删除数据操作,二者的区别是:delete命令用于删除一个单元格数据,是put的反向操作,而 deleteall命令用于删除一行数据。
   首先,使用delete命令删除student表中95001这行中的Ssex列的所有数据,命令如下:

hbase > delete 'student','95001','Ssex'

然后,使用deleteall命令删除student表中的95001行的全部数据,命令如下:

hbase> deleteall 'student','95001'

3.5 删除表
​  删除表需要分两步操作,第一步先让该表不可用,第二步删除表。比如,要删除student表,可以使用如下命令:

hbase> disable 'student'
hbase> drop 'student'

3.6 查询历史数据
​  在添加数据时,HBase会自动为添加的数据添加一个时间戳。在修改数据时,HBase会为修改后的数据生成一个新的版本(时间戳),从而完成“改”操作,旧的版本依旧保留,系统会定时回收垃圾数据,只留下最新的几个版本,保存的版本数可以在创建表的时候指定。
​  为了查询历史数据,这里创建一个teacher表,首先,在创建表的时候,需要指定保存的版本数(假设指定为5),命令如下:

hbase> create 'teacher',{NAME=>'username',VERSIONS=>5}

然后,插入数据,并更新数据,使其产生历史版本数据,需要注意的是,这里插入数据和更新数据都是使用put命令,具体如下:

hbase> put 'teacher','91001','username','Mary'
hbase> put 'teacher','91001','username','Mary1'
hbase> put 'teacher','91001','username','Mary2'
hbase> put 'teacher','91001','username','Mary3'
hbase> put 'teacher','91001','username','Mary4'
hbase> put 'teacher','91001','username','Mary5'​

查询时,默认情况下回显示当前最新版本的数据,如果要查询历史数据,需要指定查询的历史版本数,由于上面设置了保存版本数为5,所以,在查询时制定的历史版本数的有效取值为1到5,具体命令如下:

hbase> get 'teacher','91001',{COLUMN=>'username',VERSIONS=>5}
hbase> get 'teacher','91001',{COLUMN=>'username',VERSIONS=>3}​

3.7 退出HBase数据库
​  最后退出数据库操作,输入exit命令即可退出,命令如下:

hbase> exit

注意,这里退出HBase数据库是退出HBase Shell,而不是停止HBase数据库后台运行,执行exit后,HBase仍然在后台运行。

4 HBase编程实践
​   https://www.cnblogs.com/msq2000/p/11904568.html

Hbase的安装与基本操作的更多相关文章

  1. HBase的安装、配置与实践

    本教程运行环境是在Ubuntu-64位系统下,HBase版本为hbase-1.1.2,这是目前已经发行的已经编译好的稳定的版本,带有src的文件是未编译的版本,这里我们只要下载bin版本hbase-1 ...

  2. Hadoop、Zookeeper、Hbase分布式安装教程

    参考: Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0   Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS ZooKeeper-3.3 ...

  3. Hbase的安装(hadoop-2.6.0,hbase1.0)

    Hbase的安装相对很简单啊...只要你装了Hadoop 装Hbase就是分分钟的事 如果要装hadoop集群的话 hadoop分类的集群安装好了,如果已经装好单机版~ 那就再配置如下就好~ 一.vi ...

  4. Hbase的安装测试工作

    Hbase的安装测试工作: 安装:http://www.cnblogs.com/neverwinter/archive/2013/03/28/2985798.html 测试:http://www.cn ...

  5. HBase 的安装与配置

    实验简介 本次实验学习和了解 HBase 在不同模式下的配置和安装,以及 HBase 后续的启动和停止等. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shi ...

  6. HBase的安装与使用

    1.安装 由于还是学习阶段,所以没有在生产环境练习,就在本地建了个虚拟机进行HBase的安装. 下载地址http://www.apache.org/dyn/closer.cgi/hbase/,选择一个 ...

  7. HBASE的安装

    HBASE的安装: 安装的软件版本:hbase-0.98.4-hadoop2.tar.gz 下载链接:http://www.apache.org/dist/hbase/hbase-0.98.4/ 1. ...

  8. 一、Hbase的安装

    一.Hbase配置 这个是我从网上找的一个版本,网上说配置成功. 先决条件: (1)hadoop的版本与hbase的版本要对应,主要是hadoop目录下的hadoop-core-1.0.4.jar的版 ...

  9. Hbase单机安装部署

    Hbase单机安装部署 http://blogxinxiucan.sh1.newtouch.com/2017/07/27/Hbase单机安装部署/ 下载Hbase Hbase官网下载地址 http:/ ...

随机推荐

  1. 关于《自动化测试实战宝典:Robot Framework + Python从小工到专家》

    受新冠疫情影响,笔者被“困”在湖北老家七十余天,于4月1号(愚人节)这天,终于返回到广州.当前国内疫情基本已趋于平稳,但全球疫情整体势态仍在持续疯涨,累计确诊病例已近80万人.祈祷这场全球性灾难能尽早 ...

  2. 1.用eclipse创建maven工程

    第一步.File→New→Maven Project (需要下载安装配置Maven等,这些步骤省略) (找不到的话选Other,里面的Maven文件夹里有) 二.记得勾选上,然后点Next 三.填完点 ...

  3. sql MariaDB 安装contos

    安装和运行MySQL数据库(MariaDB) centos 平台 1.安装和运行 yum install mariadb mariadb-server - 安装 systemctl start mar ...

  4. 如何获取 bing 每日壁纸(超高清版)

    目录 需求描述 实现方式 简单粗暴 如何下载 如何更高清 排坑指南 初级 优点 给有好奇心的孩子 进阶 接口 自动保存 网站集成 爬虫 需求描述 必应作为一个在壁纸圈做搜索引擎最优秀的站点,其每日壁纸 ...

  5. 详细解析kafka之 kafka消费者组与重平衡机制

    消费组组(Consumer group)可以说是kafka很有亮点的一个设计.传统的消息引擎处理模型主要有两种,队列模型,和发布-订阅模型. 队列模型:早期消息处理引擎就是按照队列模型设计的,所谓队列 ...

  6. 2019NYIST计科第四次周赛

    YZJ的牛肉干 Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做 YZJ的大佬,在共同的集训生活中,大家建立了深厚的友谊, YZJ准备做点什么来纪念这段激情燃烧 ...

  7. 在vue+elementUI项目中使用分页功能

    HTML: <div class="mRttt">         <!-- 分页 -->          <el-pagination       ...

  8. 个推push数据统计(爬虫)

    该方案基于任务调度框架Gearman,采用Python开发的分布式数据统计系统. 项目的目录结构很简单: # apple at localhost in ~/Develop/getui [11:24: ...

  9. DVWA系列精品教程:2、命令注入

    文章更新于:2020-04-11 注:如何搭建环境参见:搭建DVWA Web渗透测试靶场 DVWA之命令注入漏洞 一.介绍 1.1.官方说明 1.2.总结 二.命令注入实践 2.1.安全级别:LOW ...

  10. 过滤器filter学习进度一

    过滤器filter他的理解是: filter是对客户端访问资源的过滤,符合条件放行,不符合条件的不放行,并且可以对目标资源访问的前后进行逻辑处理. 快速入门: 1.编写一个过滤器的类实现filter接 ...