Hbase基础(特点架构应用场景集群搭建HA设计)这一篇就够了
Posted 程序媛一枚~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hbase基础(特点架构应用场景集群搭建HA设计)这一篇就够了相关的知识,希望对你有一定的参考价值。
Hbase基础(特点、架构、应用场景、集群搭建、HA设计)这一篇就够了
这篇博客将由简入繁,入门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.com
server 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
- 上传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
- 配置.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
- 配置hadoop-env.sh(修改hadoopheapsize)
- 配置mapred-env.sh(修改javahome)
- 配置yarn-env.sh(修改java、yarn堆内存大小)
- 配置core-site.xml(修改、创建临时目录)
- 配置yarn-site.xml(多个配置核数、内存等)
- 配置hdfs-site.xml
- 配置mapred-site.xml
- 分发配置好hadoop包、配置.bashrc到其他机器
scp -r hadoop slave1:/opt/software/
scp .bashrc slave1:~
- 并生效 . .bashrc
- hadoop机器格式化
hadoop namenode -format
- 启动hadoop
启动hdfs,查看集群状态
start-dfs.sh
jps
jps master有 Jps NameNode SecondNameNode
jps slave有jsp Datanode
启动yarn,查看集群状态
start-yarn.sh
jps master看到多了 ResourceManager
jps slave多了NodeManager
表示搭建完成
7. Zookeeper分布式集群搭建(数量奇数个)
可用于:高可用、注册中心、分布式锁实现;
- 上传zookeeper安装包兵解压缩,重命名
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz
mv zookeeper-3.4.5-cdh5.14.2 zookeeper
- 配置zoo.cfg(数据、日志目录、集群的其他配置)
/opt/software/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logs
server.1=slave2:2888:3888
server.2=slave3:2888:3888
server.3=slave4:2888:3888
- 创建数据、日志目录(3台机器)
mkdir -p /opt/zookeeper/data
mkdir -p /opt/zookeeper/logs
- 为每台机器配置myid(3台机器需不同)
cd /opt/software/data
vim myid
1
:wq
- 分发zookeeper包到其他俩台机器
scp -r zookeeper slave3:/opt/software/
- 配置环境变量 .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
- 发送环境变量到另外俩台机器,并生效
scp .bashrc slave3:~
. .bashrc
- 启动zookeeper服务
zkServer.sh start
- 查看zookeeper状态(俩个Follower,一个Leader)
zkServer.sh status
8. HbaseHA方案设计
俩个HMaster,4个RegionServer,一个zookeeper。保证一个HMaster挂了,另一个补上,还能进行RegionServer故障节点的数据平衡等;
以上是关于Hbase基础(特点架构应用场景集群搭建HA设计)这一篇就够了的主要内容,如果未能解决你的问题,请参考以下文章