欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hbase 单机安装部署

程序员文章站 2022-05-20 19:46:03
...

这个困扰了很长时间,之前使用cdh版本的,各种报错各种出问题,最终换成了不是cdh版本的。

下载地址如下:

https://pan.baidu.com/s/14pQ6HbTB-s63cfAbpG50LA

解压

这是我的解压目录:

aaa@qq.com:~/Downloads/hbase$ pwd
/home/xiaoye/Downloads/hbase

好了后,修改conf目录下的hbase-site.xml 文件

加入以下内容:

<configuration>
<property>
<name>hbase.rootdir</name> 
    <value>file:///home/xiaoye/Downloads/hbase/hbase_tmp</value>
</property>
</configuration>

在有的博文中有介绍说要在/etc/hosts中配置ip与主机名映射。其实这里只要你使用crt远程工具连虚拟机就已经说明,你已经配置了映射。不过这里小编也给出自己的配置。读者朋友可自行跳过,后面报错的话再 试试。

hbase 单机安装部署

只用关注我箭头指的地方就行了。其他请自行忽略。

然后到bin目录下启动hbase

./start-hbase.sh 

最后进入到脚本编辑:

./hbase shell
aaa@qq.com:~$ 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>

上面有建表,插入数据,浏览表结构,表内容,获取表数据的命令。

-------------------------------------------------------------------------------------------

下面是可有可无的,

配置环境变量:

我习惯在当前用户下设置环境变量:

aaa@qq.com:~$ vim .bashrc 
export HBASE_HOME=/home/xiaoye/Downloads/hbase
export PATH=$PATH:$HBASE_HOME/bin

保存后,source .bashrc 就行了。

然后就能在当前用户下,任何目录直接使用:hbase -version

hbase shell等命令。比较方便。

------------------------------------------------------------------------------------------------------------------------

如果有朋友在使用其他版本的hbase出现,类似:

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版本的。准行。