windows 部署 HBase
前言
在本地开发测试中,单机的 HBase 更便于调试。
一、准备环境
| 软件 | 版本 | 注释 |
|---|---|---|
| Java | jdk-8u221-windows-x64 | 推荐使用 SDKMAN |
| Hadoop | Hadoop-3.1.2 | 环境部署详见 Windows 部署 Hadoop |
| HBase | hbase-2.2.0 | Hadoop 与 HBase 版本关系适配表:Hadoop version support matrix |
二、安装
2.1 解压
解压缩下载的 HBase 二进制文件,个人使用的解压工具为 7-Zip。
- 选择安装路径时请注意尽量使用 英文 和 不带空格 的路径,防止出现意想不到的问题,同时也推荐所有开发环境的配置都这么做。
2.2 配置环境变量
- 需要配置
HBASE_HOME、HBASE_MANAGES_ZK、PATH。
-
使用快捷键
windows+r,输入sysdm.cpl,敲击回车进入。 -
点击高级。
-
选择最底部的环境变量。
-
配置
HBASE_HOME。

- 配置
HBASE_MANAGES_ZK,默认值为 true,使用HBase内置的zookeeper。

- 配置
PATH。

- 执行命令
hadoop version,如下图所示则成功。

2.3 配置 HBase 文件
所有的 %HBASE_HOME% 请自行替换成自己的 HBase 路径。
- 修改
%HBASE_HOME%\conf\hbase-site.xml,加入如下文本,建立相应目录。
XML123456789101112131415161718192021222324252627282930313233343536<configuration> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.tmp.dir</name> <value>/%HBASE_HOME%/data/tmp</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>%HBASE_HOME%/data/zookeeper</value> </property> <property> <name>hbase.rest.port</name> <value>9090</value> <description>HBase REST server port.Default is 8080</description> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> <description> Controls whether HBase will check for stream capabilities (hflush/hsync). Disable this if you intend to run on LocalFileSystem, denoted by a rootdir with the 'file://' scheme, but be mindful of the NOTE below. WARNING: Setting this to false blinds you to potential data loss and inconsistent system state in the event of process and/or node failures. If HBase is complaining of an inability to use hsync or hflush it's most likely not a false positive. </description> </property> </configuration>
- 网上大部分教程还会要求配置
hbase-env.cmd,修改其中的JAVA_HOME,但是只要系统Java 环境变量版本配置过并且为1.8+,此步可以省略。
2.4 运行
-
powershell执行start-hbase.cmd即可启动伪分布式集群(启动时产生的窗口请保持开启)。
(如提示Could not find or load main class .F,则需要移除Visual C++ 2008 redistributable) -
执行
hbase shell即可打开命令行。可能会提示如下错误,均可忽视。- java.lang.NoClassDefFoundError | 暂未找到解决方案
bash123[ERROR] Terminal initialization failed; falling back to unsupported java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.internal.Kernel32 ......
- error reading or parsing ~/.m2/setting.xml | 该错误是因为 maven 仓库的 settings.xml 文件中含有中文。

参考
本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我的个人天地!