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 许可协议。转载请注明来自 我的个人天地!