美文网首页我爱编程
Hbase的安装部署

Hbase的安装部署

作者: 柳仁儿 | 来源:发表于2017-04-09 19:43 被阅读0次

1.先决条件(HBase 依赖的一些重要的中间件、系统服务或配置)

1)运行时环境JDK

2)SSH 服务

集群模式的HBase 的启动或关闭依赖于SSH 服务,所以操作系统必须安装该服务,sshd进程必须处于运行状态,可执行以下命令查看服务状态:service sshd status。HBase 通过SSH 管理所有节点的守护进程,和Hadoop 的NameNode 一样,HMaster 必须能够免密登录到集群的所有节点,配置“ SSH 免密登录”。

3. 域名系统DNS

HBase 通过本地主机名(Host Name)或域名(Domain Name)来获取IP 地址,因此要确保正向和反向DNS 解析是正常的。在进行DNS 解析时会首先查询本地/etc/hosts 文件,因此建议通过配置该文件指定主机名或域名到IP 地址的映射关系而不使用域名解析服务,这样做将更易于维护,当出现主机无法识别的异常时也更加容易定位问题出现的位置,并且通过本地/etc/hosts 文件解析IP 地址速度也会更快一些。当决定使用DNS 服务的时候,还可以通过如下设置更加精确地控制HBase 的行为。

4. 本地环回地址Loopback IP

HBase 要求将本地回环接口配置成127.0.0.1,可以在/etc/hosts 文件配置,通常系统安装后都已经包含了该配置。127.0.0.1 localhost

5. 网络时间协议NTP

HBase 要求集群中节点间的系统时间要基本一致,可以容忍一些偏差,默认相差30s 以内。可以通过设置参数hbase.master.maxclockskew 属性值修改最大容忍偏差时间。偏差时间较多时集群会产生一些奇怪的行为。用户需要在集群中运行NTP 服务来同步集群的时间,如果在运行正常的集群中读取数据发生了一些莫名其妙的问题,例如读到的不是刚写进集群的数据而是旧的数据,这时需要检查集群各节点间时间是否同步。

6. 资源限制命令:ulimit 和nproc

HBase 和其他的数据库软件一样会同时打开很多文件。Linux 中默认的ulimit 值是1024,这对HBase 来说太小了。当使用诸如bulkload 这种工具批量导入数据的时候会得到这样的异常信息:java.io.IOException:Too many open files。我们需要改变这个值,注意,这是对操作系统的参数调整,而不是通过HBase 配置文件完成的,我们可以大致估算ulimit 值需要配置为多大。

7. 操作系统Windows

和Hadoop 一样,HBase 在Windows 系统下没有经过严格的测试,因此不建议在生产环境中将HBase 运行在Windows 下,如果想在Windows 下安装HBase,需要安装Cygwin。从0.96 版本开始,HBase 提供了一套.cmd 的Windows 运行脚本。

8. Hadoop 版本选择不同

9. HBase 安全

HBase 运行在Hadoop 上,在Hadoop 1.0.0 版本中已经加入最新的安全机制和授权机制(Simple 和Kerberos)。

10. 安装ZooKeeper

ZooKeeper 是HBase 集群的“协调器”,负责解决HMaster 的单点问题,以及root 表的路由,所以一个独立的ZooKeeper 服务是必需的。要确保事先安装好一个ZooKeeper集群。

2.HBase 运行模式

单机模式和分布式模式:在默认情况下HBase 运行在单机模式下,如果要运行分布式模式的HBase,需要编辑安装目录下conf 文件夹中相关的配置文件。

单机模式:

HBase 默认的运行模式,在单机模式中,HBase 使用本地文件系统,而不是HDFS,所有的服务和ZooKeeper 都运行在一个JVM 中。ZooKeeper 监听一个端口,这样客户端就可以连接HBase 了。

1)在conf 目录下的hbase-env.sh 文件中配置HBase Java 的安装路径

export JAVA_HOME=/opt/modules/jdk1.7.0_67

export HBASE_MANAGES_ZK=false            Hbase自带的zookeeper,不用

2)配置conf目录下的hbase-site.xml 文件

配置临时目录    先创建目录   mkdir datas

hbase.tmp.dir      /opt/modules/hbase-0.98.6-hadoop2/datas

存储hbase数据的目录

hbase.rootdir    hdfs://xxxxxxxx/hbase

ZooKeeper 数据存放的位置

hbase.zookeeper.property.dataDir    

�hbase.rootdir 代表 HBase 数据存放的位置,单机模式下存储到本地目录。

��hbase.zookeeper.property.dataDir 代表 ZooKeeper 数据存放的位置。

3)启动HBase

运行如下脚本启动HBase:bin/start-hbase.sh

分布式模式 

HBase 分布式模式有两种:伪分布式模式和分布式模式

伪分布式模式是把所有进程运行在一台机器上,但不是一个JVM 上;而完全分布式模式就是把整个服务分布在各个节点上。无论采用哪种分布式模式,都需要使用HDFS。在操作HBase 之前,要确认HDFS 可以正常运行。

伪分布式模式:用于测试

配置hbase-site.xml

启动HBase   bin/start-hbase.sh

也可以在同一服务器启动额外备份HMaster:  bin/local-master-backup.sh start 1

“1”表示使用端口60001 和60011,该备份的HMaster 及其日志文件放在logs/hbase-

${USER}-1-master-${HOSTNAME}.log 中。

启动多个备份HMaster:     bin/local-master-backup.sh start 2 3

可以启动9 个备份HMaster,最多可以有10 个HMaster。

如果要启动更多RegionServer      bin/local-regionservers.sh start 1

“1”表示使用端口60201 和60301,日志文件存放在logs/hbase-${USER}-1-regionserver$-

{HOSTNAME}.log 中。

在刚运行的RegionServer 上增加4 个额外RegionServer,最多可以支持100 个。

bin/local-regionservers.sh start 2 3 4 5

停止HBase

假设想停止备份HMaster 1    cat /${PID_DIR}/hbase-${USER}-1-master.pid |xargs kill -9

停止RegionServer     bin/local-regionservers.sh stop 1

分布式模式

安装ZooKeeper

配置conf/hbase-env.sh

HBASE_MANAGES_ZK 的默认值是true, 作用是让HBase 启动的同时也启动ZooKeeper。

使用HBase 管理ZooKeeper     export HBASE_MANAGES_ZK=true

配置hbase-site.xml

hbase.rootdir                                                    hdfs://host1:9000/hbase   

hbase.cluster.distributed                                  true

hbase.zookeeper.property.clientPort                2181 

hbase.zookeeper.quorum                                 host1,host2,host3

hbase.zookeeper.property.dataDir                    /home/hadoop/zookeeperdata

�hbase.rootdir :这个目录是 RegionServer 的共享目录,用来持久化 HBase

�hbase.cluster.distributed       HBase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式

hbase.zookeeper.quorumzookeeper             地址多台用逗号分割

�hbase.zookeeper.property.clientPort              表示客户端连接 ZooKeeper 的端口

�base.zookeeper.property.dataDir                     这个参数用于设置 ZooKeeper 快照的存储位置。

配置regionservers 文件      conf 目录下的regionservers 文件,一行一个主机名

替换jar包    删掉原来的包,hadoop15个,zookper1个

运行HBase

先启动hadoop,再启动zookeeper,最后启动hbase

当ZooKeeper 由HBase 托管的时候,Zookeeper 集群的启动是Hbase 启动脚本的一部分。首先确认HDFS 是运行着的,然后启动HBase      bin/start-hbase.sh

或启动hbase进程

bin/hbase-daemon.sh start  master

bin/hbase-daemon.sh start  regionserver

相关文章

  • HBase的部署

    HBase的部署方式包括: HBase的安装 本文的HBase安装是在Hadoop已经安装好的基础上实现的,所以之...

  • 4.搭建HBase

    Hbase安装部署基本步骤: 1、在Hadoop配置的基础上,配置环境变量HBASE_HOME、hbase-env...

  • opentsdb+hbase的安装部署

    以下安装部署都是在centos 7系统下安装部署的。 OpenTSDB是基于HBase存储时间序列数据的一...

  • 玩转大数据之HBase

    HBase版本:我们使用1.2.4的版本 HBase安装模式: 单机部署:单台机器安装,相关服务进程运行在一个JV...

  • hadoop+hbase部署,phoeni的安装和使用(二)

    1. Hbase的部署(单机) 1.1 下载安装 将下载的 hbase-1.2.2-bin.tar.gz 文件解压...

  • Module-Hbase技术文档

    Hbase技术文档.md tags: 大数据 底层存储 分布式 Hbase 2019年 安装部署 环境依赖说明: ...

  • 尚硅谷大数据技术之HBase

    第2章 HBase安装 2.1 Zookeeper正常部署 首先保证Zookeeper集群的正常部署,并启动之: ...

  • HBase安装部署

    Zookeeper正常部署 首先保证Zookeeper集群的正常部署,并启动之: Hadoop正常部署 Hadoo...

  • Hbase安装部署

    一、Hbase简介 HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问,是Go...

  • HBase安装部署

    一、概述HBase是一个高可用、高性能、面向列、可伸缩的分布式存储系统。适合存储大表数据。二、安装准备1、Hado...

网友评论

    本文标题:Hbase的安装部署

    本文链接:https://www.haomeiwen.com/subject/pfzdattx.html