HBase集群搭建

首先HBase是基于Hadoop集群Zookeeper集群的,所以先将这两个搭建完毕

1.HBase简介及规划

简介

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

与FUJITSU Cliq等商用大数据产品不同,HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。

规划

主机名IP地址职责
master192.168.134.154HBase主节点
slave1192.168.134.155HBase备用节点

2.上传解压

准备:
1.CentOS7.0
2.hbase-2.0.0
3.XShell 5
4.Xftp 5

使用Xshell工具(官网下载免费版本即可)连接虚拟机

在主节点的虚拟机的usr下创建一个hbase文件夹作为压缩包存放路径和安装路径

[root@master ~]# cd /usr/
[root@master usr]# ls
bin  etc  games  hadoop  hive  include  java  lib  lib64  libexec  local  sbin  share  sqoop  src  tmp  zookeeper
[root@master usr]# mkdir hbase
[root@master usr]# ls
bin  etc  games  hadoop  hbase  hive  include  java  lib  lib64  libexec  local  sbin  share  sqoop  src  tmp  zookeeper

利用Xftp将HBase压缩包上传到hbase文件夹下

[root@master usr]# cd hbase/

然后解压

[root@master hbase]# tar -zxf hbase-2.0.0-bin.tar.gz 

3.配置hbase集群

配置hbase集群,要修改4个文件 , copy两个文件以及新建一个文件(首先zk集群已经安装好了)

3.1 .把hadoop的hdfs-site.xml和core-site.xml 拷贝到hbase安装目录的conf下

[root@master hbase]# cd hbase-2.0.0/conf/
[root@master conf]# cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml /usr/hbase/hbase-2.0.0/conf/
[root@master conf]# cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml /usr/hbase/hbase-2.0.0/conf/
[root@master conf]# ls
core-site.xml                     hbase-env.cmd  hbase-policy.xml  hdfs-site.xml     regionservers
hadoop-metrics2-hbase.properties  hbase-env.sh   hbase-site.xml    log4j.properties

3.2 .修改hbase-env.sh

[root@master conf]# vim hbase-env.sh 

将28行的
在这里插入图片描述
改为自己的jdk路径
在这里插入图片描述

 export JAVA_HOME=/usr/java/jdk1.8.0_141

再将125行的
在这里插入图片描述
改为
在这里插入图片描述

#告诉hbase使用外部的zk 
export HBASE_MANAGES_ZK=false

保存退出

3.3 .修改hbase-site.xml

[root@master conf]# vim hbase-site.xml 

在configuration中添加

		<!-- 指定hbase在HDFS上存储的路径 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://ns/hbase</value>
        </property>
		<!-- 指定hbase是分布式的 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
		<!-- 指定zk的地址,多个用“,”分割 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>master:2181,slave1:2181,slave2:2181</value>
        </property>

		<!-- 时间服务器不同步导致集群服务无法启动 
		目前regionserver节点的时间和master的时间差距大于30000ms,就是30秒时无法启动		
		服务 -->
		<property>
			<name>hbase.master.maxclockskew</name>
			<value>150000</value>
		</property>
	       
		<property>
			<name>hbase.master.info.port</name>
			<value>60010</value>
		</property>

esc+:wq保存退出

3.4 .修改regionservers

[root@master conf]# vim regionservers 

将其改为你的集群的ip映射名

#localhost

master
slave1
slave2

3.5 .新建backup-masters(高可用)

[root@master conf]# touch backup-masters
[root@master conf]# vim backup-masters 

在其中写入你规划处于backup状态的hbase,因为你启动的hbase节点如果只有一台,而当其宕机的时候整个hbase集群都会变得不可用,所以我们设置一个或多个备用节点

slave1

3.6 .配置profile环境变量

[root@master conf]# vim /etc/profile

在最后添加

export HBASE_HOME=/usr/hbase/hbase-2.0.0
export PATH=$PATH:$HBASE_HOME/bin

保存退出,刷新

[root@master conf]# source /etc/profile

4.拷贝hbase到其他节点

[root@master conf]# scp -r /usr/hbase/ root@slave1:/usr/
[root@master conf]# scp -r /usr/hbase/ root@slave2:/usr/

5.同步时间

如果你集群中所有节点机器的时间相同可以跳过此步骤

在所有节点机器上查看时间

[root@master conf]# date
2018年 10月 24日 星期三 01:27:46 CST
[root@slave1 conf]# date
2018年 10月 24日 星期三 01:27:46 CST
[root@slave2 conf]# date
2018年 10月 24日 星期三 01:27:46 CST

如果不同就执行此操作

centos 安装 ntpdate 并同步时间
在命令行中做如下操作,来安装ntpdate
yum install -y ntp

继续在命令行中操作,进行同步时间
ntpdate 210.72.145.44


ntp常用服务器: 
中国国家授时中心:210.72.145.44 
NTP服务器(上海) :ntp.api.bz

美国:time.nist.gov 
复旦:ntp.fudan.edu.cn 
微软公司授时主机(美国) :time.windows.com 
台警大授时中心(台湾):asia.pool.ntp.org

6.启动所有hbase

启动Zookeeper集群
启动Hadoop集群

启动hbase,在主节点上运行: start-hbase.sh

[root@master conf]# start-hbase.sh

jps查看
其中你的主节点和备用节点上会多出两个进程 HMaster 和HRegionServer
在这里插入图片描述

7.查看测试

通过浏览器访问hbase管理页面 ip(主节点和备用节点):60010
主节点是Master
备用的是backup状态

在这里插入图片描述

在这里插入图片描述
进入shell页面

[root@master bin]# hbase shell

list查看表

hbase(main):001:0> list
TABLE                                                                                                                                       
0 row(s)
Took 1.1337 seconds                                                                                                                         
=> []
hbase(main):002:0> 

其他shell命令参考hbase的基本shell操作

HBase集群搭建完成,接下来会介绍下Java代码实现对HBase的基础操作

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值