分布式搭建-3 HBase搭建

环境:
    1..版本选择
    参考: hadoop集群版本兼容问题
          hadoop-2.5.0
          hive-0.13.1
          spark-1.2.0
          hbase-0.98.6
          flume-ng-1.5.0
          jdk-8u161-linux-x64.tar.gz

组件分布:

 

qy01

qy02

qy03

HDFS

NameNode

DataNode

DataNode

DataNode

YARN

ResourceManager

NodeManager

NodeManager

NodeManager

Zookeeper

Zookeeper

Zookeeper

Zookeeper

Kafka

Kafka

Kafka

Kafka

Flume

Flume

Flume

Flume

Spark

Spark

 

 

Hive

Hive

 

 

Mysql

Mysql

 

 

(1)解压文件到用户根目录,命令:

sudo tar -zxvf hbase-0.98.6-cdh5.3.6.tar.gz -C /opt/modules/

解压后根目录会出现hbase-0.98.6-cdh5.3.6这个文件夹

(2)修改 hbase-0.98.6-cdh5.3.6 为 hbase-0.98.6

mv hbase-0.98.6-cdh5.3.6 hbase-0.98.6

4.修改hbase-0.98.6文件的权限,是当前用户能对其进行操作

命令:sudo chown -R 用户名 文件路径 

我的当前操作的用户名是:qy0102 所以命令是:

#sudo chown -R kfk:kfk /opt/modules/hbase-0.98.6

使用notepad++连接虚拟机:

5.配置环境变量

(1)配置环境变量,命令:

#hbase
export HBASE_HOME=/opt/modules/hbase-0.98.6
export PATH=$PATH:${HBASE_HOME}/bin

6.修改配置文件

官网配置参考:https://hbase.apache.org/book.html#quickstart 

使用notepad++连接虚拟机:

(1)修改 hbase-env.sh

在29行  添加 jdk 路径.

分布式搭建-3 HBase搭建_第1张图片

在124行禁用hbase自带的zookeeper

 

(2). 修改 hbase-site.xml

hbase.rootdir: namenode主机名 hadoop01  注意端口号要和namenode的端口号保持一致(core-site.xml的配置要一致)

hbase.cluster.distributed: 是否分布式

hbase.zookeeper.quorum: zookeeper节点主机名


  
    hbase.rootdir
    hdfs://hadoop01:9000/hbase
  
  
    hbase.cluster.distributed
    true
  
  
    hbase.zookeeper.quorum
    hadoop01,hadoop02,hadoop03
  

(3)配置 regionservers 添加regionservers节点

hadoop01
hadoop02
hadoop03

7.启动集群

(1) 启动zookeeper

1)各个节点使用如下命令启动Zookeeper服务

bin/zkServer.sh start

2)查看各个节点服务状态

bin/zkServer.sh status

(2)启动namenode

sbin/hadoop-daemon.sh start namenode

(3)在三台主机启动 datanode

sbin/hadoop-daemon.sh start datanode

(4)启动 master

./bin/hbase-daemon.sh start master

(5)在三台主机启动 regionserver

sbin/hbase-daemon.sh start regionserver

可以合并4、 5步直接使用命令: 

./bin/start-hbase.sh

8.web页面查看 端口 60010

http://ip:60010

分布式搭建-3 HBase搭建_第2张图片

9.hbase基本操作

1.1 连接HBase

使用hbase shell命令来连接正在运行的Hbase实例,该命令位于HBase安装包下的bin/目录。HBase Shell提示符以>符号结束。

$ ./bin/hbase shell
hbase(main):001:0>

1.2 显示HBase Shell 帮助文档

输入help并按Enter键,可以显示HBase Shell的基本使用信息,和我们接下来会列举的一些命令类似。需要注意的是,表名,行,列都必须包含在引号内。

1.3 退出HBase Shell

使用quit命令,退出HBase Shell 并且断开和集群的连接,但此时HBase仍然在后台运行。

1.4 查看HBase状态

hbase(main):024:0>status
3 servers, 0 dead,1.0000 average load

1.5 关闭HBase

bin/start-hbase.sh开启所有的HBase进程相同,bin/stop-hbase.sh用于关闭所有的HBase进程。

$ ./bin/stop-hbase.sh
stopping hbase....................
$

使用create命令来创建一个新的表。在创建的时候,必须指定表名和列族名。

hbase(main):001:0> create 'test', 'cf'0 row(s) in 0.4170 seconds

=> Hbase::Table - test

2.2 列举表信息

使用list命令:

hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds

=> ["test"]

2.3 获取表描述

使用describe命令:

hbase(main):003:0> describe 't'
DESCRIPTION ENABLED
 't', {NAME => 'f', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_ true
 SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2
 147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false
 ', BLOCKCACHE => 'true'}
1 row(s) in 1.4430 seconds

2.4 删除表

使用drop命令实现删除表的功能:

hbase(main):011:0> drop 'test'0 row(s) in 0.1370 seconds

2.5 检查表是否存在

hbase(main):021:0>exists 'member'
Table member doesexist                                                                                                                                     
0 row(s) in 0.1610seconds

三、数据管理(DML)操作

3.1 向表中插入数据

使用put命令,将数据插入表中:

hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'0 row(s) in 0.0850 seconds

hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'0 row(s) in 0.0110 seconds

hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'0 row(s) in 0.0100 seconds

可以看到,在本例中,一共插入了三条数据,一次一条。第一次插入到row1行,cf/:列,插入值为value1。所有列在HBase中有一个列族前缀。本例中的cf,后面跟着一个冒号还有一个列限定后缀,本例中是a

3.2 一次性扫描全表数据

一种获取HBase数据的方法是扫描,使用scan命令来扫描表的数据。可以限制限制扫描的范围,在本例中,获取的是所有的数据。

hbase(main):006:0> scan 'test'
ROW                                      COLUMN+CELL
 row1                                    column=cf:a, timestamp=1421762485768, value=value1
 row2                                    column=cf:b, timestamp=1421762491785, value=value2
 row3                                    column=cf:c, timestamp=1421762496210, value=value3
3 row(s) in 0.0230 seconds

3.3 获取一个行数据

使用get命令来获得某一行的数据:

hbase(main):007:0> get 'test', 'row1'
COLUMN                                   CELL
 cf:a                                    timestamp=1421762485768, value=value1
1 row(s) in 0.0350 seconds

3.4 更新一条数据

使用put命令,本例中,将shiyanlou地址改为E

hbase(main):004:0>put 'company','shiyanlou','info:address' ,'E'0 row(s) in 0.0210seconds

hbase(main):005:0>get 'company','shiyanlou','info:address' 
COLUMN                                   CELL                                                                                                               
 info:address                               timestamp=1321586571843, value=E                                                                                  
1 row(s) in 0.0180seconds

3.5 禁用一个表

如果你想要删除一个表或是修改它的设置,或者是其它的情况,都需要首先禁用该表。使用disable命令禁用表,enable命令重新启用表。

hbase(main):008:0> disable 'test'0 row(s) in 1.1820 seconds

hbase(main):009:0> enable 'test'0 row(s) in 0.1770 seconds

 

你可能感兴趣的:(安装搭建)