參考文章: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_Software\HBase\hadoop-2.7.3下的etc和bin。
3、將D:\IT_Software\HBase\hadooponwindows-master里的etc和bin拷貝到D:\IT_Software\HBase\hadoop-2.7.3\下。
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回車
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.
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
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
<dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>1.11</version> </dependency>
同樣把這個包放到D:\IT_Software\HBase\hbase-2.3.3\lib下,再重新啟動
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 '表名'