由于担心这么好的文章可能被删除等原因,所有一下基本都复制内容过来

1、环境、安装包等

JDK1.8.0_192(下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html,账号:liwei@xiaostudy.com密码:OracleTest1234

hadoop-2.7.3(下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz)

hbase-2.3.3(下载地址:https://mirror.bit.edu.cn/apache/hbase/2.3.3/hbase-2.3.3-bin.tar.gz)

hadooponwindows-master(下载地址:https://github.com/sardetushar/hadooponwindows/archive/master.zip)

提示:.tar.gz文件如果常规解压软件解压不了,可以安装7z来解压

【hbase】【windows】安装及启动_hbase

 【hbase】【windows】安装及启动_Windows_02

 

 

 2、删除D:\IT_Software\HBase\hadoop-2.7.3下的etc和bin。

【hbase】【windows】安装及启动_Windows_03

 3、将D:\IT_Software\HBase\hadooponwindows-master里的etc和bin拷贝到D:\IT_Software\HBase\hadoop-2.7.3\下。

 【hbase】【windows】安装及启动_java_04

4、格式化namenode,命令窗口【win+R然后输入cmd回车再输入D: & cd D:\IT_Software\HBase\hadoop-2.7.3\bin回车】进入到D:\IT_Software\HBase\hadoop-2.7.3\bin,然后输入命令hdfs namenode -format回车

【hbase】【windows】安装及启动_hadoop_05

 

 

5、启动hadoop,命令窗口【win+R然后输入cmd回车再输入D: & cd D:\IT_Software\HBase\hadoop-2.7.3\sbin回车】进入到D:\IT_Software\HBase\hadoop-2.7.3\sbin,然后输入命令start-all.cmd回车

启动了4个窗口,namenode,datanode,yarn resourcemanager,yarn nodemanager.

【hbase】【windows】安装及启动_java_06

 

 

 6、文件修改,【D:\IT_Software\HBase\hbase-2.3.3\conf\hbase-site.xml可修改也可不修改】,D:\IT_Software\HBase\hbase-2.3.3\conf\hbase-env.cmd

【注意自己安装的路径】添加set JAVA_HOME=D:\Program Files\Java\jdk1.8.0_192

【hbase】【windows】安装及启动_java_07

 

7、启动hbase,命令窗口【win+R然后输入cmd回车再输入D: & cd D:\IT_Software\HBase\hbase-2.3.3\bin回车】进入到D:\IT_Software\HBase\hbase-2.3.3\bin,输入命令start-hbase.cmd回车

如果报错org/apache/htrace/core/HTraceConfiguration

用这个包就好了,放到D:\IT_Software\HBase\hbase-2.3.3\lib下就可以了

<dependency>
    <groupId>org.apache.htrace</groupId>
    <artifactId>htrace-core4</artifactId>
    <version>4.0.1-incubating</version>
</dependency>

8、启动HBase Shell,命令窗口【win+R然后输入cmd回车再输入D: & cd D:\IT_Software\HBase\hbase-2.3.3\bin回车】进入到D:\IT_Software\HBase\hbase-2.3.3\bin,输入命令hbase shell回车

如果启动报错java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.internal.Kernel32

【hbase】【windows】安装及启动_表名_08

<dependency>
    <groupId>org.fusesource.jansi</groupId>
    <artifactId>jansi</artifactId>
    <version>1.11</version>
</dependency>

同样把这个包放到D:\IT_Software\HBase\hbase-2.3.3\lib下,再重新启动

 【hbase】【windows】安装及启动_java_09

 

 9、hbase常用命令

进入客户端 hbase shell

创建表和列族:create '表名','列族'
例如:create 'test','cf'

添加列族:alter '表名',{NAME=>'列族'}
添加列族:alter '表名','列族'

删除列族:alter '表名',{NAME=>'列族',METHOD=>'delete'}

插入记录:put '表名','行名','列族:列名','值'
例如:put 'test','row1','cf:a','value1'

查询表:scan '表名'
例如:scan 'test'

列出Hbase中存在的所有表:list

查询表是否存在:exists '表名'

显示表相关的详细信息:describe '表名'

查询行:get '表名','行名'
查询行:scan '表名',{STARTROW=>'行名',ENDROW=>'行名'}
查询范围行:scan '表名',{STARTROW=>'开始行名',ENDROW=>'结束行名'}

查询行的指定列:get '表名','行名',{COLUMN=>'列族:列名'}

查询表前N行:scan '表名',{LIMIT=>N}

查询表行总数:count '表名'

扫描某个列族:scan '表名', {COLUMNS => ['列族']}
查询列:scan '表名', {COLUMNS => ['列族:列名1', '列族:列名2']}
例如:scan 'test', {COLUMNS => ['cf:a', 'cf:age']}

使表有效:enable '表名'
是否启用:is_enabled '表名'
使表无效:disable '表名'
是否无效:is_disabled '表名'
删除表:disable '表名';drop '表名'