HBase 独立模式、伪分布式和分布式安装与使用

HBase 2.3.1

1. 简介

Apache HBase是Hadoop数据库,这是一个分布式,可扩展的大数据存储。适用于大数据进行随机,实时的读/写访问。该项目的目标是在商品硬件群集上托管超大型表-数十亿行X数百万列。

Apache HBase是一个开放源代码,分布式,版本化,非关系型数据库,其仿照Google的Bigtable。正如Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS之上提供类似于Bigtable的功能。

2. 安装

官网下载

2.1 独立模式

一个独立的实例具有所有HBase守护程序(主服务器,RegionServers和ZooKeeper),它们在单个JVM中运行,并保留在本地文件系统中。

配置JAVA_HOME,修改conf/hbase-env.sh
添加

export JAVA_HOME=/usr/local/softwares/java/jdk1.8.0_161

启动

./bin/start-hbase.sh

访问http://ip:16010

连接HBase

./bin/hbase shell

测试建表等

-- 建表
create 'test','cf'
-- 查看表
list
-- 查看表描述
describe 'test'
-- 添加数据
put 'test','row1','cf:a','value1'
put 'test','row2','cf:b','value2'
put 'test','row3','cf:c','value3'
-- 一次扫描表中的所有数据
scan 'test'
-- 获取单行数据
get 'test','row1'
-- 启用禁用表
disable 'test'
enable 'test'
-- 禁用表后才能删除
drop 'test'

停止

./bin/stop-hbase.sh

2.2 伪分布式

需要先安装Hadoop

配置JAVA_HOME,修改conf/hbase-env.sh
添加

export JAVA_HOME=/usr/local/softwares/java/jdk1.8.0_161

修改conf/hbase-site.xml,删除hbase.tmp.dir和hbase.unsafe.stream.capability.enforce

<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
</property>
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://hadoop-master:9000/hbase</value>
</property>

伪分布式

2.3 分布式

需要先安装Hadoop 分布式

这里沿用Hadoop的集群,并已完成无密码的SSH访问。

192.168.110.40 hadoop-master
192.168.110.41 hadoop-slave1
192.168.110.42 hadoop-slave2

先在hadoop-master上使用hadoop账号,解压HBase。

配置JAVA_HOME,修改conf/hbase-env.sh
添加

export JAVA_HOME=/usr/local/softwares/java/jdk1.8.0_161

修改,不使用自带的zookeeper

export HBASE_MANAGES_ZK=false

修改conf/regionservers,删除localhost
添加

hadoop-slave1
hadoop-slave2

在conf下创建文件backup-masters,这里使用hadoop-salve1作为备机,所以填入hadoop-slave1。

修改conf/hbase-site.xml,删除hbase.tmp.dir和hbase.unsafe.stream.capability.enforce。
这里使用外部的zookeeper,但未使用zookeeper集群。

<property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
</property>
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://hadoop-master:9000/hbase</value>
</property>
<property>
  <name>hbase.zookeeper.quorum</name>
  <value>hadoop-master</value>
</property>
<property>
  <name>hbase.zookeeper.property.dataDir</name>
  <value>/usr/local/zookeeper</value>
</property>

在hadoop-slave1和hadoop-slave2使用hadoop账号新建文件夹

mkdir -p /home/hadoop/softwares/hbase

将hadoop-master的HBase分发给hadoop-slave1,hadoop-slave2

scp -r /home/hadoop/softwares/hbase/hbase-2.3.1/ hadoop-slave1:/home/hadoop/softwares/hbase/hbase-2.3.1/
scp -r /home/hadoop/softwares/hadoop/hadoop-2.3.1/ hadoop-slave2:/home/hadoop/softwares/hbase/hbase-2.3.1/

在hadoop-master执行,确保hadoop-master启动了HMaster,hadoop-slave1启动了HMaster和HRegionServer,hadoop-slave2启动了HRegionServer。

./bin/start-hbase.sh

访问http://hadoop-master:16010/
hbase

参考:
HBase 官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值