实验四 HBase的安装配置

HBase安装配置、HBase配置(伪分布式模式)、进入HBase数据库、HBase架构原理 、运行Hbase的错误

实验任务要求:
1、运行Hbase Shell命令操作数据表
2、编程调试数据表操作的Java程序

一、HBase安装配置

1.1下载压缩包(选择与自己安装的Hadoop版本的兼容版本)

去官网下,选择稳定版hbase-1.4.9-bin.tar.gz,在Windows里面下载。

1.2将压缩包从Windows传输到Linux当前目录下

SecureCRT 【File】→【Connect SFTP Session】开启sftp操作
在这里插入图片描述
在这里插入图片描述

1.3安装

解压安装到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)
在这里插入图片描述

1.4配置环境变量

在/etc/profile文件里添加HBase安装路径的配置信息,之后用source命令使配置生效。安装之后的目录为hbase-1.4.9,修改为hbase,所以我的HBase安装路径是/opt/module/hbase。
在这里插入图片描述
source /etc/profile配置生效 (基于上一个文档增加的内容)
测试HBase安装成功,命令hbase version,或hbase。
在这里插入图片描述

1.5修改配置信息

修改slaves里的内容,改成虚拟机的主机名
在这里插入图片描述
把zoo_sample.cfd文件名称改为zoo.cfg,
在这里插入图片描述

二、HBase配置(伪分布式模式)

配置文件位于HBase安装路径的conf目录(/opt/module/hbase/conf)下面

2.1配置hbase-env.sh

2.1.1设置Java,HBase,zookeeper安装路径

在这里插入图片描述

2.1.2设置HBase的配置文件路径(/opt/module/hbase/conf)

在这里插入图片描述
采用HBase自带Zookeeper,设置参数true
在这里插入图片描述

2.2在eclipse里创建一个ExampleForHbase.java代码

在这里插入图片描述

2.3 修改eclipse的内容

2.3.1在【Properties】 里的【Java Build Path】 中【Libraries】添加【hbase-1.4.9】中【lib】的除了【slf4j-log4j12-1.7.10.jar】其它所有jar文件都要添加;并添加【conf】文件夹,把【hbase-1.4.9】中【conf】的【hbase-site.xml】添加到【conf】文件夹里。

在这里插入图片描述

2.3.2 把F:\大数据软件\hbase-1.4.9-bin\hbase-1.4.9\conf里的hbase-site.xml

文件复制到conf文件夹下
在这里插入图片描述

2.4 配置hbase-site.xml,注:bigdata128,localhost改成虚拟机的主机名

<!--hbase共享目录,持久化hbase数据
<!--配置为core-site.xml 中的fs.defaultFS 
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://bigdata128:9000/hbase</value>
</property>
            <!--分布式运行模式,false(默认)为单机模式-->
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>

<!--Zookeeper集群的地址列表,伪分布式用默认   localhst-->
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
</property>

2.5在TRC启动并运行HBase(之前启动Hadoop)

启动HBase,并jps查看! 
start-all.sh
start-hbase.sh
zkServer.sh start

在这里插入图片描述
在这里插入图片描述
用完停止HBase运行(之后停止Hadoop)
在这里插入图片描述

三、进入HBase数据库

进入HBase的shell命令行模式
在这里插入图片描述
了解命令使用方法,如创建表,输入help ‘create’

3.1 创建表

在这里插入图片描述

3.2 添加数据

在这里插入图片描述

3.3 查看数据

在这里插入图片描述在这里插入图片描述3.4 删除数据
删除一个单元格在这里插入图片描述
删除一行
在这里插入图片描述

3.5 删除表

在这里插入图片描述

四、 HBase架构原理

一、HBase的简介
HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价的PC Server上搭建大规模结构化存储集群。
HBase是Google BigTable的开源实现,与Google BigTable利用GFS作为其文件存储系统类似,HBase利用Hadoop HDFS作为其文件存储系统;
   Google运行MapReduce来处理BigTable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;
Google BigTable利用Chubby作为协同服务,HBase利用Zookeeper作为协同服务。
二、HBase系统架构
从HBase的架构图上可以看出,HBase中的存储包括HMaster、HRegionSever、HRegion、HLog、Store、MemStore、StoreFile、HFile等,以下是HBase存储架构图:
在这里插入图片描述
HMaster的作用:
为HRegionServer分配HRegion
负责HRegionServer的负载均衡
发现失效的HRegionServer并重新分配
HDFS上的垃圾文件回收
处理Schema更新请求

HRegionServer的作用:
维护HMaster分配给它的HRegion,处理对这些HRegion的IO请求
负责切分正在运行过程中变得过大的HRegion

五、运行Hbase的错误

在这里插入图片描述
WARN [main] zookeeper.ZooKeeperNodeTracker: Can’t get or delete the master znode
Will not attempt to authenticate using SASL (unknown error)

建表之后查看logs报错
 ERROR [main]      client.ConnectionManager$HConnectionImplementation: Can't get connection to ZooKeeper: KeeperErrorCode = ConnectionLoss for /hbase
建表时报错
 Can't get connection to ZooKeeper: KeeperErrorCode = ConnectionLoss for /hbase

重新停止、启动HBASE,查看logs,报错2019-04-04 10:41:52,238 INFO [M:0;bigdata128:35321-SendThread(localhost:2181)] zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
Hbase shell 运行status
报错2019-04-04 10:49:55,710 ERROR [main] client.ConnectionManager$HConnectionImplementation: Can’t get connection to ZooKeeper: KeeperErrorCode = ConnectionLoss for /hbase
在这里插入图片描述

启动hbase,报错:
 ERROR [main] server.ZooKeeperServer: ZKShutdownHandler is not registered
 ERROR [main] master.HMasterCommandLine: Master exiting
java.io.IOException: Could not start ZK at requested port of 2181.  ZK was started at port: 2182.  Aborting as  clients (e.g. shell) will not be able to find this ZK quorum.

关闭防火墙service iptables stop

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值