Hbase的安装部署

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容