一、部署前置环境

先部署分布式的高可用版的Hadoop,即ZooKeeper+Hadoop。

https://www.cnblogs.com/live41/p/15483192.html

* 部署的服务器名和目录的规划跟链接中的设定一样。即

c1:192.168.100.105
c2:192.168.100.110
c3:192.168.100.115
c4:192.168.100.120

ZooKeeper、Hadoop、HBase的文件夹都放在/home/目录下。

* 虽然HBase内置了ZooKeeper,但一般是关闭内置版,使用独立部署版(因为还有其它进程需要用到ZooKeeper,以免维护2套)。

二、下载HBase和配置环境变量

* 以下步骤每台机都要执行

1.下载

http://hbase.apache.org/downloads.html

下载bin文件,例如hbase-2.4.6-bin.tar

2.上传到服务器并解压

(1) 上面已提及,HBase文件夹放在home目录,就是/home/hbase

tar -xvf hbase-2.4.6-bin.tar

(2) 重命名(洁癖+强迫症)

mv hbase-2.4.6 hbase

3.配置环境变量

vim ~/.bashrc

在里面加入以下内容:

export PATH=$PATH:/usr/local/hbase/bin

更新环境变量

source ~/.bashrc

三、配置HBase

* 先在c1机执行操作,再用scp把配置文件同步到其它机。

1.配置hbase-env.sh

vim /home/hbase/conf/hbase-env.sh

添加或反注释后添加以下内容:

export JAVA_HOME=/usr/bin/java1.8.0
export HBASE_CLASSPATH=/home/hbase/conf
export HBASE_MANAGES_ZK=false

2.配置hbase-site.xml

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns6/hbase</value> <!--该属性对应的是hdfs-site.xml的dfs.nameservices属性-->
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>c1:2181,c2:2181,c3:2181,c4:2181</value>
<!--如果配置为<value>c1,c2,c3,c4</value>,则需要配置hbase.zookeeper.property.clientPort属性-->
</property>
<property>
<name>hbase.master</name>
<value>60000</value> <!--HBase HA 方式下只需配置端口-->
</property>
<!-- <property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property> -->
</configuration>

3.配置regionservers

vim regionservers

添加以下内容,如果原来有localhost,先删除。

c1
c2
c3
c4

这里是对应hosts文件的配置,前面已经提及过。

4.复制配置文件到其它节点

scp /home/hbase/conf/*.* c2:/home/hbase/conf
scp /home/hbase/conf/*.* c3:/home/hbase/conf
scp /home/hbase/conf/*.* c4:/home/hbase/conf

四、启动HBase

1.在主节点机

start-hbase.sh

2.在备用节点机

需要手动启动,否则ZooKeeper只会启动1个。当然,也可以选择不启动。

hbase-daemon.sh start master

附录:hbase-site.xml参数说明

  • hbase.rootdir

这个目录是 RegionServer 的共享目录,用来持久化 HBase。特别注意的是 hbase.rootdir 里面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。(HA环境下,dfs.nameservices  是由zookeeper来决定的)

  • hbase.cluster.distributed

HBase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式。若为 false,HBase 和 ZooKeeper 会运行在同一个 JVM 中

  • hbase.master

如果只设置单个 Hmaster,那么 hbase.master 属性参数需要设置为 master:60000 (主机名:60000)

如果要设置多个 Hmaster,那么我们只需要提供端口 60000,因为选择真正的 master 的事情会有 zookeeper 去处理

  • hbase.tmp.dir

本地文件系统的临时文件夹。可以修改到一个更为持久的目录上。(/tmp会在重启时清除)

  • hbase.zookeeper.quorum

对于 ZooKeeper 的配置。至少要在 hbase.zookeeper.quorum 参数中列出全部的 ZooKeeper 的主机,用逗号隔开。该属性值的默认值为 localhost,这个值显然不能用于分布式应用中。

  • hbase.zookeeper.property.dataDir

这个参数用户设置 ZooKeeper 快照的存储位置,默认值为 /tmp,显然在重启的时候会清空。因为笔者的 ZooKeeper 是独立安装的,所以这里路径是指向了 $ZOOKEEPER_HOME/conf/zoo.cfg 中 dataDir 所设定的位置。

  • hbase.zookeeper.property.clientPort

表示客户端连接 ZooKeeper 的端口。

  • zookeeper.session.timeout

ZooKeeper 会话超时。Hbase 把这个值传递改 zk 集群,向它推荐一个会话的最大超时时间

  • hbase.regionserver.restart.on.zk.expire

当 regionserver 遇到 ZooKeeper session expired , regionserver 将选择 restart 而不是 abort。

HBase的安装与部署的更多相关文章

  1. 大数据hbase分布式安装及其部署。

    大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...

  2. Hbase的安装和部署

    1.Zookeeper集群的正常部署并启动 $ /opt/modules/cdh/zookeeper-3.4.5-cdh5.3.6/bin/zkServer.sh start 2.Hadoop集群的正 ...

  3. Hbase的安装与部署(集群版)

    HBase 部署与使用 部署 Zookeeper 正常部署 $ ~/modules/zookeeper-3.4.5/bin/zkServer.sh start 首先保证 Zookeeper 集群的正常 ...

  4. [原创]HBase学习笔记(1)-安装和部署

    HBase安装和部署 使用的HBase版本是1.2.4 1.安装步骤(默认hdfs已安装好) # 下载并解压安装包 cd tools/ tar -zxf hbase-1.2.4-bin.tar.gz ...

  5. Hbase单机安装部署

    Hbase单机安装部署 http://blogxinxiucan.sh1.newtouch.com/2017/07/27/Hbase单机安装部署/ 下载Hbase Hbase官网下载地址 http:/ ...

  6. Hbase数据库安装部署

    Hbase单机版安装 hbase介绍 HBase – Hadoop Database是一个分布式的.面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文"Bigta ...

  7. HBase 的安装与配置

    实验简介 本次实验学习和了解 HBase 在不同模式下的配置和安装,以及 HBase 后续的启动和停止等. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shi ...

  8. Flume1.9.0的安装、部署、简单应用(含分布式、与Hadoop3.1.2、Hbase1.4.9的案例)

    目录 目录 前言 什么是Flume? Flume的特点 Flume的可靠性 Flume的可恢复性 Flume的一些核心概念 Flume的官方网站在哪里? Flume在哪里下载以及如何安装? 设置环境变 ...

  9. hbase单机版安装+phoneix SQL on hbase 单节点安装

    hbase 单机安装部署及phoneix 单机安装 Hbase 下载 (需先配置jdk) https://www.apache.org/dyn/closer.lua/hbase/2.0.1/hbase ...

随机推荐

  1. 论文解读(PCL)《Prototypical Contrastive Learning of Unsupervised Representations》

    论文标题:Prototypical Contrastive Learning of Unsupervised Representations 论文方向:图像领域,提出原型对比学习,效果远超MoCo和S ...

  2. webpack4 使用babel处理ES6语法的一些简单配置

    一,安装包 npm install --save-dev babel-loader @babel/corenpm install @babel/preset-env --save-devnpm ins ...

  3. SourceTree使用详解-摘录收藏

    前言: 非原创,好文收录,原创作者:追逐时光者 俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的.目前市面上比较流行的Git可视化管理工具有SourceTree.Gi ...

  4. 一文让你掌握软件测试工程师SQL面试题

    数据结构说明 已知有如下4张表: 学生表:student(学号,学生姓名,出生年月,性别) 成绩表:score(学号,课程号,成绩) 课程表:course(课程号,课程名称,教师号) 教师表:teac ...

  5. 华为云计算IE面试笔记-其它知识点

    * 虚拟化与云计算的区别?云计算和虚拟化关系?华为云计算怎么做的? 虚拟化是一种具体的技术,实现的是对硬件资源的虚拟化,提升资源利用率,降低能耗,云计算是一种概念各种技术组件的集合,针对的是对各种资源 ...

  6. HCNP Routing&Switching之路由引入

    前文我们了解了路由控制技术策略路由相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15333139.html:今天我们来聊一聊路由引入技术相关话题: 路 ...

  7. 10-Java中共享内存可见性以及synchronized和volatile关键字

    Java中共享变量的内存可见性 我们首先来看一下在多线程下处理共享变量时Java的内存模型,如图所示 Java内存模型规定,将所有的变量都存放在主存中,当线程使用变量的时候,会把主内存里面的变量赋值到 ...

  8. JVM学习笔记——栈区

    栈区 Stack Area 栈是运行时的单位,堆是存储单位,栈解决程序的运行问题,即程序如何执行,如何处理数据. 每个线程在创建时都创建一个该线程私有的虚拟机栈,每个栈里有许多栈帧,一个栈帧对应一个 ...

  9. PostgreSQL 大小写问题 一键修改表名、字段名为小写

    标准的SQL是不区分大小写的.但是PostgreSQL对于数据库中对象的名字允许使用支持大小写区分的定义和引用方法.方式就是在DDL中用双引号把希望支持大小的对象名括起来.比如希望创建一个叫AAA的表 ...

  10. hibernate不同条件查询结果集一样,主键@ID的原因

    这一周在翻新公司的老项目,遇到了一些预想不到的事情. 其中一个是,使用hibernate查询,不同的查询条件,居然都查到同一条记录,感觉奇怪了,开始以为是session的原因: 后来发现是hibern ...