当前位置:   article > 正文

大数据应用——HBASE实验

大数据应用——HBASE实验


任务一:搭建HBase集群

1.1 搭建Zookeeper

1.  官网下载Linux环境的tar包

(1)官网地址:Apache ZooKeeper

(2)下载Linux环境的tar包

2.  拷贝安装包到Linux系统下并解压到指定目录

[hadoop@hadoop101 software]$tar -zxvf apache-zookeeper-3.5.7

-bin.tar.gz -C /opt/module

  1.  配置修改相关文件及服务编号

(1)配置zoo_sample.cfg

(2)在/opt/module/zookeeper-3.5.7/目录下创建zkData文件

  1.  将配置分发至其他机器上

[hadoop@hadoop101 module ]$ xsync zookeeper-3.5.7

5.  创建集群启动停止脚本

[hadoop@hadoop101 bin]$ vim zk.sh

6.  群起Zookeeper

[hadoop@hadoop101 bin]$ zk.sh start

7.  查看启动状态

[hadoop@hadoop101 bin]$ zk.sh status

1.2 启动Hadoop集群

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/start-dfs.sh

1.3 搭建HBase

1.  官网下载Linux环境的tar包

2.  上传至Linux并解压到指定目录

3.  HBase的配置文件

(1)hbase-env.sh

(2)hbase-site.xml

(3)regionservers

(4)软连接hadoop配置文件到HBase

[hadoop@hadoop101 module]$ ln -s /opt/module/hadoop-2.7.2/et

c/hadoop/core-site.xml /opt/module/hbase/conf/core-site.xml

[hadoop@hadoop101 module]$ ln -s /opt/module/hadoop-2.7.2/et

c/hadoop/hdfs-site.xml /opt/module/hbase/conf/hdfs-site.xml

  1. HBase远程发送到其他集群

[hadoop@hadoop101 module]$ xsync hbase/

  1. HBase服务的启动
  1. 启动方式

[hadoop@hadoop101 hbase-1.3.1]$ bin/hbase-daemon.sh start ma

ster

[hadoop@hadoop101 hbase-1.3.1]$ bin/hbase-daemon.sh start reg

ionserver

  1. 启动方式

 [hadoop@hadoop101 hbase-1.3.1]$ bin/start-hbase.sh

对应的停止服务:

[hadoop@hadoop101 hbase-1.3.1]$ bin/stop-hbase.sh

1.4 查看HBase页面

启动成功后,可以通过“host:port”的方式来访问 HBase 管理页面,例如:http://hadoop102:16010

1.5 进入HBase Shell客户端命令行

[hadoop@hadoop101 hbase-1.3.1]$ bin/hbase shell

任务二:进入HBase Shell,练习创建表、插入数据到表、扫描查看表数据、查看表结构、更新指定字段数据、查看指定数据、删除指定数据、删除表。

  1.  创建表

  1.  插入数据到表

  1.  扫描查看表数据

  1.  查看表结构

  1.  更新指定字段的数据

  1.  查看“指定行”或“指定列簇:列”的数据

  1.  统计表数据行数

  1.  删除数据
  1. 删除某rowkey的全部数据

增加记录

删除1001的所有数据

  1. 删除某rowkey的某一列数据

  1.  清空表数据

  1.  删除表

提示:删除表的操作顺序为先 disable,然后再 truncate。

  1.  变更表信息

任务三:举例说明HBase的行键设计原则

  1.  HBase的行键设计原则可以归纳为以下几点:

保证唯一性:HBase的行键必须保证唯一性,因为它是用来唯一标识一行数据的。因此,在设计行键时需要考虑如何构建能够保证唯一性的键值,例如可以使用时间戳或者在键值前面添加一些随机数。

稳定性:行键一旦确定,就不应该再次改变。因此,在设计行键时需要考虑到数据的稳定性。特别是在需要长期保存数据的场景下,行键设计的稳定性尤为重要。

可排序性:HBase的行数据默认是按照行键排序的,因此,在设计行键时应该考虑到排序的需要。一般可以采用一些有序的编码方式,如字典序或者时间戳,以便于快速进行检索和排序。

长度控制:HBase的行键长度不能太长,因为行键会占用内存资源。因此,在设计行键时需要控制其长度,一般建议不超过100个字符。

总之,行键的设计要综合考虑数据的唯一性、稳定性、排序性和长度控制等因素。在实践中,需要根据具体的应用场景和业务需求进行灵活调整。

  1.  举例说明:假设我们有一个需求:将每天的用户登录记录保存到HBase中,并将行键设计为时间戳+用户ID的形式。下面我将演示如何使用HBase的shell命令进行行键的设计和插入数据操作。

首先,我们根据HBase行键设计原则,先确定行键的构成:时间戳+用户ID。在Shell中,可以使用“timestamp_userid”的命名方式,示例如下:

接下来,我们可以使用put命令将数据插入到HBase中。这里以2023年6月22日的用户“001”登录记录为例:

在上面的put命令中,“20230622010001”即为行键,代表了该用户在2023年6月22日10:00:01的登录记录。该行键由时间戳和用户ID拼接而成。同时,我们可以插入一些列族和对应的列,例如登录时间、用户ID和IP地址等。

注意,在实际生产环境中使用shell命令进行操作的效率和可靠性较低,最好使用HBase的API或者其他工具对HBase进行管理和操作。

出现问题:启动HBase时,如果HMaster无法启动

问题原因:NameNode 挂了:如果HDFS中的NameNode挂了,则HMaster无法启动。可以查看HDFS日志以检查NameNode 错误。

解决方案:检查NameNode的日志,以了解连接被拒绝或出现其他问题的原因。如果需要,修复NameNode故障并重新启动hadoop集群,启动HBase成功。

HBase是一个分布式的、可扩展的、稳定的NoSQL数据库,可以用于存储和处理海量数据。它的数据模型类似于一个多维表格,可以轻松地存储和访问大量结构化数据。

需要学习如何安装和配置Hadoop和HBase集群,并了解HBase的整体架构、主要组件及其功能。同时,熟练运用HBase的Java API,掌握HBase的基本操作和常用命令。

HBase的存储架构是基于HDFS的,HBase表格中的每一行都会被分割成多个存储单元(Cell)来存储,每个存储单元都有行键、列族、列限定符和时间戳等属性。掌握存储结构和存储过程,有助于提升HBase应用的性能。

在实际应用中,需要考虑并发访问和数据一致性问题。HBase提供了多版本控制(MVCC)机制,在并发访问时可以避免数据读写冲突,同时还可以选择数据一致性级别来满足不同的业务需求。

总的来说,HBase是一个非常强大和灵活的NoSQL数据库,可以广泛应用于各种大数据应用场景。但是,在实践中需要仔细考虑数据模型的设计、存储结构的优化和性能调优等方面,熟练掌握HBase的各种功能才能更好地发挥其威力。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/603579
推荐阅读
相关标签
  

闽ICP备14008679号