实验简介
本次实验学习和了解 HBase 在不同模式下的配置和安装,以及 HBase 后续的启动和停止等。
一、实验环境说明
1. 环境登录
无需密码自动登录,系统用户名shiyanlou,密码shiyanlou
2. 环境介绍
本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:
- XfceTerminal: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令;
- Firefox:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可;
- GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器。
3. 环境使用
使用GVim编辑器输入实验所需的代码,然后使用XfceTerminal命令行环境进行编译运行,查看运行结果,运行后可以截图并分享自己的实验成果,实验楼提供的截图是后台截图,无法作弊,可以真实有效证明您已经完成了实验。
实验记录页面可以在“我的课程”中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。
二、安装之前 - 检查必要条件
(1) Java (需要安装1.6.x及其以上版本)
在终端输入 java -version
来查看你机子上的 Java 版本;
(2) Hadoop
Hadoop的具体安装可以参见我们以前的课程:Hadoop部署及管理。需要注意的是伪分布模式下,HBase 的版本需要和 Hadoop版本 匹配
,不然很可能容易出错。你可以在HBase的lib目录下看到对应的Hadoop的Jar文件版本。
在这里,我们使用了Hadoop V2.4.1版本以及HBase V0.98.11版本。
(3) SSH
SSH的安装,在Hadoop部署及管理中也涵盖了这部分内容。SSH用来管理远程Hadoop和HBase守护进程。
本实验环境下,为了大家的方便,我们已经为大家准备好了这些必要条件,你只需要专注于HBase的安装配置即可。
三、安装进行时 - 安装和配置HBase
确认上面的条件我们都准备好了之后,就可以开始安装HBase了。实验开始前,你应该切换到 hadoop 用户:
$ su hadoop
HBase的安装通常分为3种模式:
1. 单机模式 安装
(1)下载和解压
单机模式的安装非常简单,几乎不用对安装文件做什么修改就可以使用。单机模式下,HBase并不使用HDFS,因此将安装文件解压后就几乎可以直接运行。输入命令下载HBase:
$ wget http://labfile.oss.aliyuncs.com/hbase-0.98.11-hadoop2-bin.tar.gz
再将其压缩包解压:
$ tar zxvf hbase-0.98.11-hadoop2-bin.tar.gz
由于解压出来的文件名可能很长,建议修改为较短文件名,例如:
$ mv hbase-0.98.11-hadoop2 hbase
(2)配置 hbase-site.xml
在运行之前,我们需要对HBase进行相关配置。建议大家修改 ${HBase-Dir}/conf/hbase-site.xml 文件,因为即使你修改了hbase-default.xml文件,也会被hbase-site.xml中的配置所覆盖。也就是说,最终是以 hbase-site.xml 中的配置为准的。我们做如下修改:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///tmp/hbase-${user.name}/hbase</value>
</property>
</configuration>
注意:修改 ${user.name}
为你自己的 hadoop 用户名
2. 伪分布模式 安装
伪分布模式是一个运行在单台机器上的分布式模式。此模式下,HBase所有的守护进程将运行在同一个节点之上,而且需要依赖HDFS,因此在此之前必须保证HDFS已经成功运行,请参考我们前面的课程:Hadoop伪分布模式配置部署。确认无误后,我们就可以开始配置HBase的参数了。
(1)配置 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.rootdir:该参数制定了HReion服务器的位置,即数据存放的位置。主要端口号要和Hadoop相应配置一致。hbase.cluster.distributed:HBase的运行模式。false是单机模式,true是分布式模式。若为false, HBase和Zookeeper会运行在同一个JVM里面。默认为false.
(2)设置环境变量
另外,我们需要设置一些环境变量。修改HBase下的conf目录中的hbase-env.sh文件(你的jdk路径可能不一样):
export JAVA_HOME=/usr/local/jdk1.7.0_67
export HBASE_MANAGES_ZK=true
export HBASE_MANAGES_ZK=true
此配置信息,表示设置由hbase自己管理zookeeper,不需要单独的zookeeper, 本文搭建的 Hbase 用的是自带的 zookeeper,故设置为true.
最后修改添加PATH, 则输入:
$ sudo vim /etc/profile
来修改 /etc/profile 文件:
# set hbase path
export PATH=$PATH:/usr/local/hadoop/hbase/bin
3. 完全分布模式 安装
由于完全分布模式需要多台机器,在这里我们就不给出演示了。
四、安装之后 - 运行和停止 HBase
正如上面我们提到的,HBase安装分为3个模式,因此HBase的运行自然也分为同样的3个模式。
1. 单机模式 运行
(1)启动
单机模式下不需要HDFS,因此不需要事先启动Hadoop,直接启动HBase即可。终端下输入命令:./start-hbase.sh
注意:路径要正确,应为:$HBASE_HOME/bin 目录,否则会找不到 start-hbase.sh 这个文件,就会出现错误
(2)查看进程
我们可以通过 jps
来查看当前 HBase 的进程:
(3)停止 HBase 服务
输入 ./stop-hbase.sh
2. 伪分布模式 运行
(1)启动和查看进程
前面我们提到过,伪分布模式下,必须先确保 HDFS 已经启动。因此,我们先启动 HDFS,输入命令: ./start-all.sh
使用 jps
查看目前 Hadoop 的进程:
HDFS 成功启动之后,我们再启动 HBase,这里和单机模式下启动 HBase 的方法一样,输入命令: ./start-hbase.sh
:
此时再使用 jps
查看,可以看到多了HBase的相关进程:
(2)进入 HBase Shell
通过HBase Shell用户可以方便地创建、删除以及修改表,还可以向表中添加数据、列出表中的相关相信等。
输入 help
来查看其所支持的命令,可以根据自己的需要选择。
(3)停止 HBase
根据依赖关系,我们需要先关闭HBase, ./stop-hbase.sh
:
通过 jps
可以看到,HBase相关的进程没有了:
再关闭HDFS, ./stop-all.sh
.
最后,再通过 jps
发现 HDFS 的进程也没有了:
3. 完全分布模式 运行
略。
作业
有条件的同学,可以尝试 HBase 的完全分布模式下的配置与安装。
参考文档
- 《Hadoop实战 第2版》陆嘉恒,机械工业出版社;
- Hadoop2.6.0 伪分布环境搭建
- Hadoop-2.6.0 伪分布--安装配置hbase