Hbase基础(特点、架构、应用场景、集群搭建、HA设计)这一篇就够了

  • 1. Hbase特点
  • 2. Hbase VS RDBMS
  • 3. Hbase架构及版本选择
  • 4. Hbase应用场景
  • 5. Ntp(多个主机时间同步)
  • 6. Hadoop分布式集群搭建
  • 7. Zookeeper分布式集群搭建(数量奇数个)
  • 8. HbaseHA方案设计

这篇博客将由简入繁,入门HBase,将介绍Hbase的特点、架构、应用场景、集群搭建、HA设计等。

1. Hbase特点

海量、稀疏(存储,查询有优势)、高并发、面向列、数据多版本、实时处理(spark、storm、stream)

系型数据库都是行存储,而Hbase是列存储,同一种数据在同一个块上

2. Hbase VS RDBMS

  • RDBMS:关系型数据库 各种类型数据 行式存储增 删改查、函数运算,可有联结操作 可更新替换数据 必须借助中间件才可以伸缩
  • Hbase: String 列式 增加清空数据 维护也是插入 可伸缩性(灵活加节点)

3. Hbase架构及版本选择

集群类型:

  • <20 小型集群
    无HA,一个zookeeper,Hbase hadoop

  • 20~50 中型集群
    hadoopHA、HbaseHA、3个zookeeper 3个Hmaster

  • 大于50 大型集群
    5个zookeeper(奇数个节点),Hbase多个HA节点

版本:
apache、cloudera(CDH清晰、更安全性、兼容性、稳定性,支持Kerbos安全认证)

4. Hbase应用场景

  • 用户画像(推荐系统底层的存储支持)
  • 消息/订单存储(低延时、高并发的访问
  • 对象存储(小文件的存储
  • 时序数据(随着时间而变化的数据Open TSDB整合)
  • Cube分析(存储数据供其他应用实时查询展示~)
  • Feeds流(抖音等,内容聚合器,持续的获取最新的订阅列表)

5. Ntp(多个主机时间同步)

Ntp: Network Time Protocol
一个server,多个slave进行时间同步

  • 关闭防火墙
  • yum安装ntp
yum install -y ntp
  • 配置/etc/ntp.conf
    192.168.3.0网段下的所有主机都生效
    日志位置
    配置时间同步服务器
    时间服务器不可用时,把本机当作时间同步服务器
restrict 192.168.3.0 mask 255.255.255.0 nomodify notrap
logfile /var/log/ntpd.log server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.comserver 127.0.0.1
fudge 127.0.0.1 stratum 10

同步时间(5~10分钟)
ntpdate -u ntp2.aliyun.com

开启时间服务器、查看时间、开机自启动
systemctl start ntpd
systemctl status ntpd
systemctl enable ntpd

slave配置:/etc/ntp.conf 配置master的ip地址
server 192.168.3.1

6. Hadoop分布式集群搭建

1个master,4个slave

前置条件:5台机器创建好hadoop用户,免密登录

mkdir /opt/software && chown -R hadoop:hadoop /opt
  1. 上传jdk、hadoop的安装包并解压缩

分发包并解压缩

scp jdk-8u144-linux-x64.tar.gz slave1:/opt/software
su hadoop
tar -zxvf jdk-8u144-linux-x64.tar.gz
tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz
  1. 配置.bashrc
    vi .bashrc
    重命名hadoop包
    mv hadoop-2.6.0-cdh5.14.2 hadoop
export JAVA_HOME=/opt/software/jdk1.8.0_144
export HADOOP_HOME=/opt/software/hadoop
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$HADOOP_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效配置

. .bashrc
  1. 配置hadoop-env.sh(修改hadoopheapsize)
  2. 配置mapred-env.sh(修改javahome)
  3. 配置yarn-env.sh(修改java、yarn堆内存大小)
  4. 配置core-site.xml(修改、创建临时目录)
  5. 配置yarn-site.xml(多个配置核数、内存等)
  6. 配置hdfs-site.xml
  7. 配置mapred-site.xml
  8. 分发配置好hadoop包、配置.bashrc到其他机器
scp -r hadoop slave1:/opt/software/
scp .bashrc slave1:~
  1. 并生效 . .bashrc
  2. hadoop机器格式化
hadoop namenode -format
  1. 启动hadoop

启动hdfs,查看集群状态

start-dfs.shjps

jps master有 Jps NameNode SecondNameNode
jps slave有jsp Datanode

启动yarn,查看集群状态

start-yarn.sh

jps master看到多了 ResourceManager
jps slave多了NodeManager
表示搭建完成

7. Zookeeper分布式集群搭建(数量奇数个)

可用于:高可用、注册中心、分布式锁实现;

  1. 上传zookeeper安装包兵解压缩,重命名
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz
mv zookeeper-3.4.5-cdh5.14.2 zookeeper
  1. 配置zoo.cfg(数据、日志目录、集群的其他配置)
    /opt/software/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logsserver.1=slave2:2888:3888
server.2=slave3:2888:3888
server.3=slave4:2888:3888
  1. 创建数据、日志目录(3台机器)
mkdir -p /opt/zookeeper/data
mkdir -p /opt/zookeeper/logs
  1. 为每台机器配置myid(3台机器需不同)
cd /opt/software/data
vim myid
1
:wq
  1. 分发zookeeper包到其他俩台机器
scp -r zookeeper slave3:/opt/software/
  1. 配置环境变量 .bashrc(JAVA_HOME下边)
vi .bashrc
export JAVA_HOME=/opt/software/jdk1.8.0_144
export ZOO_HOME=/opt/software/zookeeper
export HADOOP_HOME=/opt/software/hadoop
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$HADOOP_HOME/lib:$ZOO_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOO_HOME/bin
  1. 发送环境变量到另外俩台机器,并生效
scp .bashrc slave3:~
. .bashrc
  1. 启动zookeeper服务
zkServer.sh start
  1. 查看zookeeper状态(俩个Follower,一个Leader)
zkServer.sh status

8. HbaseHA方案设计

俩个HMaster,4个RegionServer,一个zookeeper。保证一个HMaster挂了,另一个补上,还能进行RegionServer故障节点的数据平衡等;

Hbase基础(特点、架构、应用场景、集群搭建、HA设计)这一篇就够了相关推荐

  1. 4.2.9 Kafka集群与运维, 应用场景, 集群搭建, 集群监控JMX(度量指标, JConsole, 编程获取, Kafka Eagle)

    目录 3.1 集群应用场景 1 消息传递 2 网站活动路由 3 监控指标 4 日志汇总 5 流处理 6 活动采集 7 提交日志 总结 3.2 集群搭建 3.2.1 Zookeeper集群搭建 3.2. ...

  2. Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建十一(Nginx负载均衡篇)

    Zookeeper+Hadoop+Hbase+Hive+Kylin+Nginx集群搭建十一(Nginx负载均衡篇) 十三.Nginx负载均衡 1.Nginx安装环境 2.编译 3.启动测试 4.ngi ...

  3. windows2016+sqlserver2017集群搭建alwayson之域控篇

    IP 用途 10.2.159.218 域控(sqlserver.com) 10.2.159.219 节点一(AAA) 10.2.159.220 节点二(BBB) 10.2.159.221 节点三(CC ...

  4. kuberbetes的架构与kubernetets集群搭建

    目录 一.k8s概述 1.k8s是什么 2.K8S是做什么用的? 3.为什么要使用K8S? 4.k8s架构图解 5.角色与功能 1)Master管理节点(管理节点) 2)node计算节点 6.mast ...

  5. kafka基础之介绍和分布式集群搭建

    一 kafka介绍 现在各个电商平台,社交平台等诸多系统可以不断生产出各种细信息,那么我们应该如何收集它,如何分析它,以及输入实时的做到以上需求.Kafka应运而生. Kafka是一个分布式的的流式系 ...

  6. 启动hadoop没有resourcemanager_5.hadoop-MR YARN架构理论与集群搭建

    MR原语 输入(格式化k,v)数据集map映射成一个中间数据集(k,v)reduce 相同"的key为一组,调用一次reduce方法,方法内迭代这一组数据进行计算 计算框架 Partit ...

  7. Mycat高可用架构原理_Mycat集群搭建_HA高可用集群_高可用_单表存储千万级_海量存储_分表扩展---MyCat分布式数据库集群架构工作笔记0027

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 前面我们已经讲了,对于数据库来说,mycat可以,我们通过搭建一主一从,双主双从,来实现数据库集群 ...

  8. greenplum数据库集群的备份与恢复看这一篇就够啦!

    针对greenplum-db-6.1.0的数据库集群的备份与恢复方案 使用gpbackup和gprestore的GPDB的备份方案 1.前言 2.Greenplum备份恢复发展历程 3.备份方案的优劣 ...

  9. Hadoop3集群搭建之——hive添加自定义函数UDTF (一行输入,多行输出)

    上篇: Hadoop3集群搭建之--虚拟机安装 Hadoop3集群搭建之--安装hadoop,配置环境 Hadoop3集群搭建之--配置ntp服务 Hadoop3集群搭建之--hive安装 Hadoo ...

  10. 中间件系列——EMQX 的集群搭建

    公众号:技术小厨师 关注小厨师,烹饪美味的技术餐 上文回顾 https://mp.weixin.qq.com/s/EChqGD01bkjbxjkOCrrEPg 在上文,我们介绍了 EMQX 的快速上手 ...

最新文章

  1. JEECMS的新浪图集在IE9、10不能显示大图片BUG的解决方法
  2. 物联网经济价值的深度探究
  3. hdfs中一个block块默认多大?
  4. 第三十三期:使用wireshark抓包分析-抓包实用技巧
  5. python装饰器函数传参
  6. Shell 语法之函数
  7. corosync配置与详解
  8. AcWing 849. Dijkstra求最短路 I(稠密图Dijkstra模板)
  9. 正确使用SqlConnection对象,兼谈数据库连接池
  10. 2010年年度 “中国智能建筑品牌奖”获奖名单
  11. 软件工程第一次作业程序开发历程
  12. Jsoup爬虫的基本使用
  13. Foo = Foo||Bar ,这行代码是什么意思?为什么要这样写?
  14. Android四大组件Service之AIDL详解
  15. 鲲鹏devkit(迁移 测试 性能分析) boostkit
  16. 数据迁移怎么测,都有哪些步骤?
  17. 计算机应用应用研究,计算机应用研究属于什么期刊_计算机应用研究_计算机研究应用...
  18. C语言学生成绩管理系统文档版,C语言学生信息管理系统(完整版)总结.docx
  19. 在c++中,operator怎么使用
  20. ANDROID OTA FOTA

热门文章

  1. Python案例:使用正则表达式的爬虫
  2. html iso标准文档,HTML ISO-8859-1 参考手册
  3. window10 系统查看控制面板的方法
  4. JAVA中priorityqueue详解
  5. [spring-boot] 多环境配置
  6. LOJ10074架设电话线
  7. Windows下Nginx的安装及开机启动
  8. C++ 笔记(25)— 理解 C++ 中的头文件和源文件的作用
  9. 实时排行榜的后台数据功能实现
  10. java.util.concurrent包API学习笔记