大家好,又见面了,我是你们的朋友全栈君。
这个困扰了很长时间,之前使用cdh版本的,各种报错各种出问题,最终换成了不是cdh版本的。
下载地址如下:
https://pan.baidu.com/s/14pQ6HbTB-s63cfAbpG50LA
解压
这是我的解压目录:
代码语言:javascript复制xiaoye@ubuntu3:~/Downloads/hbase$ pwd
/home/xiaoye/Downloads/hbase
好了后,修改conf目录下的hbase-site.xml 文件
加入以下内容:
代码语言:javascript复制<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/xiaoye/Downloads/hbase/hbase_tmp</value>
</property>
</configuration>
在有的博文中有介绍说要在/etc/hosts中配置ip与主机名映射。其实这里只要你使用crt远程工具连虚拟机就已经说明,你已经配置了映射。不过这里小编也给出自己的配置。读者朋友可自行跳过,后面报错的话再 试试。
只用关注我箭头指的地方就行了。其他请自行忽略。
然后到bin目录下启动hbase
代码语言:javascript复制./start-hbase.sh
最后进入到脚本编辑:
代码语言:javascript复制./hbase shell
代码语言:javascript复制xiaoye@ubuntu3:~$ hbase shell
2018-07-09 20:49:05,941 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/xiaoye/Downloads/hbase/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/xiaoye/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
Version 1.4.5, rca99a9466415dc4cfc095df33efb45cb82fe5480, Wed Jun 13 15:13:00 EDT 2018
hbase(main):001:0> create 'student',{NAME =>'info'},{NAME => 'data'}
0 row(s) in 2.0760 seconds
=> Hbase::Table - student
hbase(main):002:0> desc 'student'
Table student is ENABLED
student
COLUMN FAMILIES DESCRIPTION
{NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATIO
N_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL
=> 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =>
'false', BLOCKCACHE => 'true'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATIO
N_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL
=> 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =>
'false', BLOCKCACHE => 'true'}
2 row(s) in 0.5130 seconds
hbase(main):003:0> put 'student','001','info:name','tom'
0 row(s) in 0.4860 seconds
hbase(main):004:0> get 'student','001'
COLUMN CELL
info:name timestamp=1531194644784, value=tom
1 row(s) in 0.1070 seconds
hbase(main):005:0> scan 'student'
ROW COLUMN CELL
001 column=info:name, timestamp=1531194644784, value=tom
1 row(s) in 0.0310 seconds
hbase(main):006:0>
上面有建表,插入数据,浏览表结构,表内容,获取表数据的命令。
——————————————————————————————-
下面是可有可无的,
配置环境变量:
我习惯在当前用户下设置环境变量:
代码语言:javascript复制xiaoye@ubuntu3:~$ vim .bashrc
代码语言:javascript复制export HBASE_HOME=/home/xiaoye/Downloads/hbase
export PATH=$PATH:$HBASE_HOME/bin
保存后,source .bashrc 就行了。
然后就能在当前用户下,任何目录直接使用:hbase -version
hbase shell等命令。比较方便。
————————————————————————————————————————
如果有朋友在使用其他版本的hbase出现,类似:
代码语言:javascript复制535)
at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:112)
at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:95)
at org.jruby.runtime.Block.yield(Block.java:130)
at org.jruby.RubyContinuation.enter(RubyContinuation.java:106)
at org.jruby.RubyKernel.rbCatch(RubyKernel.java:1212)
at org.jruby.RubyKernel$s$1$0$rbCatch.call(RubyKernel$s$1$0$rbCatch.gen:65535)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:322)
at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:178)
at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:187)
at home.xiaoye.Downloads.hbase.bin.$_dot_dot_.bin.hirb.method__5$RUBY$start(/home/xiaoye/Downloads/hbase/bin/../bin/hirb.rb:204)
at home$xiaoye$Downloads$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start.call(home$xiaoye$Downloads$hbase$bin$$_dot_dot_$bin$hirb$method__5$RUBY$start:65535)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:203)
at org.jruby.internal.runtime.methods.CompiledMethod.call(CompiledMethod.java:255)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135)
at home.xiaoye.Downloads.hbase.bin.$_dot_dot_.bin.hirb.__file__(/home/xiaoye/Downloads/hbase/bin/../bin/hirb.rb:210)
at home.xiaoye.Downloads.hbase.bin.$_dot_dot_.bin.hirb.load(/home/xiaoye/Downloads/hbase/bin/../bin/hirb.rb)
at org.jruby.Ruby.runScript(Ruby.java:697)
at org.jruby.Ruby.runScript(Ruby.java:690)
at org.jruby.Ruby.runNormally(Ruby.java:597)
at org.jruby.Ruby.runFromMain(Ruby.java:446)
at org.jruby.Main.doRunFromMain(Main.java:369)
at org.jruby.Main.internalRun(Main.java:258)
at org.jruby.Main.run(Main.java:224)
at org.jruby.Main.run(Main.java:208)
at org.jruby.Main.main(Main.java:188)
这种错误就直接换版本吧,就换成我这个hbase版本的。准行。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106079.html原文链接:https://javaforall.cn