HBase集群部署

HBase是分布式数据库,本身也需要借助zookeeper进行集群节点间的协调(Master, RegionServer), 可以使用HBase自带的zookeeper,也可以使用外部独立部署的zookeeper, 从练习的角度讲,可以使用HBase内部自带的zookeeper

在开始部署HBase前,要先检查下Hadoop集群上的java和HBase的配套关系

1)上传安装包到待部署节点,解压并得到安装目录

以我的为例,安装包上传到3个待部署节点的/usr/local/src/目录,解压后得到HBase安装目录,同时修改安装目录名为hbase-0.98.24

[/usr/local/src] chmod  hbase-0.98.-hadoop1-bin.tar.gz
[/usr/local/src] tar -xzvf hbase-0.98.-hadoop1-bin.tar.gz
[/usr/local/src] mv hbase-0.98.-hadoop1 hbase-0.98.

2) HBase配置文件修改

任选1个节点,修改HBase配置文件目录conf下的 hbase-site.xml, regionservers, hbase-env.sh

hbase-site.xml

 配置参数说明

*hbase.tmp.dir本地目录上存放的hbase临时数据

*hbase.rootdir:   HDFS上HBase真正存储数据的根路径(用户表的表结构,用户表对应的各个HFile,  各个RegionServer自己维护的Hlog)

*hbase.cluster.distributed: HBase是否以集群模式运行

*hbase.zookeeper.quorum: HBase依赖的zookeeper集群在哪些节点上,填入节点主机名即可

*hbase.zookeeper.property.dataDir: 本地目录上存储的zookeeper快照

 <configuration>

          <property>
<name>hbase.tmp.dir</name>
<value>/usr/local/src/hbase-0.98./tmp</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/src/hbase-0.98./zookeeper</value>
</property>
</configuration>

hbase-env.sh

# The java implementation to use.  Java 1.6 required.
export JAVA_HOME=/usr/local/src/jdk1.6
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib # Tell HBase whether it should manage it's own instance of Zookeeper or not.
# 使用HBase自带的zookeeper, 生产环境设置为False,使用外部zk集群
export HBASE_MANAGES_ZK=true

regionservers

哪些节点将作为regionserver, 写入主机名即可,每行一个

Master也作为了1个regionserver, 即Hbase的主节点,同时也作为Regionserver

master
slave1
slave2

3) HBase配置文件分发到其他待部署HBase的各个节点

# scp –rp hbase-site.xml root@slave1:/usr/local/src/hbase-0.98./conf
# scp –rp hbase-env.sh root@slave1:/usr/local/src/hbase-0.98./conf
# scp –rp regionservers root@slave1:/usr/local/src/hbase-0.98./conf # scp –rp hbase-site.xml root@slave2:/usr/local/src/hbase-0.98./conf
# scp –rp hbase-env.sh root@slave2:/usr/local/src/hbase-0.98./conf
# scp –rp regionservers root@slave2:/usr/local/src/hbase-0.98./conf

4)配置所有待部署HBase的各个节点的环境变量

/etc/profile文件增加如下内容

export HBASE_HOME=/usr/local/src/hbase-0.98./
export HBASE_CLASSPATH=$HBASE_HOME/conf
export HBASE_LOG_DIR=$HBASE_HOME/logs
export PATH=$PATH:$HBASE_HOME/bin

通过source命令,让环境变量生效

# source /etc/profile

5)检查待部署Hbase的各个节点,HDFS是否正常启动,zk是否关闭

HBase的数据存储,依赖于HDFS,因此要先保证各个节点上的HDFS进程已经正常启动, JPS命令在各个节点上进行查询即可

由于配置是使用HBase自带的zk集群,因此先通过zkServer.sh stop将各个节点上的zookeeper进行关闭

6)只需要在主节点Master上启动HBase,从节点RegionServer自动被拉起

进入HBase安装目录下的bin目录,执行start-hbase.sh启动整个集群, 执行stop-hbase.sh停止整个集群

# ./start-hbase.sh
# ./stop-hbase.sh

7)集群启动后检查各个节点的HBase进程,部署完成

主节点:同时具有Master和RegionServer角色,并且启动了HBase自带zk

从节点:具RegionServer角色,并且启动了HBase自带zk

02_HBase集群部署的更多相关文章

  1. Quartz.net持久化与集群部署开发详解

    序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我的罪过. 但是quart.net是经过许多大项 ...

  2. Openfire 集群部署和负载均衡方案

    Openfire 集群部署和负载均衡方案 一.   概述 Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Hapro ...

  3. 基于Tomcat的Solr3.5集群部署

    基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...

  4. jstorm集群部署

    jstorm集群部署下载 Install JStorm Take jstorm-0.9.6.zip as an example unzip jstorm-0.9.6.1.zip vi ~/.bashr ...

  5. CAS 集群部署session共享配置

    背景 前段时间,项目计划搞独立的登录鉴权中心,由于单独开发一套稳定的登录.鉴权代码,工作量大,最终的方案是对开源鉴权中心CAS(Central Authentication Service)作适配修改 ...

  6. Windows下ELK环境搭建(单机多节点集群部署)

    1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...

  7. 理解 OpenStack + Ceph (1):Ceph + OpenStack 集群部署和配置

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  8. HBase集成Zookeeper集群部署

    大数据集群为了保证故障转移,一般通过zookeeper来整体协调管理,当节点数大于等于6个时推荐使用,接下来描述一下Hbase集群部署在zookeeper上的过程: 安装Hbase之前首先系统应该做通 ...

  9. SolrCloud-5.2.1 集群部署及测试

    一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主机IP配置为静态IP(保证各主机可以正常通信,为避免 ...

随机推荐

  1. Python3学习之路~2.4 字典操作

    字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 定义字典(dictionary) info = { 'stu1101': "Amy ...

  2. 【剑指offer】旋转数组的最小数字

    一.题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个 ...

  3. golang使用vendor目录来管理依赖包

    Vendor目录介绍 随着Go 1.5 release版本的发布,vendor目录被添加到除了GOPATH和GOROOT之外的依赖目录查找的解决方案.在Go 1.6之前,你需要手动的设置环境变量GO1 ...

  4. visual studio code 的必装推荐插件plugin, vscode, vsc

    An Old Hope Theme     (theme, 推荐,且推荐它的 classic theme,安装后在颜色选项里选择,该插件的定制见文末) Cobalt2     (theme) Drac ...

  5. There are 2 missing blocks. The following files may be corrupted

    There are 2 missing blocks. The following files may be corrupted: 步骤1,检查文件缺失情况 可以看到, blk_1074785806 ...

  6. 为什么要用Markov chain Monte Carlo (MCMC)

    马尔科夫链的蒙特卡洛采样的核心思想是构造一个Markov chain,使得从任意一个状态采样开始,按该Markov chain转移,经过一段时间的采样,逼近平稳分布stationary distrib ...

  7. [LeetCode] 627. Swap Salary_Easy tag: SQL

    Given a table salary, such as the one below, that has m=male and f=female values. Swap all f and m v ...

  8. logistics回归

    logistic回归的基本思想 logistic回归是一种分类方法,用于两分类问题.其基本思想为: a. 寻找合适的假设函数,即分类函数,用以预测输入数据的判断结果: b. 构造代价函数,即损失函数, ...

  9. 用户用户组管理:用户管理命令-passwd

    passwd直接回车就是给root设密码.或加root. 普通用户只能改自己的密码.改时直接敲passwd,回车.否则报错. 因为只有root可以在passwd后加用户名.其实最常见的就是不加选项. ...

  10. 一个新人对HTML内JavaScript的理解

    首先是对于JavaScript(以后简称JS)的定义: ① JS他是一个脚本语言,有点类似于外部插件,需要插入引用才会有效 ② 他需要一个宿主文件,就是他插入到谁里面进行运算,谁就是这个JS的宿主文件 ...