赞
踩
HBase
是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang
所撰写的 Google
论文 Bigtable
:一个结构化数据的分布式存储系统”。就像 Bigtable
利用了 Google
文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
因为在实际项目中需要使用到 Hbase 帮助我们存储离散型的文本文件,以前我们都是通过 FastDFS,但它受制于 FastDFS 自身一些问题不能很好满足我们的实际业务需要,例如对指定单个文件的操作以及在开放的访问方式上。所以我们最终选型在 Hbase 。
我通过在 Windows 10
操作系统的虚拟机,安装的 CentOS 7.0
, CentOS
是最小安装版,安装后需要将服务器内核和补丁全部更新一遍。
在 CentOS
安装 Docker
后,可以查看 Docker
版本为 20.10.17
,截止当前是 Docekr
社区版当中的最新版本。
Client: Docker Engine - Community Version: 20.10.17 API version: 1.41 Go version: go1.17.11 Git commit: 100c701 Built: Mon Jun 6 23:05:12 2022 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.17 API version: 1.41 (minimum version 1.12) Go version: go1.17.11 Git commit: a89b842 Built: Mon Jun 6 23:03:33 2022 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.6 GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1 runc: Version: 1.1.2 GitCommit: v1.1.2-0-ga916309 docker-init: Version: 0.19.0 GitCommit: de40ad0
Docker
仓库中查找 hbase
的镜像,这里选择 STARS
最多的,都比较靠谱。
docekr search hbase
hbase
镜像,拉取过程中受制于网络等影响,所以建议提前更换 Docker
的中央仓库地址,更改方式参考 [[Docker-1:Docker安装及更换源]] 中的操作。
docekr pull hbase
hbase
镜像的检索和下载,至此,我们的前期准备工作已经完成。启动命令要注意,宿主机和镜像端口间的映射,这样本机正常访问。我们后续也是为了通过 Java API
操作 Hbase
。
docker run -d -p 2181:2181 -p 8080:8080 -p 8085:8085 -p 9090:9090 -p 9095:9095 -p 16000:16000 -p 16010:16010 -p 16201:16201 -p 16301:16301 -p 16030:16030 -p 16020:16020 --name hbaseCase harisekhon/hbase
这里把 Hbase
默认的端口一并罗列,对照着启动命令的映射关系,自己按照实际需要定制。
端口号 | 节点 | 使用 | 说明 |
---|---|---|---|
2181 | zookeeper | zkCli.sh -server zookeeper1:2181 | 客户端接入 |
16000 | HBase Master | hbase-client-1.x.x.jar | RegionServer接入 |
16010 | HBase Master | http://namenode1:16010/ | 集群监控 |
16020 | HBase RegionServer | 客户端接入 | |
16030 | HBase RegionServer | http://datanode1:16030/ | 节点监控 |
打开网址: http://192.168.147.128:16010/master-status
如果在本地访问 Hbase
的网址,还需要在 HOST
文件中添加, Hbase
与域名的映射。
192.168.147.128 b78d142ca272
实际项目,我们都是在开发环境利用 Java
来操作 Hbase
,所以还需要在本地配置下 Hadoop
环境变量。
这里我用我本地的环境做说明:
D:\Environment\Hadoop\2.10.1
%HODOOP_HOME%\bin
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。