windows 部署 HBase
创建于 2019-09-10
更新于 2019-09-10
科技
hbase
windows

前言

在本地开发测试中,单机的 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_HOMEHBASE_MANAGES_ZKPATH
  1. 使用快捷键 windows+r,输入 sysdm.cpl,敲击回车进入。

  2. 点击高级。

  3. 选择最底部的环境变量。

  4. 配置 HBASE_HOME

HBASE_HOME

  1. 配置HBASE_MANAGES_ZK,默认值为 true,使用 HBase 内置的 zookeeper

HBASE_MANAGES_ZK

  1. 配置 PATH

PATH

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

HBASE_VERSION

2.3 配置 HBase 文件

所有的 %HBASE_HOME% 请自行替换成自己的 HBase 路径。

  1. 修改 %HBASE_HOME%\conf\hbase-site.xml,加入如下文本,建立相应目录。
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<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>
  1. 网上大部分教程还会要求配置 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 | 暂未找到解决方案
bash
1
2
3
[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 文件中含有中文。

m2

参考

本文作者: 有次元袋的 tiger
本文链接: https://www.superheaoz.top/2019/09/23915/
版权声明: 本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我的个人天地