最新版分布式 Hbase安装部署!!最新版!!!

一、简述:
  1. HBase原本是由Yahoo公司开发后来贡献给了Apache的一套开源的、基于Hadoop的、分布式的、可扩展的、非关系型数据库

  2. 如果需要对大量数据进行随机且实时读写,那么可以考虑使用HBase

  3. HBase能够管理非常大的表:billions of rows*millions of columnsHBase是仿照Google的Big Table来进行实现的,因此,HBase和BigTable的原理几乎一致,只有实现语言不同。HBase是使用Java语言实现的,BigTable使用的是C语言实现的-HBase最终将数据落地到HDFS上

二、基本概念:
1.RowKey:行键

a. 在HBase中没有主键的概念,取而代之的是行键不同于传统的关系型数据库,在HBase中,定义表的时候不需要指定行而是在添加数据的时候来手动添加行键

2.Column Family:列族/列簇

a.在HBase中,没有表关联的概念,取而代之的是用列族来进行设计

b.在HBase中,一个表中至少要包含1个列族,可以包含多个列族,理论上不限制列族的数量
c.在HBase中强调列族,但是不强调列-在定义表的时候必须定义列族,但是列可以动态增删,一个列族中可以包含8到多个列

d.Hbase能够存储稀疏类型的数据,因此你能够存储结构化数据和半结构化数据

三、常用命令:

命令(例如针对person表)

命令描述
processlist查看当前HBase在执行的任务
status查看HBase的运行状态
version查看HBase的版本
who am i查看HBase的当前用户
create person,{NAME =>‘basic’},{NAME =>‘info’},{NAME =>‘other’}或者create ‘person’,‘basic’,‘info’,‘other’建立一个person表,包含3个列族:basic,info, other
append’person’,‘p1’,‘basic:name’,Bob’在person表中添加一个行键为p1的数据,向basic列族的name列中添加数据
get person’,"p1获取指定行键的数据
get ‘person’,‘p1’,{COLUMN => basic’} 或者get ‘person’,‘p1’, ‘basic’获取指定行键指定列族的数据
get ‘person’,‘p1’, {COLUMN => [‘basic’,‘info’ ]}或者 get ‘person’,‘p1’,‘basic’,‘info’获取指定行键多列族的数据
get ‘person’,‘p1’, {COLUMN => [‘basic’,‘name’ ]}或者 get ‘person’,‘p1’,'basic:name获取指定行键指定列的数据
scan 'person扫描整表
scan personr,{COLUMNS =>‘basic’}获取指定列族的数据
四、安装部署

1.准备三台虚拟机(我的分别是ali-kafka-vm1,ali-kafka-vm2,ali-kafka-vm3),确保已搭建zookeeper和hadoop集群环境。可参考我的其他两篇文章:最新版zookeeper集群搭建最新版hadoop集群搭建

2.在vm1根目录下新建目录:

mkdir hbase

3.官网下载最新版安装包到ali-kafka-vm1的hbase目录.官网地址:Apache Download Mirrors

4.解压安装包到该目录:

tar  -zxvf hbase-2.6.0-bin.tar.gz

5.解压成功:

在这里插入图片描述

6.进入hbase的配置目录

cd hbase-2.6.0/conf

7.编辑hbase-env.sh文件

添加如下配置(编写完后 source hbase-env.sh生效:

export JAVA_HOME=/usr/java/jdk1.8.0-x64
export HBASE_MANAGES_ZK=false   #使用我们自己安装的zookeeper

8.编辑hbase-site.xml


 <!--开启HBase的分布式-->
 <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
  </property>
   <!--指定HBase在HDFS上的数据存储目录-->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://ali-kafka-vm1:9000/hbase</value>
  </property>
 <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
  <!--配置Zookeeper的连接地址-->
 <property>
    <name>hbase.zookeeper.quorum</name>
    <value>ali-kafka-vm1:2181,ali-kafka-vm2:2181,ali-kafka-vm3:2181</value>
  </property>
 <property>
    <name>hbase.wal.provider</name>
    <value>filesystem</value>
  </property>

9.编辑regionservers文件,添加三台主机名

在这里插入图片描述

10.需要将Hadoop的核心配置文件拷贝到当前的HBase的配置目录下

cp /hadoop/hadoop-3.4.0/etc/hadoop/core-site.xml ./

在这里插入图片描述

11.将整个hbase目录分发到另外两台服务器:

 scp -r /hbase root@ali-kafka-vm2:/hbase
 scp -r /hbase root@ali-kafka-vm3:/hbase

12.去另外两台服务器查看是否拷贝成功:

在这里插入图片描述

13.配置服务器hbase环境变量(三台服务器都需配置)

vim /etc/profile

配置内容:

export HBASE_HOME=/hbase/hbase-2.6.0
export PATH=$PATH:$HBASE HOME/bin

14.source使其生效后在vm1服务器启动hbase(在此之前保证已启动zookeeper和hadoop):

start-hbase.sh

在这里插入图片描述

主节点jps查看:

在这里插入图片描述

从节点jps查看:
在这里插入图片描述
至此,分布式hbase搭建成功!!觉得有用的小伙伴点个免费的赞赞吧,谢谢!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不会敲代码a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值