HBase简介和分布式集群的搭建
HBase是什么?
1,概念
HBase是一个高可靠性、高性能、可伸缩、分布式、基于列存储的非关系型(NoSQL)数据库。
列式存储和行式存储?
非关系型数据库与关系型数据库?
2,与Google Bigtable的不同之处
3, 何时采用 HBase?
(1)需适应不同种类数据格式和数据源,不能预先严格定义模式
(2)需处理大规模数据
(3)不强调数据之间的关系,需存储半结构化和非结构化数据
(4)数据非常稀疏,有大量为 NULL 的字符串
(5)想要更好的进行扩展
4,HBase 集群结构
HBase 分布式集群搭建
1,前期装备
(1)同步网络时间
1. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区
3. ntpdate cn.pool.ntp.org #同步网络时间
3. date #检查时间是否修改成功
(2)安装zookeeper在所有节点上
zookeeper安装步骤(点击可跳转到安装页面)
2,HBase1.3.1 分布式集群搭建
1,下载安装包
下载地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/
版本号: hbase-1.3.1-bin.tar.gz
2,上传并解压
将 HBase 安装包上传到 Linux 服务器
解压命令:tar -zxvf hbase-1.3.1-bin.tar.gz
3,修改配置文件
hbase-env.sh
1,修改JDK安装路径
export JAVA_HOME=/home/shiny/Desktop/software/jdk1.8.0_73
2,不引用HBase自带的ZooKeeper,使用自己安装的
hbase-site.xml
1,指定 HBase 在 HDFS 上存储的路径
1. <property>
2. <name>hbase.rootdir</name>
3. <value>hdfs://hadoop01:9000/hbase</value>
4. </property>
2,指定 HBase 是分布式的
1. <property>
2. <name>hbase.cluster.distributed</name>
3. <value>true</value>
4. </property>
3,指定 ZooKeeper 节点,多个用“,”分割
1. <property>
2. <name>hbase.zookeeper.quorum</name>
3. <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
4. </property>
4,ZooKeeper配置文件zoo.cfg中的dataDir。ZooKeeper存储数据库快照的位置
1. <property>
2. <name>hbase.zookeeper.property.dataDir</name>
3. <value>/home/shiny/zkdata</value>
4. </property>
4,分发到其它节点
1. scp -r hbase-1.3.1/ shiny@hadoop02:$PWD
2. scp -r hbase-1.3.1/ shiny@hadoop03:$PWD
5,配置环境变量
1,编辑.bash_profile文件
1. vim /home/theone/.bash_profile
2,添加环境变量:
1. export HBASE_HOME=/home/theone/Desktop/software/hbase-1.3.1/
2.export PATH=$PATH:$HBASE_HOME/bin
3,立即执行文件
1. source /home/theone/.bash_profile
6,启动 HBase 集群
1,启动hadoop集群,(在主节点上执行命令)
1. start-dfs.sh
2.start-yarn.sh
2,启动 ZooKeeper 集群,(在所有节点上执行命令)
1. zkServer.sh start
3,启动 HBase 集群,(在哪个节点启动哪个节点就是主节点)
1. start-hbase.sh
启动页面有警告信息:
解决方案:
1,将 JDK 修改为 1.7 版本
2,修改 HBase 的配置文件hbase-env.sh
关闭 HBase 集群,命令:stop-hbase.sh
修改配置文件hbase-env.sh,将以下两行配置注释掉(每个节点)
再次启动 HBase 集群,警告信息消失
7,验证 HBase 集群
检查进程,命令:jps
登录Web UI 页面:主节点:16010
8,单步启动
主节点:hbase-daemon.sh start master
从节点:hbase-daemon.sh start regionserver
3,常见异常
HRegionServer 进程启动后立即退出
多台服务器之间 HBase 默认的容忍时间差为 30s
原因:由于HBase 集群服务器时间不同步
大家喜欢多多关注,你的关注是我最大的动力。需要大数据学习资料的可以加群:834325294