AmosCloud

Library

Have a Question?

If you have any question you can ask below or enter what you are looking for!

2020年5月21日_day13_Hbase

Hbase

Hbase集群搭建

  1. 上传安装包

  2. 解压

  3. 改名

  4. 修改配置文件

    • hbase-env.sh
      export JAVA_HOME=/opt/jdk1.8
      export HBASE_MANAGES_ZK=false
    • hbase-site.xml
      <property>
      <!-- hbase在HDFS上存储数据的根目录 -->
      <name>hbase.rootdir</name>
      <value>hdfs://test01:9000/hbase</value>
      </property>
      <property>
      <!-- 开启Hbase的集群模式 -->
      <name>hbase.cluster.distributed</name>
      <value>true</value>
      </property>
      <property>
      <!-- hbase使用的zk集群的连接信息 -->
      <name>hbase.zookeeper.quorum</name>
      <value>test01:2181,test02:2181,test03:2181</value>
      </property>
      <property>
      <!-- zk存储数据的位置dataDir -->
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/opt/zookeeper-3.4.10/data</value>
      </property>
    • regionservers
      test01
      test02
      test03
  5. 将hdfs的配置链接到hbase的conf中

    ln -s $HADOOP_HOME/etc/hadoop/core-site.xml $HBASE_HOME/conf/core-site.xml
    ln -s $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HBASE_HOME/conf/hdfs-site.xml
  6. 分发安装包
    scp

  7. 配置环境变量

    echo 'export HBASE_HOME=/opt/hbase-1.3.1' >> /etc/profile
    echo 'export PATH=.:$HBASE_HOME/bin:$PATH' >> /etc/profile
  8. 启动测试

    1. 单服务启动

      hbase-daemon.sh start master
      habse-daemon.sh start regionserver
    2. 集群启动

      • master会启动在输入命令的节点
        start-hbase.sh
  • 启动后的进程
    -----test01的Java进程-----
    2352 DataNode
    19857 HRegionServer
    2211 NameNode
    18727 QuorumPeerMain
    21335 Jps
    -----test02的Java进程-----
    13744 HMaster
    13891 HRegionServer
    1897 DataNode
    15996 Jps
    12558 QuorumPeerMain
    -----test03的Java进程-----
    1896 DataNode
    16776 Jps
    2010 SecondaryNameNode
    13578 QuorumPeerMain
    14845 HRegionServer

Hbase命令行操作

  • 浏览hbaseUI
    http://test02:16010/

  • 启动命令

hbase shell
# 发现日志依赖有冲突
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hbase-1.3.1/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.7/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell

# 将日志依赖中的其中一个重命名成不是jar结尾的文件
mv /opt/hbase-1.3.1/lib/slf4j-log4j12-1.7.5.jar /opt/hbase-1.3.1/lib/slf4j-log4j12-1.7.5.jar.bak
  • hbase命令

    • 创建表
      # 创建含有一个列族的表
      create 'table_name','cf_name'
      # 插入一条数据
      put 'table_name','rowkey','cf_name:c1','value'
      put 'student','0001','cf1:name','amos'
  • 行式存储和列式存储
    传统关系型数据库使用行存储
    Hbase使用列存储

You must be logged in to post a comment.