实验四HBase的安装配置

    xiaoxiao2022-07-06  184

    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)