HBase v2.1.4 最新版安装-单机模式(CentOS 7)
![3cebe0c63a93d1947c82748046490a8f.png](https://img-blog.csdnimg.cn/img_convert/3cebe0c63a93d1947c82748046490a8f.png)
HBase有三种运行模式:单机模式,模拟分布式模式,以及全分布式模式。可以选择三种模式中一种来安装HBase。
在单机模式下安装HBase
In standalone mode HBase runs all daemons within this single JVM, i.e. the HMaster, a single HRegionServer, and the ZooKeeper daemon.
在开始安装HBase之前,以下先决条件很重要,比如没有配置JAVA_HOME环境变量,就会报错。
- JDK
- Hadoop( 单机模式不需要,伪分布式模式和分布式模式需要)
- SSH
如不清楚,可以参考文章《CentOS 7 单机安装最新版Hadoop v3.1.2以及配置和简单测试》。
(1)下载HBase
wget http://mirror.bit.edu.cn/apache/hbase/2.1.4/hbase-2.1.4-bin.tar.gz
![0891c822974a3872248e9449927b3a74.png](https://img-blog.csdnimg.cn/img_convert/0891c822974a3872248e9449927b3a74.png)
解压缩
tar -zxf hbase-2.1.4-bin.tar.gz
(2)hbase-env.sh 配置hbase环境变量
为HBase设置Java目录,并从conf文件夹打开hbase-env.sh文件。编辑JAVA_HOME环境变量,改变路径到当前JAVA_HOME变量,如下图所示。
vim conf/hbase-env.sh
配置JDK环境变量,JDK的安装目录/opt/jdk1.8.0_211,也就是JAVA_HOME环境变量。
![8479efc1e4cd28a33926aeedca9cb85f.png](https://img-blog.csdnimg.cn/img_convert/8479efc1e4cd28a33926aeedca9cb85f.png)
配置HBASE_MANAGES_ZK为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。
![6d1220f4fac0e8151562c04ae5ba4ebe.png](https://img-blog.csdnimg.cn/img_convert/6d1220f4fac0e8151562c04ae5ba4ebe.png)
添加完成之后,保存退出即可。
(3)配置conf/hbase-site.xml
修改配置文件:vim conf/hbase-site.xml
在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即file:///usr/local/hbase/hbase-tmp。
hbase.rootdir
file:///usr/local/hbase/hbase-tmp
hbase.zookeeper.property.dataDir
/usr/local/hbase/zookeeper
hbase.unsafe.stream.capability.enforce
false
![e87de08f70d2cf36befaf2eacd4c689d.png](https://img-blog.csdnimg.cn/img_convert/e87de08f70d2cf36befaf2eacd4c689d.png)
hbase.zookeeper.property.dataDir 设置 zookeeper数据文件目录:
![87379c6936728fe8f52a4f9a3d6c27c0.png](https://img-blog.csdnimg.cn/img_convert/87379c6936728fe8f52a4f9a3d6c27c0.png)
(4)启动HBase
到此 HBase 的安装配置已成功完成。可以通过使用 HBase 的 bin 文件夹中提供 start-hbase.sh 脚本启动 HBase。
bin/start-hbase.sh
![bafa96bbab907116c362e5cd0d5c8e7f.png](https://img-blog.csdnimg.cn/img_convert/bafa96bbab907116c362e5cd0d5c8e7f.png)
running master .... 表示已经正常启动HBase。
完成HBase启动之后,可以检查相应的端口是否工作正常
- zookeeper 监听端口
lsof -i:2181
- HBase Web UI 端口
lsof -i:16010
如下图所示:
![8d7570fe001b7ae8c803e9fb27938af0.png](https://img-blog.csdnimg.cn/img_convert/8d7570fe001b7ae8c803e9fb27938af0.png)
访问HBase Web UI, http://192.168.56.103:16010/ 如下图所示:
![27626bb2ec34de4c4d79bcca61e50980.png](https://img-blog.csdnimg.cn/img_convert/27626bb2ec34de4c4d79bcca61e50980.png)
如果能够访问上述端口,说明HBase 已经正常启动。
另外,jps 命令也可以查看HBase 启动的进程,如图所示。
![0a3c8c2e3a654f87f1e8efddd36691c0.png](https://img-blog.csdnimg.cn/img_convert/0a3c8c2e3a654f87f1e8efddd36691c0.png)
HMaster //必须的,表明该hbase是Master
HRegionServer //不是必须的,因为我们也将该Master设置为Region
NameNode //必须,任务调度器
SencondNameNode //必须,任务调度器
(5)练习 hbase shell命令
bin/start-hbase.sh用于启动HBase,bin/hbase shell用于打开shell命令行模式,用户可以通过输入shell命令操作HBase数据库。
![1b54cdc5f08f4ed197dd80bbb9230a6d.png](https://img-blog.csdnimg.cn/img_convert/1b54cdc5f08f4ed197dd80bbb9230a6d.png)
create -- 创建hbase表;
list -- 列出hbase中存在的所有表;
![327bb9a0d410dc63dfdcf5f0552294fe.png](https://img-blog.csdnimg.cn/img_convert/327bb9a0d410dc63dfdcf5f0552294fe.png)
exit - 退出 shell 命令行模式;
(6)停止HBase运行
bin/stop-hbase.sh
![9a499c0d2ffff3244c36814d5245a0ef.png](https://img-blog.csdnimg.cn/img_convert/9a499c0d2ffff3244c36814d5245a0ef.png)
注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hadoop/hbase-2.1.4)下的logs子目录中的日志文件查看错误原因。
![dc0387903b88b9fe70645d77daad0eb8.png](https://img-blog.csdnimg.cn/img_convert/dc0387903b88b9fe70645d77daad0eb8.png)
参考链接:
HBase 官方文档
http://hbase.apache.org/book.html#quickstart
HBase 常用Shell命令
https://www.cnblogs.com/cxzdy/p/5583239.html
分布式数据库HBase 学习指南
http://dblab.xmu.edu.cn/blog/install-hbase/