Hbase 集群环境装配

Hbase 集群环境安装

第一章 硬件要求

CPU

Intel - Nehalem (2008发布) 或以后发布的CPU

AMD - Bulldozer (2011发布)或以后发布的CPU

内存

PetaBase 对内存要求较高,至少64GB内存,建议128G到512G。

存储

提供足够大磁盘存储空间,这取决于数据量大小和文件副本数。

网卡

千兆或万兆以太网卡

 

 

 

第二章:操作系统要求

PetaBase目前支持64位 Linux的操作系统

Red Hat Enterprise Linux (RHEL) 5.7/6.2/6.4

CentOS 5.7/6.2/6.5

SLES 11 with Service Pack 1 or later

Ubuntu 10.04/12.04 or Debian 6.03.

   

 

第四章:获得源码包

注:Hbase 是一个数据库,其版本要和当前集群环境相兼容。比如当前hadoop5.3.0的,那么Hbase 也应该是 5.3.0 版的。

下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

 

 

 

第五章:简介

hbasebigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。

它介于nosqlRDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。

hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

 

HBase中的表一般有这样的特点:

大:一个表可以有上亿行,上百万列

面向列:面向列()的存储和权限控制,列()独立检索。

稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。

 

 

第六章:安装

 

1. 将源码包上传至服务器

2. 解压到当前目录 tar zxvf  xxx

 

3. 修改配置文件

 3.1   /conf/hbase-env.sh

 

加上以下属性:

export JAVA_HOME=/usr/java/jdk1.7.0_45                     

export HBASE_LOG_DIR=/home/hbase-0.98.6-cdh5.3.0/logs

export HBASE_MANAGES_ZK=false

export HBASE_HOME=/home/hbase-0.98.6-cdh5.3.0

export HBASE_HEAPSIZE=4096

 

注:

export JAVA_HOME             # java安装路径

export HBASE_LOG_DIR    # Hbase日志路径,要新建logs文件夹 mkdir logs

 

export HBASE_MANAGES_ZK    #false表示使用外部zookeeper,true表示由Hbase负责启动和关闭zookeeper

export HBASE_HOME            #Hbase 安装路径

export HBASE_HEAPSIZE        # 内存设置,根据实际情况设定

 

3.2   /conf/hbase-site.xml

该文件默认没有任何属性,需要自行添加。

在 <configuration></configuration> 节点内添加以下属性

<property>

    <name>hbase.rootdir</name>

    <value>hdfs://master:8020/hbase</value>

  </property>

  <property>

    <name>hbase.master.port</name>

    <value>60005</value>

  </property>

   <property>

    <name>hbase.cluster.distributed</name>

    <value>true</value>

  </property>

  <property>

    <name>hbase.client.write.buffer</name>

    <value>2097152</value>

  </property>

  <property>

    <name>hbase.client.pause</name>

    <value>100</value>

  </property>

  <property>

    <name>hbase.client.retries.number</name>

    <value>35</value>

  </property>

  <property>

    <name>hbase.client.scanner.caching</name>

    <value>100</value>

  </property>

  <property>

    <name>hbase.client.keyvalue.maxsize</name>

    <value>10485760</value>

  </property>

  <property>

    <name>hbase.rpc.timeout</name>

    <value>60000</value>

  </property>

  <property>

    <name>hbase.snapshot.enabled</name>

    <value>true</value>

  </property>

  <property>

    <name>hbase.security.authentication</name>

    <value>simple</value>

  </property>

  <property>

    <name>zookeeper.session.timeout</name>

    <value>60000</value>

  </property>

  <property>

    <name>zookeeper.znode.parent</name>

    <value>/hbase</value>

  </property>

  <property>

    <name>zookeeper.znode.rootserver</name>

    <value>root-region-server</value>

  </property>

  <property>

    <name>hbase.zookeeper.quorum</name>

    <value>master</value>

  </property>

  <property>

    <name>hbase.zookeeper.property.clientPort</name>

    <value>2181</value>

  </property>

  <property>

    <name>hbase.regionserver.handler.count</name>

    <value>100</value>

  </property>

 

 

部分属性值解释:

Hbase.rootdir Hbasehdfs上的存储根目录

Hbase.master.port: Hbase运行master 的端口号,设置的时候,保证不冲突就行。类似于Tomcat 8080端口

Hbase.cluster.distributed :设置集群处于分布式模式

Hbase.client.write.buffer:客户端读写缓冲区内存设置

Hbase.client.pause : 客户端最大等待时间

Hbase.client.retries.number:客户端最大尝试次数

Zookeeper.znode.parent Hbasezookeeper配置文件路径设置

Hbase.zookeeper.quorum: 全分布设置,zookeeper的法定服务器列表。

Hbase.regionserver.handler.count : Hbase 事件句柄数量设置

 

 

   3.3  /conf/regionservers

此文件中的默认值是localhost,表示Hbase只在本机上运行,如果是集群环境,我们设置Hbase运行在各个数据节点上。

例:

我们将Hbase安装在namenode 节点上,设置Hbase运行在datanode上。 

所以配置如下:

 

 

3.4 设置用户组和权限 

3.4.1 设置/hbase-0.98.6-cdh5.3.0/bin 目录下文件的拥有者和拥有者所在组

   chown root:root -R /bin

3.4.2 为 / hbase-0.98.6-cdh5.3.0/bin 目录下文件赋予可执行权限

  chmod a+x -R /bin

 

 

 3.5 文件复制迁移

 完成前面的步骤,完成了在namemode节点的安装,现在拷贝整个hbase-0.98.6-cdh5.3.0 文件夹到 其余的 datanode节点。拷贝完毕后,依次为 / hbase-0.98.6-cdh5.3.0/bin 目录下文件赋予可执行权限

 chmod a+x -R /bin

第七章:维护

1. 启动 

cd bin 

. start-hbase.sh

 

2. 停止

cd bin

. stop-hbase.sh