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 上存储的路径
- <property>
- <name>hbase.rootdir</name>
- <value>hdfs://hadoop01:9000/hbase</value>
- </property>
2, 指定 HBase 是分布式的
- <property>
- <name>hbase.cluster.distributed</name>
- <value>true</value>
- </property>
3, 指定 ZooKeeper 节点, 多个用 "," 分割
- <property>
- <name>hbase.zookeeper.quorum</name>
- <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
- </property>
4,ZooKeeper 配置文件 zoo.cfg 中的 dataDir.ZooKeeper 存储数据库快照的位置
- <property>
- <name>hbase.zookeeper.property.dataDir</name>
- <value>/home/shiny/zkdata</value>
- </property>
4, 分发到其它节点
- scp -r hbase-1.3.1/ shiny@hadoop02:$PWD
- scp -r hbase-1.3.1/ shiny@hadoop03:$PWD
5, 配置环境变量
1, 编辑. bash_profile 文件
1. VIM /home/theone/.bash_profile
2, 添加环境变量:
- export HBASE_HOME=/home/theone/Desktop/software/hbase-1.3.1/
- export PATH=$PATH:$HBASE_HOME/bin
3, 立即执行文件
1. source /home/theone/.bash_profile
6, 启动 HBase 集群
1, 启动 hadoop 集群,(在主节点上执行命令)
- start-dfs.sh
- 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
来源: http://www.jianshu.com/p/6b62fe50df6f