参考文章:https://www.jianshu.com/p/db33aaa566cd
由于担心这么好的文章可能被删除等原因,所有一下基本都复制内容过来
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来解压
2、删除D:IT_SoftwareHBasehadoop-2.7.3下的etc和bin。
3、将D:IT_SoftwareHBasehadooponwindows-master里的etc和bin拷贝到D:IT_SoftwareHBasehadoop-2.7.3下。
4、格式化namenode,命令窗口【win+R然后输入cmd回车再输入D: & cd D:IT_SoftwareHBasehadoop-2.7.3in回车】进入到D:IT_SoftwareHBasehadoop-2.7.3in,然后输入命令hdfs namenode -format回车
5、启动hadoop,命令窗口【win+R然后输入cmd回车再输入D: & cd D:IT_SoftwareHBasehadoop-2.7.3sbin回车】进入到D:IT_SoftwareHBasehadoop-2.7.3sbin,然后输入命令start-all.cmd回车
启动了4个窗口,namenode,datanode,yarn resourcemanager,yarn nodemanager.
6、文件修改,【D:IT_SoftwareHBasehbase-2.3.3confhbase-site.xml可修改也可不修改】,D:IT_SoftwareHBasehbase-2.3.3confhbase-env.cmd
【注意自己安装的路径】添加set JAVA_HOME=D:Program FilesJavajdk1.8.0_192
7、启动hbase,命令窗口【win+R然后输入cmd回车再输入D: & cd D:IT_SoftwareHBasehbase-2.3.3in回车】进入到D:IT_SoftwareHBasehbase-2.3.3in,输入命令start-hbase.cmd回车
如果报错org/apache/htrace/core/HTraceConfiguration
用这个包就好了,放到D:IT_SoftwareHBasehbase-2.3.3lib下就可以了
<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_SoftwareHBasehbase-2.3.3in回车】进入到D:IT_SoftwareHBasehbase-2.3.3in,输入命令hbase shell回车
如果启动报错java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.internal.Kernel32
<dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>1.11</version> </dependency>
同样把这个包放到D:IT_SoftwareHBasehbase-2.3.3lib下,再重新启动
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 '表名'