大数据应用——HBASE实验

news2024/11/16 5:34:06


任务一:搭建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的各种功能才能更好地发挥其威力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/682975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

佩戴舒适的蓝牙耳机推荐,内行推荐这五大品牌蓝牙耳机

真无线蓝牙耳机怎么选购?对新手来说有点难度,看见很多网友都在讨论这些问题,蓝牙耳机什么品牌好?音质表现好的有哪些?佩戴舒适性好的又有哪些值得入手的?等等大量问题。我从网上整理五款佩戴舒适且音质表现…

linux(线程互斥与同步下)

目录: 1.条件变量概念 2.生产者消费者模型 3.将条件变量生产者消费者blockqueue(阻塞队列)生产者消费者模型 4.重新复盘生产者消费者模型应用的理解 ------------------------------------------------------------------------------------…

智慧垃圾分类大数据可视化监管系统

前言 随着城市化进程的不断加快和居民生活水平的日益提高,城市生活垃圾产生量亦在与日剧增。 建设背景 随着城镇化进程加速、人民生活水平持续提升,城市生活垃圾产生量也在逐年增长。生活垃圾是“放错地方的资源”,能否处理好这些“放错地方的资源”,关系着城乡人…

HackTheBox - 学院【CPTS】复习4 - Web Attacks

Web Attacks 本模块涵盖三种常见的 Web 漏洞,即 HTTP 动词篡改、IDOR 和 XXE,每个漏洞都可能对公司的系统产生重大影响。我们将介绍如何通过各种方法识别、利用和防止它们中的每一个。 HTTP HEAD/GET/POST/PUT/OPTIONS IDOR寻找 一般能够从前端js找到…

HTML5 新增的标签有哪些

HTML5(超文本标记语言第五版)是一种用于创建和呈现网页内容的标准标记语言。是最新的html标准,拥有新的语义、图形以及多媒体元素,简化web应用程序,专为丰富的web内容而设计的,简称“H5”。 语义化标签 H5是…

大数据下批处理性能问题分析优化分享

大数据下批处理性能问题分析优化分享 互联网的步伐加速了硬件资源的发展,而硬件资源的改进,促进社会的建设的快速发展,特别是这互联互通大数据时代,多用户大数据下,单核服务器无法承受处理,特别是对于一个并…

【AI底层逻辑】——篇章3(上):数据、信息与知识香农信息论信息熵

目录 引入 一、数据、信息、知识 二、“用信息丈量世界” 1、香农信息三定律 2、一条信息的价值 3、信息的熵 总结 引入 AI是一种处理信息的模型,我们把信息当作一种内容的载体,计算机发明以前很少有人思考它的本质是什么。随着通信技术的发展&a…

【C++从入门到放弃】模板进阶——非类型模板参数、类模板的特化、模板的分离编译

🧑‍💻作者: 情话0.0 📝专栏:《C从入门到放弃》 👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢! 模板进…

行业报告 | 人工智能现状报告(中)

原创 | 文 BFT 机器人 03 行业 与NVIDIA的GPU相比,后起之秀的AL芯片公司还有机会吗? NVIDIA公司的FY2021数据中心收入为106亿美元。在2021年4月,他们确认了32.6亿美元,按年度计算,这比排名前二的人工智能半导体初创公司的估值总和…

Android 14 新功能:区域偏好 Regional Preferences

翻译自 https://alexzh.com/regional-preferences-in-android-14/ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9YLBwPZs-1687502002096)(/Users/ellisonchan/Nutstore Files/ellison-wiki/docs/文章输出/原创/locale/android14-base-locale.png)]…

微信管理系统太多?该如何选择

“您的手机号就是您的微信号吗?我可以加您微信,然后给您发送我们的产品资料和报价。” 毕竟微信是一个月活跃用户超过10亿的应用,成为企业员工,尤其是销售人员沟通联络的首要选择,即使有其他专用办公工具,…

idea中使用java断言——java笔记

在 Java 中,断言是一种用于检查代码中是否满足特定条件的机制。它可以用来确保程序在开发和测试阶段的正确性,并且可以在出现错误时提供有用的错误信息。 断言在 Java 中由关键字 assert 表示,其语法为: assert condition;或者 …

6.Java的JDBC编程

文章目录 🌆1. 数据库编程🌆🏯1.1数据库编程的必备条件🏯🏰1.2下载驱动包🏰⛺️1.3导入驱动包:⛺️🏭1.4编写JDBC代码🏭🗼1.4.1数据库插入操作(在idea中用Jav…

《Opencv3编程入门》学习笔记—第七章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第七章 图像变换 图像变换:即将一幅图像转变成图像数据的另一种表现形式。 一、基于OpenCV的边缘检测 OpenCV中边缘检测的各种算子和滤波器:Can…

【雕爷学编程】Arduino动手做(125)---WT588D语音模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

Linux缓冲区续集——手撕fopen、fwrite、fflush、fclose等C库函数

目录 头文件: 接下来就是设计这四个函数:Mystdio.c 重点讲一讲_fflush函数的底层实现原理: 所以数据内容的经过如下: 总结: 执行——测试写好的这4个函数: 运行结果: 修改测试代码&#xff…

ASEMI快恢复二极管MUR80100PT功能和应用实用指南

编辑-Z MUR80100PT是一种高性能、超快恢复二极管,设计用于各种应用,包括电源、逆变器和电机控制系统。本文将提供一个全面的指南,以了解MUR80100PT的特点和应用,以及它在提高电子设备的效率和可靠性方面的重要性。 MUR80100PT的特…

使用vite创建vue3、react项目

一、使用vite需要的环境 node: 14.18 , 16 vite官网:https://cn.vitejs.dev/guide/ 如上图、官网上明确给出了提醒,要使用vite搭建项目,需要node版本在14.18 二、使用vite创建vue3项目 1. 使用命令启动vite创建项目 使用 NPM: $ npm cr…

开始使用Dotnetty高性能网络库进行网络通讯

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不是…

深度:激光和光纤诞生记

光子盒研究院出品 导读:20世纪50年代以来,科技领域掀起了一场光学革命,激光和光纤的诞生,带来了革命性突破。事实上,激光和光纤的诞生也是第一次量子革命的范畴,因为这些技术的发展是基于对量子规律的观测和…