HBase第二天

学习HBase第二天
**1.**HBase的基础结构
在这里插入图片描述
1.1、HMaster
功能:

  1. 监控RegionServer
  2. 处理RegionServer故障转移
  3. 处理元数据的变更
  4. 处理region的分配或移除
  5. 在空闲时间进行数据的负载均衡
  6. 通过Zookeeper发布自己的位置给客户端

1.2、RegionServer
功能:

  1. 负责存储HBase的实际数据
  2. 处理分配给它的Region
  3. 刷新缓存到HDFS
  4. 维护HLog
  5. 执行压缩
  6. 负责处理Region分片

组件:

  1. Write-Ahead logs
    HBase的修改记录,当对HBase读写数据的时候,数据不是直接写进磁盘,它会在内存中保留一段时间(时间以及数据量阈值可以设定)。但把数据保存在内存中可能有更高的概率引起数据丢失,为了解决这个问题,数据会先写在一个叫做Write-Ahead logfile的文件中,然后再写入内存中。所以在系统出现故障的时候,数据可以通过这个日志文件重建。
  2. HFile
    这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。
  3. Store
    HFile存储在Store中,一个Store对应HBase表中的一个列族。
  4. MemStore
    顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在WAL中之后,RegsionServer会在内存中存储键值对。
  5. Region
    Hbase表的分片,HBase表会根据RowKey值被切分成不同的region存储在RegionServer中,在一个RegionServer中可以有多个不同的region。

在这里插入图片描述
注:一个store对应一个列族,一个region对应多个store
2、HBase的集群环境搭建
注意事项:HBase强依赖zookeeper和hadoop,安装HBase之前一定要保证zookeeper和hadoop启动成功,且服务正常运行
2.1zookeeper环境搭建
2.1.1、下载,解压
下载地址为:
http://archive.cloudera.com/cdh5/cdh/5/
我们这里也下载对应版本的CDH5.14.0这个版本的zookeeper的压缩包即可
7.2、修改配置文件
第一步:创建zk数据存放目录
mkdir -p /home/hadoop/apps/zookeeper-3.4.5-cdh5.14.0/zkdatas
第二步:修改zk配置文件
cd /export/servers/zookeeper-3.4.5-cdh5.14.0/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
在这里插入图片描述
第三步:创建myid文件并写入内容
echo 1 > /export/servers/zookeeper-3.4.5-cdh5.14.0/zkdatas/myid
注:三台虚拟机中都需要写,数字依次是2,3
第四步:将安装包分发到其他机器
cd /home/hadoop/apps/
scp -r zookeeper-3.4.5-cdh5.14.0/ node02: P W D s c p − r z o o k e e p e r − 3.4.5 − c d h 5.14.0 / n o d e 03 : PWD scp -r zookeeper-3.4.5-cdh5.14.0/ node03: PWDscprzookeeper3.4.5cdh5.14.0/node03:PWD
之后在其他机器重复第三步
第五步:启动zk服务
cd /home/hadoop/apps/zookeeper-3.4.5-cdh5.14.0
bin/zkServer.sh start
注:三台服务器都需要启动zookeeper
2.2:HBase的集群环境搭建

  • 第一步:下载对应的HBase的安装包
    http://archive.cloudera.com/cdh5/cdh/5/
    HBase对应的版本下载地址如下
    http://archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.14.0.tar.gz
  • 第二步:压缩包上传并解压
    cd /home/hadoop/apps/
    tar -zxvf hbase-1.2.0-cdh5.14.0-bin.tar.gz
  • 第三步:修改配置文件
    cd /home/hadoop/apps/hbase-1.2.0-cdh5.14.0/conf
    修改第一个配置文件hbase-env.sh
    vim hbase-env.sh
    在这里插入图片描述
    修改第二个配置文件hbase-site.xml
    vim hbase-site.xml
<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://hadoop1:9000/hbase</value>  
        </property>

        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>

   <!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->
        <property>
                <name>hbase.master.port</name>
                <value>16000</value>
        </property>

        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>
        </property>

        <property>
                <name>hbase.zookeeper.property.dataDir</name>
         <value>/home/hadoop/apps/zookeeper-3.4.5-cdh5.14.0/zkdatas</value>
        </property>
</configuration>

修改第三个配置文件regionservers
vim regionservers
在这里插入图片描述
创建back-masters配置文件,实现HMaster的高可用
cd /home/hadoop/apps/hbase-1.2.0-cdh5.14.0/conf
vim backup-masters
在这里插入图片描述

  • 第四步:安装包分发到其他机器
cd /home/hadoop/apps/
scp -r hbase-1.2.0-cdh5.14.0/ hadoop2:$PWD
scp -r hbase-1.2.0-cdh5.14.0/ hadoop3:$PWD
  • 第五步:三台机器创建软连接
    因为hbase需要读取hadoop的core-site.xml以及hdfs-site.xml当中的配置文件信息,所以我们三台机器都要执行以下命令创建软连接
    ln -s /home/hadoop/apps/hadoop-2.8.0/etc/hadoop/core-site.xml /home/hadoop/apps/hbase-1.3.1/conf/core-site.xml
    ln -s /home/hadoop/apps/hadoop-2.8.0/etc/hadoop/hdfs-site.xml /home/hadoop/apps/hbase-1.3.1/conf/hdfs-site.xml
  • 第六步:三台机器添加HBASE_HOME的环境变量
    vim /etc/profile
    在这里插入图片描述
  • 第七步:HBase集群启动
    cd /export/servers/hbase-1.2.0-cdh5.14.0
    bin/start-hbase.sh
    注:三台服务器都需要启动
    我们也可以执行以下命令单节点进行启动
    启动HMaster命令
    bin/hbase-daemon.sh start master
    启动HRegionServer命令
    bin/hbase-daemon.sh start regionserver
  • 第八步:页面访问
    http://hadoop1:60010/master-status
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值