hbase配置

    • 安装环境
    • 安装过程
      • 下载安装包
      • 配置hbase配置文件
      • 启动hbase
      • 来一点小测试
      • 产生问题

安装环境

Hadoop:hadoop2.7.4
Hbase:hbase.1.2.6
JDK: jdk1.8

注意:hbase版本需要支持原来安装的hadoop版本

HBase-0.92.x HBase-0.94.x HBase-0.96.x
Hadoop-0.20.205 S X
Hadoop-0.22.x S X
Hadoop-1.0.x S S
Hadoop-1.1.x NT S
Hadoop-0.23.x X S
Hadoop-2.x X S

S = supported and tested,支持
X = not supported,不支持
NT = not tested enough.可以运行但测试不充分

安装过程

下载安装包

选择的是最新的稳定版本 1.2.6

解压到/ur/hadoop/app/hbase

然后在/etc/profile中,将Hbase的路径添加到Path中

然后source一下

配置hbase配置文件

  • conf/hbase-env.sh
    主要是添加JAVA的路径,hadoop路径,修改zookeeper为另外配置的(之前已经配置)

  • conf/hbase-site.xml
    这个配置比较复杂,是参考网上的
    下面的代码中也有详细的说明
    注意要把配置改成自己的配置
<configuration>  
    <property>  
        <name>hbase.rootdirname>  
        <value>hdfs://cluster1value>  
    property>  
      
    <property>  
        <name>hbase.cluster.distributedname>  
        <value>truevalue>  
    property>  
      
    <property>  
        <name>hbase.mastername>  
        <value>lk:60000value>  
    property>  
    <property>  
        <name>hbase.tmp.dirname>  
        <value>/tmp/hbase/tmpvalue>  
    property>  

      
      
    <property>  
        <name>hbase.client.write.buffername>  
        <value>5242880value>  
    property>  
      
    <property>  
        <name>hbase.regionserver.handler.countname>  
        <value>300value>  
    property>  
      
    <property>  
        <name>hbase.hregion.max.filesizename>  
        <value>134217728value>  
    property>  
        
    <property>  
        <name>hbase.hregion.majorcompactionname>  
        <value>0value>  
    property>  
        
    <property>  
        <name>dfs.replicationname>  
        <value>3value>  
    property>  
      
    <property>  
        <name>hbase.regionserver.region.split.policyname>  
        <value>org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicyvalue>  
    property>  
      
    <property>  
        <name>hbase.regionserver.optionalcacheflushintervalname>  
        <value>7200000value>  
    property>  
      
    <property>  
        <name>hfile.block.cache.sizename>  
        <value>0.3value>  
    property>  
      
    <property>  
        <name>hbase.hregion.memstore.flush.sizename>  
        <value>52428800value>  
    property>  
        
    <property>  
        <name>hbase.regionserver.global.memstore.sizename>  
        <value>0.5value>  
    property>  
        
    <property>  
        <name>hbase.regionserver.global.memstore.size.lower.limitname>  
        <value>0.5value>  
    property>  
      
    <property>  
        <name>dfs.client.socket-timeoutname>  
        <value>600000value>  
    property>  

      
    <property>  
        <name>hbase.table.sanity.checksname>  
        <value>falsevalue>  
    property>  
      
    <property>  
      
        <name>zookeeper.session.timeoutname>  
        <value>30000value>  
    property>  
      
    <property>  
        <name>hbase.zookeeper.quorumname>  
        <value>lk:2181,slave2:2181,slave3:2181,slave4:2181,slave5:2181value>  
    property>  
    <property>  
        <name>hbase.zookeeper.property.dataDirname>  
        <value>/tmp/zookeeper/datavalue>  
    property>  
configuration>

上面的文件中,只是设置的lk(10.113.10.1)为master,应该还要设置slave2为备用(下面的backup-masters)

  • conf/backup-masters

添加slave2为备用master
新建文件backup-masters

slave2(或者是IP地址)

保存退出即可

  • conf/regionservers
slave3
slave4
slave5

启动hbase

start-hbase.sh

然后在各个机器上看进程 jps

  • master

  • regionserver

  • 网页查看

此时lk成了backup,slave2成了master

在网页上可以查看所有任务,日志,软件信息等等数据

来一点小测试

  • 连接hbase shell

hbase shell

  • 创建一个表和一个列
    create 'test2', 'cf2'

  • 插入数据
put 'test2', 'row1', 'cf2:a', 'value1'
put 'test2', 'row2', 'cf2:b', 'value2'
put 'test2', 'row3', 'cf2:c', 'value3'

  • 查看
    scan 'test2'

  • 获取一行数据
    get 'test2', 'row1'

  • 删除表格
    先disable然后drop

disable 'test2'
drop 'test2'

  • 退出
    exit

  • 停止hbase
    stop-hbase.sh

产生问题

  • 重复SLF4J
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/hadoop/app/hbase/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

发生jar包的冲突,删除一个就行

  • 显示不能加载本地hadoop库
2017-11-09 07:58:06,282 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017

显示不能加载本地hadoop库

通过上网查找资料
在/etc/profile中添加JAVA_LIBRARY_PATH

export JAVA_LIBRARY_PATH=/usr/hadoop/app/hadoop/lib/native


问题解决

  • 要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
    具体会报什么错不记得了

你可能感兴趣的:(大数据实验,课程学习,实验,hadoop,hbase,大数据实验)