环境介绍

tuge1 tuge2 tuge3 tuge4
NameNode NameNode DataNode DataNode
ZooKeeper ZooKeeper ZooKeeper ZooKeeper
JournalNode JournalNode JournalNode
ZKFC ZKFC
HMaster HMaster/HRegionServer HRegionServer HRegionServer

HBase 1.3.6

Hadoop 2.6.5

ZooKeeper 3.5.5

Java JDK 7

从官网可知兼容性:

Java的兼容性:

HBase版本 JDK 7 JDK 8 JDK 9(非LTS) JDK 10(非LTS) JDK 11
2.1+ × HBASE-20264 HBASE-20264 HBASE-21110
1.3+ × HBASE-20264 HBASE-20264 HBASE-21110

Hadoop的兼容性:

HBase-1.3.x HBase-1.4.x HBase-1.5.x HBase-2.1.x HBase-2.2.x
Hadoop-2.4.x × × × ×
Hadoop-2.5.x × × × ×
Hadoop-2.6.0 × × × × ×
Hadoop-2.6.1 + × × × ×
Hadoop-2.7.0 × × × × ×
Hadoop-2.7.1以上 × ×
Hadoop-2.8。[0-2] × × × × ×
Hadoop-2.8。[3-4] × ×
Hadoop-2.8.5 +
Hadoop-2.9。[0-1] × × × × ×
Hadoop-2.9.2 +
Hadoop-3.0。[0-2] × × × × ×
Hadoop-3.0.3 + × × × ×
Hadoop-3.1.0 × × × × ×
Hadoop-3.1.1 + × × ×

注意事项:(这里不配置的化,会导致HMaster总是宕机)

tuge1和tuge2作为HMaster服务器,需要设置tuge1对tuge2,tuge3,tuge4免密钥

设置tuge2对tuge1,tuge3,tuge4免密钥

设置举例:

ssh-keygen -t rsa

ssh-copy-id tuge1

HBase搭建

前提:已经搭建完HDFS和ZooKeeper环境。

我这里在之前搭建的基础上继续操作。

1. 下载HBase安装包
  • 在/opt/下面新建hbase文件夹

​ cd /opt

​ mkdir hbase

​ cd hbase

  • 下载

镜像地址

​ wget http://mirror.bit.edu.cn/apache/hbase/hbase-1.3.6/hbase-1.3.6-bin.tar.gz

  • 解压

​ tar -xvf hbase-1.3.6-bin.tar.gz

2. 配置环境变量

​ vim /etc/profile

添加如下内容:

export JAVA_HOME=/opt/java/jdk1.8.0_221
export HADOOP_HDFS_HOME=/opt/hadoop/hadoop-2.6.5
export HADOOP_CONF_DIR=$HADOOP_HDFS_HOME/etc/hadoop
export HADOOP_HOME=/opt/hadoop/hadoop-2.6.5
export ZK_HOME=/opt/zookeeper/apache-zookeeper-3.5.5-bin
export HIVE_HOME=/opt/hive/apache-hive-1.2.2-bin
export HBASE_HOME=/opt/hbase/hbase-1.3.6 PATH=$JAVA_HOME/bin:$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$ZK_HOME/bin:$HIVE_HOME/bin:**$HBASE_HOME/bin**
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH CLASSPATH
3. 配置文件设置

进入到conf里面,开启分布式集群,配置集群地址,配置HMaster备用服务器地址,配置HRegionService地址配置HBase在HDFS中的路径,配置Active Master。设置使用外部环境ZooKeeper,而不是自身ZooKeeper。

  • 编辑hbase-site.xml (开启分布式集群,配置集群地址,配置HMaster备用服务器地址。)
<property>   <!--配置根路径为HDFS路径-->
<name>hbase.rootdir</name>
<value>hdfs://mycluster/hbase</value><!--mycluster和hdfs-site.xml配置对应,要将文件复制到conf下面。-->
</property>
<property><!--HBase根据此路径找到要使用的ZooKeeper-->
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/zookeeper/apache-zookeeper-3.5.5-bin/temp</value>
</property>
<property><!--配置hbase分布式集群-->
<name>hbase.zookeeper.quorum</name>
<value>tuge2,tuge3,tuge4</value>
<description>the pos of zk</description>
</property>
<property><!--允许分布式-->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property><!--配置hbase master主节点-->
<name>hbase.master</name>
<value>tuge1:60000</value>
</property>
  • 编辑backup-masters(配置hbase master备机)
vim backup-masters

在里面加入备机名称,以换行符作为区分。我这里只添加了一台 tuge2

  • 编辑hbase-env.sh(配置Java路径,禁止HBase使用自带的ZooKeeper)
vim hbase-env.sh
  • 在里面设置
export HBASE_MANAGES_ZK=false<!--禁用使用默认的ZooKeeper-->
export JAVA_HOME=/opt/java/jdk1.8.0_221
  • 编辑regionservers(配置HRegionServer)
vim regionservers
  • 在里面添加regionserver机器,以换行符作为区分,我这里添加了三台
 tuge2
tuge3
tuge4
4. 将hdfs-site.xml 文件复制到conf下面
 cp /opt/hadoop/hadoop-2.6.5/etc/hadoop/hdfs-site.xml /opt/hbase/hbase-1.3.6/conf/
5. 启动HBase
  • 进入到bin目录下

    cd bin

  • 运行

start-hbase.sh
  • 如下图所示:

6. 停止HBase
stop-hbase.sh

系列传送门

入门大数据---Hbase搭建的更多相关文章

  1. 入门大数据---HDFS-HA搭建

    一.简述 上一篇了解了Zookeeper和HDFS的一些概念,今天就带大家从头到尾搭建一下,其中遇到的一些坑也顺便记录下. 1.1 搭建的拓扑图如下: 1.2 部署环境:Centos3.1,java1 ...

  2. 入门大数据---Hbase是什么?

    一.Hbase是什么? Hbase属于NoSql的一种. NoSql数据库分为如下几类: Key-Value类型数据库 这类数据库主要会使用到一个哈希表,这个表有一个特定的键和一个指针指向特定的数据. ...

  3. 入门大数据---Hbase的SQL中间层_Phoenix

    一.Phoenix简介 Phoenix 是 HBase 的开源 SQL 中间层,它允许你使用标准 JDBC 的方式来操作 HBase 上的数据.在 Phoenix 之前,如果你要访问 HBase,只能 ...

  4. 入门大数据---HBase Shell命令操作

    学习方法 可以参考官方文档的简单示例来 点击查看 可以直接在控制台使用help命令查看 例如直接使用help命令: 从上图可以看到,表结构的操作,表数据的操作都展示了.接下来我们可以针对具体的命令使用 ...

  5. 入门大数据---Hbase 过滤器详解

    一.HBase过滤器简介 Hbase 提供了种类丰富的过滤器(filter)来提高数据处理的效率,用户可以通过内置或自定义的过滤器来对数据进行过滤,所有的过滤器都在服务端生效,即谓词下推(predic ...

  6. 入门大数据---Hbase协处理器详解

    一.简述 Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立"二级索引",难以执 行求和.计数.排序等操作.比如,在旧版本的(<0.92)Hbase 中,统计数 ...

  7. 入门大数据---Hbase容灾与备份

    一.前言 本文主要介绍 Hbase 常用的三种简单的容灾备份方案,即CopyTable.Export/Import.Snapshot.分别介绍如下: 二.CopyTable 2.1 简介 CopyTa ...

  8. 入门大数据---Storm搭建与应用

    1.Storm在Linux环境配置 主机名 tuge1 tuge2 tuge3 部署环境 Zookeeper/Nimbus Zookeeper/Supervisor Zookeeper/Supervi ...

  9. 入门大数据---Elasticsearch搭建与应用

    项目版本 构建需要: JDK1.7 Elasticsearch2.2.1 junit4.10 log4j1.2.17 spring-context3.2.0.RELEASE spring-core3. ...

随机推荐

  1. php实现ajax请求的方法

    php实现ajax请求的方法 Ajax页面:第一,了解底层逻辑,正是平常的1个提交在无刷新的条件下发出请求后完成回应,之后去针对你需要的条件来做动作. <!DOCTYPE html> &l ...

  2. 脚本:Tomcat日志切割

    Tomcat日志切割脚本 #!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7= ...

  3. lua string方法拓展

    --[[-- 用指定字符或字符串分割输入字符串,返回包含分割结果的数组 local input = "Hello,World" local res = string.split(i ...

  4. Rocket - devices - bootrom

    https://mp.weixin.qq.com/s/PylfNmJDRasTUj9fGp7gLQ 简单介绍bootrom目录中各个文件的实现. 1. Makefile 1) make过程 Makef ...

  5. Rocket - tilelink - Filter

    https://mp.weixin.qq.com/s/6XX0CZHoDotIgLbNDSIUog   简单介绍Filter的实现.   ​​   1. 基本介绍   使用过滤器过滤掉client和m ...

  6. Java实现 LeetCode 443 压缩字符串

    443. 压缩字符串 给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回 ...

  7. Java实现字符串编辑距离

    1 问题描述 给定一个源串和目标串,能够进行如下操作: 在任意位置上插入一个字符: 替换掉任意字符: 删除任意字符. 写一个程序,实现返回最小操作次数,使得对源串进行上述这些操作后等于目标串. 2 解 ...

  8. 初学python笔记

    一.关于python ① 由荷兰人Guido van Rossum(龟叔)于1989年圣诞节为打发无聊时间所编写的编程语言. ② python的特点:优雅 明确 简单.代码量少,运行速度快. 缺点:运 ...

  9. Request 对象的主要方法

    setAttribute(String name,Object):设置名字为 name 的 request 的参数值 getAttribute(String name):返回由 name 指定的属性值 ...

  10. abstract class 和 interface 有什么区别?

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况.不能创建abstract 类的实例.然 ...