Hbase--架构及部署

1、架构

  • 分布式主从架构
    • 主:HMaster
      • 管理从节点
    • 从:HRegionServer
      • 负责干活:存储
      • 数据存储在RegionServer的内存中
  • HDFS
    • 用于实现Hbase中数据的持久化
  • Zookeeper
    • 存储关键性数据
    • 辅助选举:两个HMaster,一个active,一个standby
    • Hbase高度依赖于Zookeeper
      • 大部分的分布式框架都依赖于Zookeeper
      • 除非自己实现类似于Zookeeper的机制
        在这里插入图片描述

2、分布式集群部署

先选择一台机器进行安装配置

  • 上传
cd /export/software/
rz

在这里插入图片描述

  • 解压安装
tar -zxvf hbase-1.2.0-cdh5.14.0.tar.gz -C /export/servers/
  • 目录结构
    • bin:用于存放命令的目录
    • conf:配置文件目录
    • lib:依赖包的目录
    • logs:存放日志的目录

修改配置

  • hbase-env.sh:修改Hbase运行时的环境变量
#修改第27行
export JAVA_HOME=/export/servers/jdk1.8.0_141
#修改128行
export HBASE_MANAGES_ZK=false
  • hbase-site.xml:配置Hbase的属性
    • 所有的hbase程序,运行先加载hbase-default.xml,然后加载hbase-site.xml
    • 创建一个目录
cd /export/servers/hbase-1.2.0-cdh5.14.0/
mkdir  datas
<!--指定Hbase 临时存储目录的-->
  <property >
    <name>hbase.tmp.dir</name>
    <value>/export/servers/hbase-1.2.0-cdh5.14.0/datas</value>
  </property>
  <!--指定Hbase在HDFS上的存储目录-->
  <property >
    <name>hbase.rootdir</name>
    <value>hdfs://node-01:8020/hbase</value>
  </property>
  <property >
    <name>hbase.fs.tmp.dir</name>
    <value>/user/${user.name}/hbase-staging</value>
  </property>
  <property >
    <name>hbase.bulkload.staging.dir</name>
    <value>${hbase.fs.tmp.dir}</value>
  </property>
  <!--指定Hbase的运行模式是否是分布式-->
  <property >
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <!--指定Zookeeper的地址-->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node-01:2181,node-02:2181,node-03:2181</value>
  </property>
  • 如果hdfs配置了HA
    • 注意,要将core-site.xml和hdfs-site.xml放入hbase的conf目录
  • regionservers:配置hbase从节点的地址,类似于Hadoop的slaves文件
node-01
node-02
node-03

为什么没有指定主节点的地址?

  • 因为Hbase的底层高度依赖Zookeeper,直接跟zookeeper做了 关联
  • 可以在任何一台机器启动主节点
  • 第一台启动的机器就是active的主节点
  • 其他的机器启动主节点就是standby的主节点
  • 如果非要定义哪些机器可以启动主节点进程HMaster
    在这里插入图片描述
  • 实现
cd /export/servers/hbase-1.2.0-cdh5.14.0/
vim conf/backup-masters

node-02

分发

cd /export/servers/
scp -r hbase-1.2.0-cdh5.14.0 node-02:$PWD
scp -r hbase-1.2.0-cdh5.14.0 node-03:$PWD

启动

  • 先启动HDFS
    • HDFS退出安全模式以后,才能启动Hbase
start-dfs.sh 
  • 然后启动Zookeeper
    • 没有脚本的,挨个进程启动
    • 启动完成以后一定要检查zookeeper的状态
/export/servers/zookeeper-3.4.5-cdh5.14.0/bin/start-zk-all.sh 
  • 然后启动Hbase
    • 方式一:第一台机器一次性启动所有机器的进程
cd /export/servers/hbase-1.2.0-cdh5.14.0/
bin/start-hbase.sh 
  • 关闭
    • 先关hbase
    • 再关hdfs或者zookeeper
bin/stop-hbase.sh
  • 注意:
    • 启动的进程
      在这里插入图片描述
  • 警告不用管
    在这里插入图片描述
  • 方式二:单个进程启动
cd /export/servers/hbase-1.2.0-cdh5.14.0/
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver

测试访问

  • jps:查看进程是否完成
    • 如果有进程自动消失,请查看日志
    • 日志在哪?
      在这里插入图片描述
tail -100f logs/hbase-root-master-node-01.log
  • 访问WebUI
node-01:60010
node-02:60010

注意:hbase我们使用的是1.x版本
	apache从1.x开始网页端口更改为16010
	cdh延续以前老版本的端口:60010

在这里插入图片描述
在这里插入图片描述

  • 第一台配置环境变量
vim /etc/profile

export HBASE_HOME=/export/servers/hbase-1.2.0-cdh5.14.0
export PATH=$PATH:$HBASE_HOME/bin

source /etc/profile

猜你喜欢

转载自blog.csdn.net/qq_46893497/article/details/114189761