HBase 0.99.2 简介与安装

来源:互联网 发布:哪个软件泰国电视剧多 编辑:程序博客网 时间:2024/05/22 12:25

简介

什么是Hbase

HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBASE的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。
HBASE是Google Bigtable的开源实现,但是也有很多不同之处。比如:Google Bigtable利用GFS作为其文件存储系统,HBASE利用Hadoop HDFS作为其文件存储系统;Google运行MAPREDUCE来处理Bigtable中的海量数据,HBASE同样利用Hadoop MapReduce来处理HBASE中的海量数据;Google Bigtable利用Chubby作为协同服务,HBASE利用Zookeeper作为对应。

与传统DB对比

传统数据库问题

  • 大数据量无法存储
  • 没有很好的备份机制
  • 数据量达到一定程度时出现速度缓慢等现象

Hbase优势

  • 线性拓展,可以通过节点拓展来增大数据存储
  • 数据存储在HDFS上,备份机制完善
  • 通过ZooKeeper协调查找数据,访问速度快

HBase集群角色机制


  • 一个或者多个主节点 Hmaster
  • 多个从节点 HregionServer

满足多对多的节点机制

安装

  1. 上传安装包
  2. 解压

    su - hadoop
    tar -zxvf ./hbase-0.99.6.tar.gz
  3. 重命名

    mv hbase-0.99.6 hbase
  4. 修改环境变量

    su – root
    vi /etc/profile

    添加

    export HBASE_HOME=/home/hadoop/hbase
    export PATH=$PATH:$HBASE_HOME/bin

    使配置生效

    source /etc/proflie
    su - hadoop
  5. 修改配置文件

    cd ./hbase/conf

    修改 hbase-env.sh (4个地方需要改动)

    vim ./hbase-env.sh
    # 设置JDK 环境变量# The java implementation to use.  Java 1.6 required.export JAVA_HOME=/usr/jdk/# 设置额外的Java环境变量,原生注释错误,修改为以下# Extra Java CLASSPATH elements.  Optional.这行代码是错的,需要可以修改为下面的形式#export HBASE_CLASSPATH=/home/hadoop/hbase/confexport JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar# 指定采用CMS并发GC# Extra Java runtime options.# Below are what we set by default.  May only work with SUN JVM.# For more on why as well as other possible settings,# see http://wiki.apache.org/hadoop/PerformanceTuningexport HBASE_OPTS="-XX:+UseConcMarkSweepGC"# FALSE:使用自定义配置ZooKeeper;TRUE:使用内部单机ZooKeeper# Tell HBase whether it should manage it's own instance of Zookeeper or not.export HBASE_MANAGES_ZK=false

    修改 regionservers

    vim ./regionservers
    h2slave1h2slave2h2slave3

    当然,前提是配置了IP:

    vim /etc/hosts
    192.168.1.200 h2slave1192.168.1.201 h2slave2192.168.1.202 h2slave3

    修改核心配置文件 hbase-site.xml

    主要表现为以下配置:

    <configuration>    <!-- master位置 -->    <property>        <name>hbase.master</name>        <value>master1:60000</value>    </property>    <!-- 间隔时间:主备之间间隔时间 -->    <property>        <name>hbase.master.maxclockskew</name>         <value>180000</value>    </property>    <!-- hdfs路径。在这里并没有指定一个固定的IP地址,防止对应的主机宕机事故     ,但是需要将Hadoop的hdfs-site.xml配置文件cp到该目录,这样hbase就能     从hdfs的配置文件找到hadoop-cluster1所对应的真正的IP地址 -->    <property>        <name>hbase.rootdir</name>        <value>hdfs://hadoop-cluster1/hbase</value>    </property>    <!-- 设置是否是集群模式 -->    <property>        <name>hbase.cluster.distributed</name>         <value>true</value>    </property>    <!-- 指定ZooKeeper集群 -->    <property>        <name>hbase.zookeeper.quorum</name>        <value>master1ha,master2,master2ha</value>    </property>    <!-- 数据文件目录 -->    <property>        <name>hbase.zookeeper.property.dataDir</name>        <value>/home/hadoop/hbase/tmp/zookeeper</value>    </property></configuration>

    设置联邦:

    vim ./core-site.xml
    <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration>   <property>      <name>fs.defaultFS</name>      <value>viewfs:///</value>   </property>   <property>     <name>fs.viewfs.mounttable.default.link./tmp</name>     <value>hdfs://hadoop-cluster1/</value>   </property>   <property>     <name>fs.viewfs.mounttable.default.link./tmp1</name>     <value>hdfs://hadoop-cluster2/</value>   </property></configuration>
  6. 发送文件到其他服务器

    scp -r hbase/ hadoop@h2slaver:/home/hadoopscp -r hbase/ hadoop@h3slaver:/home/hadoop
  7. 启动

    start-hbase.sh
  8. 查看

    访问管理界面

    http://ip_addr:60010

    进程jps

    进入Hbase shell hbase shell

原创粉丝点击