文章目录
一. 实验目的
掌握HBASE单机部署、伪分布部署技术。
二. 实验内容
1)基于ubuntukylin14.04(5)版本,完成HBASE单机式配置,形成ubuntukylin14.04(6)版本。
2)基于ubuntukylin14.04(6)版本,完成HBASE伪分布式配置,形成ubuntukylin14.04(7)版本。
3)基于ubuntukylin14.04(7)版本,完成HBASE SHELL命令练习。
参考:http://dblab.xmu.edu.cn/blog/install-hbase/
三. 实验步骤及结果分析
1. 基于ubuntukylin14.04(5)版本,完成HBASE单机式配置部署
版本说明:ubuntukylin14.04(5)=hadoop集群(hadoop2.6.0版本)
注:HBase官方下载地址为:http://archive.apache.org/dist/hbase/
1.1 下载安装HBase
HBase的版本一定要和Hadoop的版本相兼容,否则会报错。(例如我用的是Hadoop2.6.0+HBase1.1.2)
在官网下载的HBase会被保存到用户主目录的下载目录中。在终端输入sudo tar -zxf ~/下载/hbase-1.1.2-bin.tar.gz -C /usr/local
命令将HBase解压安装到/usr/local目录中。输入sudo mv /usr/local/hbase-1.1.2 /usr/local/hbase
命令将解压后的HBase文件改名为hbase。输入sudo chown -R mcf14 /usr/local/hbase
命令将hbase文件权限归mcf14用户所有。
1.2 配置HBase环境变量
在终端输入vim ~/.bashrc
命令打开环境变量配置文件,在其中输入下边一行内容后保存退出,输入source ~/.bashrc
命令使其生效。
export PATH=$PATH:/usr/local/hbase/bin
1.3 检查HBase
在终端输入hbase version
命令查看HBase是否安装成功,输出HBase版本信息则为安装成功。
1.4 HBase单机模式配置
HBase单机模式需要配置hbase-env.sh
和hbase-site.xml
两个文件,在hbase-env.sh中配置Java路径和配置由HBase自己管理ZooKeeper;在hbase-site.xml中配置指定HBase数据的存储位置。
输入vim /usr/local/hbase/conf/hbase-env.sh
命令打开hbase-env.sh文件,在其中添加以下两行内容后保存退出。
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_281
export HBASE_MANAGES_ZK=true
输入vim /usr/local/hbase/conf/hbase-site.xml
命令打开hbase-site.xml文件,将末尾改为以下内容后保存退出。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/hbase/hbase-tmp</value>
</property>
</configuration>
1.5 启动HBase
在终端输入start-hbase.sh
命令启动HBase,输入hbase shell
命令可以打开HBase的shell命令行模式,输入exit
命令可以退出shell命令行模式,输入stop-hbase.sh
命令可以关闭HBase。
2. 基于ubuntukylin14.04 (6)版本,完成HBASE伪分布式配置部署
版本说明:ubuntukylin14.04 (6)=hadoop集群(hadoop2.6.0版本)+hbase单机式(hbase1.1.2版本)
2.1 配置hbase-env.sh文件
输入vim /usr/local/hbase/conf/hbase-env.sh
命令打开hbase-env.sh文件,添加下边一行内容后保存退出,内容是Hadoop安装目录下的conf目录。
export HBASE_CLASSPATH=/usr/local/hadoop/conf
2.2 配置hbase-site.xml文件
输入vim /usr/local/hbase/conf/hbase-site.xml
命令打开hbase-site.xml文件,将末尾改为以下内容后保存退出,其中属性hbase.rootdir指定HBase数据在HDFS上的存储路径;属性hbase.cluster.distributed设置为true表示HBase运行模式是分布式。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://K1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
2.3 运行HBase
首先要输入start-dfs.sh
命令启动Hadoop集群,然后输入start-hbase.sh
命令启动HBase,在K1和K2分别输入jps
命令查看进程,启动成功。
注:启动关闭Hadoop和HBase的顺序应为启动Hadoop→启动HBase→关闭HBase→关闭Hadoop
3. 基于ubuntukylin14.04(7),完成HBASE SHELL命令练习
版本说明:ubuntukylin14.04(7)=hadoop集群(hadoop2.6.0版本)+hbase伪分布式(hbase1.1.2版本)
3.1 HBase中用create命令创建表
输入create 'student','Sname','Ssex','Sage','Sdept','course'
命令创建一个student表。
3.2 HBase用describe命令查看表
输入describe 'student'
命令查看student表。
3.3 HBase用put命令添加数据
输入put 'student','001','Sname','XiaoMing'
命令就给student表添加了学号为001,名字为XiaoMing的一行数据,其行键为001。
3.4 HBase用get命令查看表的某一行数据和scan命令查看某个表的全部数据进行查看数据操作
输入get 'student','001'
命令查看student表001行的数据。输入scan 'student'
命令查看student表的全部数据。
3.5 HBase用delete命令删除一个数据和deleteall命令删除一行数据进行删除数据操作
输入delete 'student','001','Ssex'
命令就删除了student表中001行下的Ssex列的所有数据。输入deleteall 'student','001'
命令就删除了student表中的001行的全部数据。
3.6 HBase用disable命令停用表,然后用drop命令删除表
输入disable 'student'
命令停用student表,输入drop 'student'
命令删除表。
3.7 HBase查询表的历史数据分为三部分
这三部分为:通过在创建表时指定保存的版本数,插入数据产生历史版本数据,查询时指定历史版本数。
输入create 'shangpin',{NAME=>'tradename',VERSIONS=>2}
命令创建shangpin表并指定保存的版本数为2。
输入put 'shangpin','001','tradename','zhuozi'
命令和put 'shangpin','001','tradename','wenju'
命令使shangpin表产生两个历史数据。
输入get 'shangpin','001',{COLUMN=>'tradename',VERSIONS=>1}
命令和get 'shangpin','001',{COLUMN=>'tradename',VERSIONS=>2}
命令就能查询两次历史数据。