Windows HBase2.2.0安装部署踩坑

江枫思渺然 提交于 2019-12-01 15:26:40

下载安装

hbase下载

hbase-home

解压之后根目录,没有什么要修改的。

hbase配置文件目录

配置文件目录,主要修改hbase-env.cmd和hbase-site.xml

hbase-env.cmd

set HBASE_MANAGES_ZK=true
set JAVA_HOME=C:\Program Files\Java\jre1.8.0_201
set HBASE_CLASSPATH=G:\datacenter\hbase-2.2.0\conf

HBASE_MANAGES_ZK值为false表示zookeeper外装,HBASE_MANAGES_ZK的为true,表示zookeeper自带。

这里我们配置的是单机测试模式,所以使用HBase自带的ZK就可以了,所以配置为true。

hbase-site.xml

<configuration>
    <property> 
		<name>hbase.master</name> 
		<value>localhost</value> 
    </property> 
    <property>  
        <name>hbase.rootdir</name>  
        <value>file:///G:/datacenter/hbdata/root</value>  
    </property>  
    <property>  
        <name>hbase.tmp.dir</name>  
        <value>G:/datacenter/hbdata/tmp</value>  
    </property>  
    <property>  
        <name>hbase.zookeeper.quorum</name>  
        <value>localhost</value>
    </property>  
    <property>  
        <name>hbase.zookeeper.property.dataDir</name>  
        <value>G:/datacenter/hbdata/zoo</value>  
    </property> 
    <!-- 外部ZK此处必须为true,不然hbase仍用自带的zk,若启动了外部的zookeeper,会导致冲突,hbase启动不起来 --> 
    <property>  
        <name>hbase.cluster.distributed</name>  
        <value>false</value>  
    </property>
    <property>
    <name>hbase.master.info.port</name>
    <value>60010</value>
    </property>
</configuration>

上面最重要的是hbase.rootdir,本地测试配置本地文件系统目录就可以了,单机模式hbase.cluster.distributed配置为false。

hbase.rootdir

hbase.rootdir配置region server的共享目录,用来持久化Hbase

可以配置hdfs路径或者本地文件系统路径: hdfs:

hdfs://localhost:49002/hbase

本地文件系统:

file:///G:/datacenter/hbdata/root

默认情况下Hbase是写到/tmp:

file:///tmp/hbase-${user.name}/hbase

不改这个配置,数据会在重启的时候丢失

hbase.cluster.distributed

配置Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。默认: false

外部ZK此处必须为true,不然hbase仍用自带的zk,若启动了外部的zookeeper,会导致冲突,hbase启动不起来

hbase.zookeeper.quorum

集群的地址列表,用逗号分割。例如: "192.168.10.5,192.168.10.6,192.168.10.7"

默认是localhost,这个值对于分布式应用显然是不可以的

ZK可以直接在hbase-site.xml配置,也可以通过在conf目录下添加一个zoo.cfg文件来配置ZK

hbase.zookeeper.property.clientPort

Zk客户端连接的端口

hbase.zookeeper.property.dataDir

ZK数据存储位置

按照zookeeper配置zoo.cfg中的dataLogDir=/home/hadoop/zookeeper-3.4.6/datalog路径配置即可

hbase.master.info.port

hbase-ui端口,监控页http://localhost:60010/master-status -1表示禁用ui,默认60010

hbase配置项

更多hbase配置选项。

启动与基本命令

hbase是一个数据库,像MySQL一样要先启动:

start-hbase

启动hbase

如果没有什么错误应该出现上面的信息,如果有错误根据错误信息定位,我再windows系统中下载的hbase2.2.0在hbase根目录下的lib目录中添加了下面几个jar包才启动成功的。

hbase添加的jar包

根据ClassNotFound,对比的源码的依赖版本添加的jar包。

hbase-ui

启动成功之后可以通过浏览器访问web界面查看相关信息。

然后我们可以使用客户端连接:

hbase shell

hbase-shell客户端

可以通过hbase shell启动客户端与hbase数据库进行交互。

hbase shell启动一个客户端连接hbase数据库,然后我们可以执行一些添加删除等基本操作了。

HBase基本操作

基本命令

help:查看命令帮助

status:查看hbase状态

version:查看hbase版本

list_namespace:查看表空间

表操作

create:创建表

exists:检查表是否存在

list:查看所有表

alter:修改表

delete:删除列

disable:禁用表

is_enabled:查看表是否禁用

desc:查看表结构

drop:删除表

插入数据

put:插入数据

查询

count:统计表有多少行

get:获取数据

scan:扫描表或者列

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!