版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元1数据库概述11.2分布式存储系统目录1.1数据库系统21.3分布式数据库
1.4分布式数据库与关系型数据库差别341.1数据库系统系统数据库技术是研究数据库的结构、存储、设计、管理和使用的一门科学。数据库系统(DatabaseSystem,DBS)是采用数据库技术的计算机系统,它是由计算机硬件、软件和数据资源组成的系统,能实现有组织地、动态地存储大量关联数据,并方便多用户访问。数据库系统由用户、数据库应用程序、数据库管理系统(DatabaseManagementSystem,DBMS)和数据库(Database,DB)组成1.1数据库系统系统数据库是长期存储在计算机内的、有组织的、统一管理的、可以表现为多种形式的、可共享的数据集合。这里“共享”是指数据库中的数据,可为多个不同的用户、使用多种不同的语言、出于不同的目的而同时存取,甚至同一数据也可以同时存取;“集合”是指某特定应用环境中的各种应用的数据及其之间的联系全部集中按照一定的结构形式进行存储。由此可知,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可被各种用户共享。数据库根据不同的逻辑模型可分成3种:层次型数据库、网状型数据库和关系型数据库。1.1数据库系统系统(1)层次型数据库早期的数据库多采用层次型数据模型,称为层次型数据库,如图1-2所示,它用树形(层次)结构表示实体类型及实体间的联系。在树形结构中,数据按自然的层次关系组织起来,以反映数据之间的隶属关系,树中的节点是记录类型,每个非根节点都只有一个父节点,而父节点可同时拥有多个子节点,父节点和子节点的联系是1∶N的联系。1.1数据库系统系统(2)网状型数据库。采用网状型数据模型的数据库,称为网状型数据库。网状型数据库通过网络结构表示数据间联系,如图1-3所示。图中的节点代表数据记录,连线描述不同节点数据间的联系。这种数据模型的基本特征:一是节点数据之间没有明确的从属关系,一个节点可与其他多个节点建立联系,即节点之间的联系是任意的;二是任何两个节点之间都能发生联系,可表示多对多的关系。1.1数据库系统系统(3)关系型数据库。关系模型是通过满足一定条件的二维表格来表示实体集合以及数据间联系的一种模型。关系型数据模型具有坚实的数学基础与理论基础,使用灵活方便,适应面广,因此发展十分迅速。目前流行的一些数据库系统,如Oracle、Sybase、Ingress、MySQL等都属于关系型数据库。1.1数据库系统系统关系型数据库关系型数据库,是建立在关系型数据模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均可用关系模型来表示,市场上占很大份额的Oracle、MySQL、DB2等都是面向关系模型的DBMS。1.1数据库系统系统(3)关系型数据库。关系模型是通过满足一定条件的二维表格来表示实体集合以及数据间联系的一种模型。关系型数据模型具有坚实的数学基础与理论基础,使用灵活方便,适应面广,因此发展十分迅速。目前流行的一些数据库系统,如Oracle、Sybase、Ingress、MySQL等都属于关系型数据库。1.1数据库系统系统关系型数据库基本概念在关系型数据库中,实体以及实体间的联系均由单一的结构类型来表示,这种逻辑结构是一张二维表。关系型数据库以行和列的形式存储数据,这一系列的行和列被称为表,一组表组成了数据库。1.1数据库系统系统常见关系型数据库MySQL数据库瑞典MySQLAB公司研发,流行的关系型数据库管理系统之一,使用SQL语言,开放源码,适用于中小型企业网站开发。SQLServer微软出品,高性能数据库系统,支持分布式计算,与WindowsNT紧密结合,提供企业级信息管理解决方案。Oracle数据库甲骨文公司产品,高效率、可靠性好,适应高吞吐量,处于数据库领域领先地位,最新版本为OracleDatabase20c,引入多承租方架构,支持数据库云。数据库对比MySQL:开源、成本低;SQLServer:与Windows集成度高;Oracle:高吞吐量、云支持,各有优势,适用于不同场景。1.分布式存储系统的概念分布式存储系统是指将数据分散存储在多个节点上,通过网络连接实现数据的共享和访问的一种存储方式。它可以提高数据的可靠性和可扩展性,同时也可以提高数据的访问速度和并发性。分布式存储系统在应对海量数据的储存和访问上有着不可替代的作用。与传统的集中式存储系统相比,分布式存储系统具有高可靠性、高可扩展性、高吞吐量等优势,可以应对大规模数据的储存和访问需求。1.2分布式存储系统2.分布式存储系统的组成部分分布式存储系统由多台计算机构成,其中包括服务节点和存储节点。服务节点负责管理整个系统的运行,包括文件的储存、索引和访问等。存储节点则负责实际储存文件,并根据服务节点的指示,完成文件的传输和访问。为了实现分布式存储系统的高可靠性和高可扩展性,分布式存储系统通常具有多份备份机制,即将同一份文件储存在多台计算机上,以增加数据的可靠性。1.2分布式存储系统分布式存储系统的实现方式1.2分布式存储系统
分布式存储系统的实现方式通常包括两种:共享存储和分布式存储。共享存储方式是指将所有的存储节点共享同一份数据,通过硬件和软件技术实现多节点共享文件的访问。分布式存储方式是指将整个分布式存储系统分割成多个部分,并将不同的数据储存在不同的节点上,通过网络连接,将各个节点之间的数据进行交互,实现文件的储存和访问。分布式存储系统的实现1.2分布式存储系统分布式存储系统包括分布式文件系统、分布式键值系统、分布式表格系统、分布式数据库等不同类型。其中,分布式文件系统主要用于大规模文件的存储和管理,分布式键值系统主要用于键值对的存储和查询,分布式表格系统主要用于结构化数据的存储和查询,分布式数据库则是将传统的关系型数据库分布式化实现的一种存储方式。在分布式存储系统中,一致性是一个非常重要的问题,因为多个副本之间的数据一致性是整个分布式存储系统的理论核心。1.2分布式存储系统1.分布式文件系统的实现
分布式文件系统是分布式存储系统的核心。通过将文件分割成多份,并将这些文件储存在不同的节点上,实现文件的高可靠性和高可扩展性。分布式文件系统的实现通常采用分块存储和储存元数据的方式。分块存储是指将文件分成多个块,然后存储到不同的节点上。这样做的优点是可以并行地传输和处理块,同时也方便进行数据的备份。储存元数据是指将文件的元数据,如文件名、类型、大小、创建时间、修改时间等信息储存在特殊的节点上,以实现文件的访问和索引。目前,应用广泛的分布式文件系统主要包括GFS(Google文件系统)和HDFS(Hadoop分布式文件系统),HDFS是GFS的开源实现。1.2分布式存储系统2.分布式数据库的实现
分布式数据库是应对大数据储存和访问需求的一种有效方式。它可以将数据库分割成不同的子数据库,分别储存在不同的节点上,并通过网络连接实现数据的查询和更新。分布式数据库的实现通常采用水平切分和垂直切分两种方式。水平切分是指将数据库表中的数据按照某种规则进行分割,分割后的每个子表都储存在不同节点上,实现数据的横向分布,提高数据库的读写性能。垂直切分则是按功能将数据库表分成不同的子表,每个子表包含不同的字段。这样可以将数据分散到不同的节点上,并提高查询效率。分布式数据库概述1.3分布式数据库大数据需要通过分布式的集群方式来解决存储和访问的问题。以下将从分布式的角度来介绍数据库的数据管理。分布式系统的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务。分布式数据库是数据库技术与网络技术相结合的产物,它通过网络技术将物理上分开的数据库连接在一起,进行逻辑层面上的集中管理。在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别存储在不同的局部数据库中,由不同机器上不同的DBMS进行管理。分布式数据库数据管理1.3分布式数据库1.分布的透明管理2.复制数据的透明管理3.事务的可靠性分布式数据库分类列族数据库适用于分布式数据存储与管理,以列族式存储,将同一列数据存储在一起,实现高扩展性和快速查找,但功能局限,不支持事务强一致性。文档数据库面向Web应用,存储半结构化数据,如JSON文档,数据结构灵活,可根据文档内容创建索引,但缺乏统一查询语法。键值数据库用于内容缓存和频繁读写场景,采用键值对存储,扩展性好,性能高,但数据无结构化,查询受限于键。1.3分布式数据库图形数据库图形数据库来源于图论中的拓扑学,以节点、边及节点之间的关系来存储复杂网络中的数据HBase是一种基于Hadoop的分布式NoSQL数据库,它不支持完整的事务性,仅支持基于RowKey的索引,在性能上不如memcached和Redis,但是在海量数据、持久化存储方面比内存类型的NoSQL优秀。因HBase基于Hadoop实现,可以和HDFS、MapReduce、Spark等非常好地结合。HBase不仅可以方便地进行存储,还可以更加方便地对数据进行处理和运算,这些都是关系型数据库所无法比拟的。1.3分布式数据库存储方式分布式数据库将数据分散存储在多台独立的计算机上,而关系型数据库将数据集中存储在一台计算机上。扩展方式基于NoSQL的分布式数据库通常比较容易实现扩展,因为它们采用了水平分片的方式来存储数据。当系统需要处理更多的数据时,关系型数据库可能需要重新设计数据库结构,这会带来一定的复杂性
数据操作方式关系型数据库采用结构化查询语言(即SQL)对数据库进行查询分布式数据库使用的是非结构化查询语言,1.4分布式数据库与关系型数据库的差别规范化在关系型数据库中,一个数据实体一般首先要分割成多个部分,然后再对分割的部分进行规范化,规范化以后再分别存入多张关系型数据表中,分布式数据库则没有这方面的问题,它不需要规范化数据。事务性关系型数据库强调ACID规则,可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作。分布式数据库虽然对于事务操作也可以使用,但由于它是一种基于节点的分布式数据库,不能很好地支持事务的操作读写性能关系型数据库十分强调数据的一致性,并为此付出了降低读写性能的代价。分布式数据库相对关系型数据库最大的优势恰恰是应对大数据方面,也就是对于大量的每天都产生非结构化的数据能够高性能地读写。1.4分布式数据库与关系型数据库的差别单元2HBase简介与安装1HBase部署目录HBase概述2
HBase的概念HBase是一个基于Google
Bigtable论文的开源分布式列式存储系统,它利用Hadoop的HDFS作为底层存储,并使用HadoopMapReduce进行分布式计算。HBase是一个高可靠性、高性能、可伸缩的列式NoSQL数据库,适用于存储海量数据,并支持快速的数据读写操作。
HBase的概念HBase最初由Google的Bigtable论文启发,于2007年由ApacheSoftwareFoundation发起。它作为Hadoop生态系统的一部分,为大数据应用提供了灵活、可扩展的存储解决方案。HBase的发展受到了广泛的关注和贡献,并已成为大数据存储领域的关键技术之一。HBase的历史背景
HBase的概念HBase的核心组件包括HMaster、HRegionServer、HDFS、Zookeeper等。HMaster负责管理HBase集群的元数据,处理客户端请求,并协调RegionServer之间的数据分布。HRegionServer负责存储和管理HBase数据表中的数据,并处理客户端的读写请求。HDFS作为底层存储系统,提供了高可靠性和可扩展性的文件存储。Zookeeper负责协调HBase集群中的节点状态,并处理分布式锁和配置管理等功能。HBase的核心组件
HBase的概念对比内容HBaseBigTable文件存储系统HDFSGFS海量数据处理基于Java语言的MapReduce基于C语言的MapReduce协同服务管理ZookeeperChubbyHBase是GoogleBigTable的开源实现,与Google的BigTable利用GFS作为其文件存储系统类似,两者底层使用的技术均存在较大差别
HBase的特点HBase具有以下显著特点:可伸缩性HBase支持横向扩展,可以通过增加RegionServer节点来扩展集群的存储和处理能力。HBase的RegionServer之间可以动态调整数据分布,实现负载均衡。高可靠性HBase通过HDFS的多副本机制实现了高可靠性。HBase数据在HDFS上以多个副本的形式存储,即使某个节点出现故障,数据仍然可以从其他副本中恢复。此外,HBase还提供了预写日志(WAL)和副本机制,确保数据的一致性和完整性。高性能HBase采用LSM树结构存储数据,并通过RegionServer对数据进行分布式存储和管理,从而实现了高性能的数据读写操作。HBase支持批量数据操作和MapReduce计算,可以高效地处理海量数据。
HBase的特点HBase具有以下显著特点:面向列存储HBase采用面向列的存储模式,每个列簇由多个文件保存,不同列簇的文件是分离的。这种存储模式可以降低I/O开销,支持大量并发用户查询。
HBase与传统关系型数据库的区别HBase提供的操作相对简单,主要包括插入、查询、删除、清空等。而传统关系型数据库提供丰富的操作,如插入、删除、更新、查询等,并支持复杂的多表连接操作。HBase采用列式存储模型,将数据存储为未经解释的字符串,用户需要自行解析数据类型。而传统关系型数据库采用关系模型,具有丰富的数据类型和存储方式。HBase支持横向扩展,可以通过增加RegionServer节点来扩展集群的存储和处理能力。而传统关系型数据库难以实现横向扩展,纵向扩展的空间也比较有限。可伸缩性HBase只有一个索引——行键。而传统关系型数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。数据索引HBase执行更新操作时,不会删除旧版本的数据,而是生成一个新版本的数据。而传统关系型数据库更新操作会用最新的当前值去替换记录中原来的值,旧值被覆盖后就不会存在。数据维护HBase与传统关系型数据库在数据模型、数据操作、存储模式、数据索引、数据维护和可伸缩性等方面存在较大差异。数据操作数据模型存储模式HBase采用面向列的存储模式,每个列簇由多个文件保存,不同列簇的文件是分离的。这种存储模式可以降低I/O开销,支持大量并发用户查询。而传统关系型数据库采用面向行的存储模式,每个元组存储在一块内存中。
HBase的应用场景HBase适用于具有以下特点的场景:HBase可以存储PB级别的海量数据,并支持快速的数据读写操作,可以作为大数据存储和处理平台的重要组成部分,例如企业级数据仓库、日志分析、搜索引擎等。大数据存储和处理HBase可以实现实时的数据存储和查询,可以作为实时数据处理场景下的数据缓存和实时计算的基础组件,例如实时监控和分析系统、智能推荐系统等。实时数据处理HBase支持随机访问和列存储,可以快速查询和计算用户之间的相似度与兴趣偏好,可以作为协同过滤和推荐系统的底层存储与计算引擎。协同过滤和推荐系统HBase支持空间数据类型和空间索引,能够存储和查询大规模的地理空间数据,可以作为地理信息系统的底层存储和查询引擎。地理信息系统HBase支持时间戳的存储和查询,可以存储和查询大规模的时序数据,例如物联网数据、传感器数据、日志数据等。时序数据存储和分析1HBase部署目录HBase概述2HBase的版本及依赖环境HBase版本HBase的版本及依赖环境HBase版本与Hadoop版本对应关系HBase版本与JDK版本对应关系
HBase单机部署HBase的单机部署步骤如下:①安装JDK,并配置环境变量。[root@HBasesoftware]#tar-zxvfjdk-8u162-linux-x64.tar.gz-C/export/servers/用vim/etc/profile编辑profile配置文件并添加以下内容:exportJAVA_HOME=/export/servers/jdk1.8.0_162exportPATH=$PATH:$JAVA_HOME/bin source/etc/profile刷新环境变量。JDk安装测试:“java-version”部署步骤
HBase单机部署HBase的单机部署步骤如下:②下载并解压HBase安装包,并配置环境变量。[root@HBasesoftware]#tar-zxvfhbase-2.4.6-bin.tar.gz-C/export/servers/[root@HBaseservers]#mvhbase-2.4.6/hbase[root@HBaseservers]#vim/etc/profile编辑/etc/profile,添加以下内容:exportHBASE_HOME=/export/servers/hbaseexportPATH=$PATH:$HBASE_HOME/bin[root@HBaseservers]#source/etc/profile部署步骤
HBase单机部署HBase的单机部署步骤如下:④修改hbase-site.xml文件,并添加HBase的相关配置,如RegionServer的共享目录、HBase的分布式模式等。[root@HBasehbase]#vimhbase-site.xml添加以下内容,配置RegionServer的共享目录。配置单机版的HBase时hbase.cluster.distributed的值需要设为false。<configuration><property><name>hbase.cluster.distributed</name><value>false</value></property><property><name>hbase.tmp.dir</name><value>./tmp</value></property>
部署步骤
HBase单机部署HBase的单机部署步骤如下:④修改hbase-site.xml文件,并添加HBase的相关配置,如RegionServer的共享目录、HBase的分布式模式等。<property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><property><name>hbase.rootdir</name><value>/export/servers/hbase/data</value></property></configuration>使用wq命令保存对配置文件的修改,然后退出编辑。部署步骤
HBase单机部署03HBase的单机部署步骤如下:⑤启动HBase进程,并使用hbase
shell进入HBase客户端进行操作。[root@HBase~]#start-hbase.sh此时,使用jps命令查看所有进程,发现有一个HMaster进程,这个就是HBase主服务节点。⑥使用stop-hbase.sh关闭HBase进程。部署步骤HBase的单机部署只有一个主节点进程,对单点故障没有很好的解决办法,因此只在开发测试中使用。
HBase伪分布式部署环境准备伪分布式部署的优势HBase的伪分布式部署基于Hadoop集群和ZooKeeper集群,所有进程运行在同一个主机上的同一个JVM,主要用于测试。部署步骤01020304HBase的伪分布式部署步骤如下:安装JDK,并配置环境变量。安装ssh并配置免密登录。安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。安装ZooKeeper并配置伪分布式集群,包括修改配置文件、启动ZooKeeper服务等。安装HBase并配置伪分布式,包括修改配置文件、启动HBase集群等。HBase的伪分布式部署需要安装JDK、Hadoop和ZooKeeper。JDK版本需要与HBase版本兼容,Hadoop和ZooKeeper版本也需要与HBase版本兼容。HBase的伪分布式部署可以模拟真实的生产环境,用于测试和开发HBase应用。与单机部署相比,伪分布式部署可以更好地模拟分布式集群的运行状态,并提供更高的可靠性。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:①安装JDK,并配置环境变量。参考单机部署②安装ssh并配置免密登录。(5)执行以下命令,进行ssh免密认证。[root@HBase.ssh]#catid_rsa.pub>>authorized_keys(6)修改文件权限,命令如下:[root@HBase.ssh]#chmod644authorized_keys(7)检测是否可以免密登录,命令如下:[root@HBase~]#sshroot@localhost若不需要输入密码便可登录localhost主机,则说明免密登录设置成功
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:①安装JDK,并配置环境变量。参考单机部署②安装ssh并配置免密登录。(1)检查是否安装ssh(CentOS7即使是最小化安装也会附带openssh,因此可跳过本步骤)。[root@HBase~]#rpm-qa|grepssh(2)开启sshd服务。命令如下:[root@HBase~]#systemctlstartsshd.service(3)使用cd~/.ssh进入~/.ssh文件夹。若不存在该文件夹,可以使用以下命令用root账户登录后生成:[root@HBase~]#sshroot@localhost然后输入yes,再输入本机root密码(4)进入.ssh目录后执行以下命令,生成公钥与私钥对。[root@HBase.ssh]#ssh-keygen-trsa按3次“Enter”键
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。(1)将下载好的安装包hadoop-3.1.3.tar.gz,上传到指定目录/export/software上传完成后,将hadoop-3.1.3.tar.gz解压至/export/servers目录下,并将hadoop-3.1.3重命名为hadoop,命令如下:[root@HBasesoftware]#tar-zxvfhadoop-3.1.3.tar.gz-C/export/servers[root@HBasesoftware]#cd/export/servers[root@HBaseservers]#mvhadoop-3.1.3hadoop(2)编辑环境变量vim/etc/profile,添加以下内容,并刷新环境变量source/etc/profile:#hadoopexportHADOOP_HOME=/export/servers/hadoopexportPATH=$PATH:$HADOOP_HOME/binexportPATH=$PATH:$HADOOP_HOME/sbin
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。(3)创建文件夹。1)cd到hadoop目录下,执行以下命令:[root@HBase
hadoop]#mkdirtemp2)创建namenode存放nametable的目录:cd到temp目录下创建dfs目录,再在dfs目录下创建name目录。[root@HBase
hadoop]#cdtemp/[root@HBasetemp]#mkdirdfs
[root@HBasetemp]#ls[root@HBasetemp]#cddfs/[root@HBase
dfs]#mkdirname[root@HBase
dfs]#ls
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。3)创建datanode存放数据block的目录,在dfs目录下创建data目录[root@HBase
dfs]#mkdirdata[root@HBase
dfs]#ls
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。4)进入/export/servers/hadoop/etc/hadoop目录,编辑core-site.xml,添加以下内容:[root@HBase~]#cd/export/servers/hadoop/etc/hadoop[root@HBase
hadoop]#vimcore-site.xml<configuration><property><!--指定hadoop运行时产生文件的存储路径--><name>hadoop.tmp.dir</name><value>/opt/module/temp</value><description>Abaseforothertemporarydirectories.</description></property><property><!--hdfs
namenode的通信地址--><name>fs.defaultFS</name><value>hdfs://:9000</value></property><property><name>hadoop.http.staticuser.user</name><value>root</value></property></configuration>添加完成后,先按“Esc”键退出编辑模式,再输入命令wq保存并退出编辑。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。5)进入/export/servers/hadoop/etc/hadoop目录,编辑hdfs-site.xml,添加以下内容:[root@HBase~]#cd/export/servers/hadoop/etc/hadoop[root@HBase
hadoop]#vimhdfs-site.xml<configuration><property><!--指定HDFS储存数据的副本数目,默认情况下为3份--><name>dfs.replication</name><value>1</value></property><property><!--namenode存放nametable的目录--><name>.dir</name><value>file:/export/servers/hadoop/temp/dfs/name</value></property><property><!--datanode存放数据block的目录--><name>dfs.datanode.data.dir</name><value>file:/export/servers/hadoop/temp/dfs/data</value></property><property><!--设置监控页面的端口及地址--><name>dfs.http.address</name><value>:50070</value></property></configuration>添加完成后,先按“Esc”键退出编辑模式,再输入命令wq保存并退出编辑。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。(6)进入/export/servers/hadoop/etc/hadoop目录,编辑mapred-site.xml,添加以下内容:[root@HBase~]#cd/export/servers/hadoop/etc/hadoop[root@HBase
hadoop]#vimmapred-site.xml<configuration><property><!--指定mapreduce
编程模型运行在yarn上--><name></name><value>yarn</value></property></configuration>添加完成后,先按“Esc”键退出编辑模式,再输入命令wq保存并退出编辑。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。(7)进入/export/servers/hadoop/etc/hadoop目录,编辑yarn-site.xml,添加以下内容:[root@HBase~]#cd/export/servers/hadoop/etc/hadoop[root@HBase
hadoop]#vimyarn-site.xml<configuration><!--SitespecificYARNconfigurationproperties--><property><!--指定mapreduce
编程模型运行在yarn上--><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>添加完成后,先按“Esc”键退出编辑模式,再输入命令wq,保存并退出编辑。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。8)编辑开始和关闭脚本。1)进入/export/servers/hadoop/sbin目录,编辑start-dfs.sh和stop-dfs.sh,在最上方的#/usr/bin/envbash下的空白处添加以下内容[root@HBase~]#cd/export/servers/hadoop/sbin[root@HBase
sbin]#vimstart-dfs.sh[root@HBase
sbin]#vimstop-dfs.shHDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。2)进入/export/servers/hadoop/sbin目录,编辑start-yarn.sh和stop-yarn.sh,在最上方的#/usr/bin/envbash下的空白处添加以下内容。[root@HBase~]#cd/export/servers/hadoop/sbin[root@HBase
sbin]#vimstart-yarn.sh[root@HBase
sbin]#vimstop-yarn.shYARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:③安装Hadoop并配置伪分布式,包括创建文件夹、配置环境变量、修改配置文件、格式化NameNode、启动Hadoop集群等。(9)格式化。进入/export/servers/hadoop/etc/hadoop目录,执行以下命令(仅可格式化一次):[root@HBase~]#/export/servers/hadoop/etc/hadoop[root@HBasehadoop]#hadoopnamenode–format(10)启动Hadoop。start-all.sh
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:④安装ZooKeeper并配置伪分布式集群,包括修改配置文件、启动ZooKeeper服务等。1.下载并安装ZooKeeper从官网下载ZooKeeper,这里选择apache-zookeeper-3.8.3-bin.tar.gz,解压到/export/servers目录下并重命名。2.环境变量配置使用vim/etc/profile编辑profile配置文件并添加以下内容:exportZOOKEEPER_HOME=/export/servers/zookeeperexportPATH=.:$ZOOKEEPER_HOME/bin:$PATH
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:④安装ZooKeeper并配置伪分布式集群,包括修改配置文件、启动ZooKeeper服务等。3.配置伪分布式ZooKeeper伪分布式集群部署是指在一台机器上配置多个配置文件,然后根据不同的配置文件来启动ZooKeeper服务,具体配置如下:[root@HBaseservers]#cdzookeeper/conf/[root@HBaseconf]#cpzoo_sample.cfgzoo1.cfg[root@HBaseconf]#cpzoo_sample.cfgzoo2.cfg[root@HBaseconf]#cpzoo_sample.cfgzoo3.cfg[root@HBasezookeeper]#mkdirzkData1[root@HBasezookeeper]#mkdirzkData2[root@HBasezookeeper]#mkdirzkData3
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:④安装ZooKeeper并配置伪分布式集群,包括修改配置文件、启动ZooKeeper服务等。3.配置伪分布式ZooKeeper(1)编辑zoo1.cfg。[root@HBaseconf]#vimzoo1.cfg修改以下内容:dataDir=/export/servers/zookeeper/zkData1clientPort=2181server.1=hbase:2888:3888server.2=hbase:2889:3889server.3=hbase:2890:3890修改完成后,先按“Esc”键退出编辑模式,再输入命令wq保存并退出编辑。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:④安装ZooKeeper并配置伪分布式集群,包括修改配置文件、启动ZooKeeper服务等。3.配置伪分布式ZooKeeper(2)编辑zoo2.cfg。[root@HBaseconf]#vimzoo2.cfg修改以下内容:dataDir=/export/servers/zookeeper/zkData2clientPort=2182server.1=hbase:2888:3888server.2=hbase:2889:3889server.3=hbase:2890:3890修改完成后,先按“Esc”键退出编辑模式,再输入命令wq保存并退出编辑。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:④安装ZooKeeper并配置伪分布式集群,包括修改配置文件、启动ZooKeeper服务等。3.配置伪分布式ZooKeeper(3)编辑zoo3.cfg。[root@HBaseconf]#vimzoo3.cfg修改以下内容:dataDir=/export/servers/zookeeper/zkData3clientPort=2183server.1=hbase:2888:3888server.2=hbase:2889:3889server.3=hbase:2890:3890修改完成后,先按“Esc”键退出编辑模式,再输入命令wq保存并退出编辑。在server.A=B:C:D中,A是一个数字,表示这是第几号服务器;B是这个服务器的IP地址;C表示这个服务器与集群中的Leader服务器交换信息的端口;D表示集群中用来执行选举时服务器相互通信的端口,其作用是当Leader服务器出现故障或者停机时,需要一个端口来重新进行选举,选出一个新的Leader。对于伪分布式集群的配置方式,由于B都一样,因此需要为不同的Zookeeper服务通信端口分配不同的端口号。
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:④安装ZooKeeper并配置伪分布式集群,包括修改配置文件、启动ZooKeeper服务等。3.配置伪分布式ZooKeeper在各个dataDir目录下创建myid文件,并分别存入当前服务器的编号1、2、3,代码如下:[root@HBasezkData1]#vimmyid[root@HBasezkData1]#cd..[root@HBasezookeeper]#cdzkData2[root@HBasezkData2]#vimmyid[root@HBasezkData2]#cd..[root@HBasezookeeper]#cdzkData3[root@HBasezkData3]#vimmyid4.启动并测试ZooKeeper伪分布式集群[root@HBasebin]#zkServer.shstart/export/servers/zookeeper/conf/zoo1.cfg[root@HBasebin]#zkServer.shstart/export/servers/zookeeper/conf/zoo2.cfg[root@HBasebin]#zkServer.shstart/export/servers/zookeeper/conf/zoo3.cfg[root@HBasebin]#zkServer.shstatus/export/servers/zookeeper/conf/zoo1.cfg[root@HBasebin]#zkServer.shstatus/export/servers/zookeeper/conf/zoo2.cfg[root@HBasebin]#zkServer.shstatus/export/servers/zookeeper/conf/zoo3.cfg
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:⑤安装HBase并配置伪分布式,包括修改配置文件、启动HBase集群等。1.HBase的安装参考单机安装2.配置HBase伪分布式修改hbase-env.sh,添加以下内容:[root@HBaseservers]#cdhbase/conf/[root@HBaseconf]#vimhbase-env.sh配置以下内容:exportJAVA_HOME=/export/servers/jdk1.8.0_162exportHBASE_MANAGES_ZK=false#zookeeper与HBase独立
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:⑤安装HBase并配置伪分布式,包括修改配置文件、启动HBase集群等。[root@HBaseconf]#vimhbase-site.xml<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://:9000/hbase</value> <description>hbase.rootdir是RegionServer的共享目录,用于持久化存储HBase的数据,默认存储在/tmp,重启HBase时数据会丢失 一般配置HDFS目录,与core-site.xml中配置的地址一致 如HDFS主机namenode.exampleorg:9000 </description> </property>
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:⑤安装HBase并配置伪分布式,包括修改配置文件、启动HBase集群等。[root@HBaseconf]#vimhbase-site.xml <property> <name>hbase.cluster.distributed</name> <value>true</value> <description> HBase的运行模式
false为单机模式
true为分布式模式,又分为伪分布式、完全分布式
</description> </property>
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:⑤安装HBase并配置伪分布式,包括修改配置文件、启动HBase集群等。[root@HBaseconf]#vimhbase-site.xml <property> <name>hbase.zookeeper.quorum</name> <value>hbase</value> <description> Zookeeper集群的服务节点地址,如localhost、36 </description> </property> <property> <name>perty.dataDir</name> <value>/var/zookeeper</value> <description>
存储Zookeeper的元数据,默认存储在/tmp,重启后数据会丢失
</description> </property></configuration>
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:⑤安装HBase并配置伪分布式,包括修改配置文件、启动HBase集群等。3.启动并测试HBase先开启Hadoop和ZooKeeper集群,再使用以下命令开启HBase:[root@HBasehbase]#start-hbase.sh[root@HBasehbase]#hbaseshell#进入HBase执行数据库操作[root@HBasehbase]#stop-hbase.sh#关闭集群启动HBase伪分布式集群后,使用jps命令查看所有进程
HBase伪分布式部署部署步骤020304HBase的伪分布式部署步骤如下:⑤安装HBase并配置伪分布式,包括修改配置文件、启动HBase集群等。3.启动并测试HBase进入HBase的UI界面,自己的IP地址:16010
HBase完全分布式部署HBase的完全分布式部署将所有进程分布在不同主机的JVM上,适用于生产环境。HBase的完全分布式部署需要安装JDK、Hadoop和ZooKeeper。JDK版本需要与HBase版本兼容,Hadoop和ZooKeeper版本也需要与HBase版本兼容。环境准备HBase的完全分布式部署可以实现高可靠性和高性能的数据存储和处理,并支持横向扩展,可以满足大规模数据应用的需求。完全分布式部署的优势
HBase完全分布式部署(1)完全分布式Hadoop环境配置克隆节点配置修改,包括修改IP地址、主机名、网络服务配置等。配置无密码登录,包括配置IP映射、生成公钥和私钥、配置免密登录等。配置时间同步服务,包括安装NTP服务、修改配置文件、关闭防火墙、启动NTP服务等。安装JDK,并配置环境变量。安装Hadoop并配置完全分布式,包括上传安装包、解压安装包、修改配置文件、赋予权限设置、复制安装文件、启动Hadoop集群等。(2)安装ZooKeeper并配置完全分布式集群,包括修改配置文件、启动ZooKeeper服务等。(3)安装HBase并配置完全分布式,包括修改配置文件、分发配置文件、启动HBase集群等。具体步骤参考教材。部署步骤谢谢大家单元3HBase的原理与架构1HBase的架构目录HBase的模型2HBase的读写流程3
HBase的分布式架构优势HBase作为一种分布式数据库,其架构设计使其在海量数据的快速存储和随机访问方面具有显著优势。通过数据副本机制和分区机制,HBase能够轻松实现在线扩容、缩容和数据容灾,从而成为大数据领域中Key-Value数据结构存储的常用方案之一。此外,HBase还能够通过分布式集群读写海量数据,这是传统数据库难以实现的。
本章学习目标本章旨在帮助读者掌握HBase的数据模型、架构和读写流程。具体学习目标包括:掌握HBase数据模型及核心知识。理解HBase架构的原理。010204理解HBase的读写流程。03
HBase的逻辑模型HBase的逻辑模型以列为基本单位,多列构成一行。每行拥有唯一的行键(RowKey),相同行键的插入操作被视为对同一行的操作,多次插入操作实际上是对该行数据的更新操作。HBase表包含多个行,每行包含多个列,列中的值可以有多个版本,每个版本的值称为一个单元格,每个单元格存储的是该列不同时间的值。
HBase的数据模型01”HBase实际上是一个稀疏、多维、持久化存储的映射表,采用行键(RowKey)、列簇(ColumnFamily)、列限定符(ColumnQualifier)和时间戳(Timestamp)进行索引。每个值都由未经解释的字节组成byte[],没有数据类型。用户在表中存储数据时,每一行都有一个可排序的行键和任意多的列。列簇支持动态扩展,用户可以轻松地添加一个列簇或列,无需预先定义列的数量和类型。由于同一张表里的每一行数据都可以有截然不同的列,对于整个映射表的每行数据而言,有些列的值可以是空的,因此HBase是稀疏的。HBase的数据模型0102表HBase是一种列式存储的分布式数据库,其核心概念是表(Table)。与传统关系型数据库一样,HBase的表也是由行和列组成的,但HBase的同一列可以存储不同时刻的值,多个列可以组成一个列簇(ColumnFamily),这种组织形式主要是出于对HBase存取性能的考虑。行键每个HBase表中只能有一个行键,类似于主键。由于RowKey是HBase表的唯一标识,HBase表中的记录是按照RowKey的字典序排列的,因此,RowKey的设计非常重要。在HBase中,为了高效地检索数据,需要设计良好的RowKey来提高查询性能。因为RowKey会被冗余存储,所以长度不宜过长,否则既会占用大量的存储空间,又会降低检索效率。RowKey应该尽量均匀分布,避免产生热点问题(即大量用户访问集中在一个或极少数节点,导致单台节点超出自身承受能力)。另外,还需要保证RowKey的唯一性。数据的存储规则是相近的数据存储在一起。例如,RowKey的格式为、、和的网站名称时,可以对网站名称反转后再进行存储,反转后为com.cqyti.www、com.cqyti.sxy、com.cqyti.dsj和com.cqyti.zngc。这样,所有com.cqyti域名将会存储在一起,避免子域名(即www、sxy、dsj、zngc)分散在各处。HBase的数据模型0304列簇HBase表中的每个列都归属于某个列簇,一个列簇中的所有列成员有着相同的前缀。例如,列anchor:和anchor:my.look.ca都是列簇anchor的成员。列簇是表的schema的一部分,必须在使用表之前定义列簇,但列却不是必需的,写数据的时候可以动态加入。一般将经常一起查询的列放在一个列簇中,合理划分列簇将减少查询时加载到缓存的数据,提高查询效率。由于跨列簇访问非常低效,因此不应有太多的列簇。单元格HBase中通过RowKey和Column确定的存储单元称为单元格(Cell)。每个单元格都保存着同一份数据的多个版本。HBase的数据模型0504时间戳在HBase表中,通过行键、列簇和列名确定一个单元格。单元格中存储的数据没有数据类型,被视为byte[]字节数组。单元格中保存的数据的每个版本对应一个不同的时间戳,每次对一个单元格执行操作(新建、修改、删除)时,HBase都将隐式地自动生成并存储一个时间戳。时间戳一般是64位整型数据,可以由用户自己赋值(自己生成唯一时间戳可以避免应用程序中出现数据版本冲突),也可以由HBase在数据写入时自动赋值。一个单元格的不同版本根据时间戳进行降序存储。因此,最新版本的数据可以被优先读取,通常将记录每次操作数据的时间戳记作数据的版本号。
HBase的物理模型虽然在逻辑模型中表可以被看作一个稀疏的行集合,但在物理层面,表是按列簇分开存储的。HBase的列是按列簇分组的,HFile是面向列的物理文件,可以存放行的不同列。一个列簇的数据存放在多个HFile中,最重要的是一个列簇的数据会被同一个Region管理,物理上存放在一起。
HBase的Region模型HBase表中的所有行都按照RowKey的字典序排列,在行的方向上分割为多个Region。Region是HBase数据管理的基本单位,数据移动、数据的负载均衡及数据的分裂都是以Region为单位来进行的。HBase的表默认最初只有一个Region,随着记录数不断增加而变大后,会逐渐分裂成多个Region,每个Region根据[startkey,endkey]的范围来划分,不同的Region会被Master分配给相应的RegionServer进行管理。
HBase的Region模型Region是HBase中分布式存储和负载均衡的最小单元。
HBase的Region模型Region虽然是HBase中分布式存储的最小单元,但并不是存储的最小单元。Region由一个或多个Store组成,每个Store保存一个ColumnFamily。每个Store又由一个MemStore和零至多个StoreFile组成。MemStore代表写缓存,StoreFile存储在HDFS之上。1HBase的架构目录HBase的模型2HBase的读写流程3
HBase的系统架构HBase采用Master/Slave架构搭建集群,属于Hadoop生态系统的组件。HBase的系统架构由Client(客户端)、HMaster(主节点)、HRegionServer(从节点)、ZooKeeper(协调服务模块)等部分组成,并将数据存储于HDFS中。
HBase的核心组件01ClientClient是整个HBase系统的入口,可以通过Client直接操作HBase。Client使用HBase的远程过程调用协议(RemoteProcedureCallProtocol,RPC)机制与HMaster和HRegionServer进行通信。02ZooKeeper分布式HBase依赖于ZooKeeper集群,所有节点和客户端必须能够正常访问ZooKeeper。HBase默认管理一个单点的ZooKeeper集群,HBase可以将ZooKeeper当作自身的一部分来启动和关闭进程。03HMasterHBase中可以启动多个HMaster,通过ZooKeeper的Master选举机制保证总有一个HMaster在运行。HMaster管理HRegionServer的负载均衡,调整HRegion的分布。04HRegionServerHRegionServer主要负责响应用户的I/O请求,在HDFS文件系统中读写数据,是HBase的核心模块。HRegionServer内部管理了一系列HRegion,HRegion对应Table中的一个Region,HRegion由多个HStore组成。
HBase的核心组件05Write-Ahead-Log(WAL,预写日志)是HBase的HRegionServer在处理数据插入和删除过程中用于记录操作内容的一种日志形式。大致过程如下:客户端启动一个操作来修改数据,每一处改动都被包装进KeyValue对象实例中,使用远程调用发送到ReginoServer对应这次改动的Region中。数据在HRegionServer中首先被写入WAL,再被写入MemStore,最后当MemStore达到一定的大小或到达指定的时刻之后,数据被异步地持久化到文件系统上。在这之前,数据是存储在内存中的,如果HRegionServer崩溃了,那么内存的数据就没有了。而如果有WAL,便可恢复数据。每个HRegionServer中都有一个HLog对象。HLog是一个实现WAL的类,在每次用户操作写入MemStore的同时,也会写一份数据到HLog文件中,HLog文件会定期滚动出新的文件,并删除旧的文件(已持久化到StoreFile中的数据)。当HRegionServer意外终止后,HMaster会通过ZooKeeper感知,HMaster首先会处理遗留的HLog文件,将其中不同Region的Log数据进行拆分,分别放到相应的Region目录下,再将失效的Region重新分配给HRegionServer。HRegionServer在加载Region的过程中,将发现有历史HLog需要处理,因此会重置HLog中的数据到MemStore中,最后刷新至StoreFile文件中完成数据恢复。1HBase的架构目录HBase的模型2HBase的读写流程3
HBase的写流程01当用户向HRegionServer发起HTable.put请求,即写入数据请求时,系统会将请求交给对应的HRegion实例处理。客户端首先访问ZooKeeper集群,查询-ROOT-表Region所在的RegionServer地址信息。然后,客户端连接相应的RegionServer,并访问.meta.表,根据写入的命名空间、表名和行键找到对应的Region信息。为了达到持久化和恢复的目的,将数据先写至HLog中,再写入MemStore。当MemStore达到预设阈值后,创建一个新的MemStore。旧的MemStore会加入Flush队列,由单独的线程Flush至磁盘,形成一个StoreFile。
HBase的读流程当用户向HRegionServer发起读取数据请求时,系统会将请求交给对应的HRegion实例处理。客户端首先访问ZooKeeper集群,查找元数据表在哪个RegionServer上,并访问对应的RegionServer的元数据表中的数据,查找要操作的RowKey所在表对应的Region所在的RegionServer。随后,客户端读取RegionServer上的Region数据。客户端定位到真正的数据所在的Region时,先从MemStore查找,如果没找到数据,但表设置了块缓存(BlockCache)功能,那么再从块缓存查找;如果块缓存还没有,再从StoreFile查找,查找到数据的同时对数据进行缓存处理。02谢谢大家单元4HBaseShell目录01HBaseShell基础与入门02数据定义语言(DDL)操作03数据操纵语言(DML)操作04综合应用与最佳实践01HBaseShell基础与入门HBaseShell的功能与核心价值HBaseShell是一个封装了JavaAPI的JRuby应用软件,为HBase用户提供强大的交互式环境,可执行各种数据库操作,如创建、删除和管理表,插入、查询和删除数据等。核心功能概述01在大数据领域,HBase适用于存储大规模非结构化数据,具有快速的数据读写性能。HBaseShell能让用户高效地与HBase数据库交互,满足大数据处理的需求,提高数据操作效率。大数据场景应用优势02Shell环境启动与基本配置在HMaster主机上输入`hbaseshell`命令,即可进入shell命令环境,开启与HBase数据库的交互。启动客户端环境使用`version`命令能够查看当前HBase的版本,了解软件的具体情况,便于进行版本管理和功能使用。查看版本信息输入`status`命令可以查看集群节点的状态,确保集群正常运行,为后续操作提供稳定环境。验证集群状态010203命名空间的管理与应用场景通过`list_namespace`命令能查看所有的命名空间,使用`list_namespace_tables'ns1'`可查看命名空间ns1中的所有表,便于对命名空间进行管理和监控。查看命名空间命名空间与关系型数据库系统中的数据库类似,是表的逻辑分组,可对其进行创建、删除、更改等操作。命名空间概念解析使用`create_namespace'ns1'`命令可创建一个名为ns1的命名空间,实现表的逻辑分组管理。创建命名空间02数据定义语言(DDL)操作表结构的创建与参数设置create命令语法详解在HBaseShell中,使用create命令创建表,语法为create'表名','列族1','列族2'等。如创建学生信息表:create'Student','StuInfo','Grades'。缓存参数配置BLOCKCACHE参数可控制读取数据时是否允许缓存,如{NAME=>'Grades',BLOCKCACHE=>true},表示Grades列族读取数据时允许缓存。多列族定义演示版本控制参数配置可在创建表时指定多个列族,如上述创建Student表时指定了StuInfo和Grades两个列族,方便存储不同类型的数据。通过VERSIONS参数可设置单元格存储的数据版本数,如create'Student',{NAME=>'StuInfo',VERSIONS=>3},表示StuInfo列族单元格可存最新三版数据。表的查看与结构分析01list命令可查看所有的表名,如执行list命令后,可显示出Student、my1:student、ns1:Student等表名。02describe(或缩写desc)命令用于查看一个表的详情,能获取表的结构信息,如列族等相关属性。03使用list_namespace_tables'命名空间名'可查看指定命名空间下的所有表,如list_namespace_tables'ns1'可查看ns1命名空间下的表。使用list命令查看表列表使用describe命令查看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大庆市红岗区公安辅警招聘知识考试题(含答案)
- 2026年吉林省吉林市第七中学校中考模拟考试道德与法治试卷附答案
- 餐厅后厨人员出餐准确率考核绩效衡量表
- 2026年党史国史知识竞赛题库及参考答案
- 2026年大数据HCIA习题库及答案
- 小学主题班会课件:探索科学奥秘与创新精神
- 2026年钓鱼神奇测试题及答案
- (2025年)放射医学技术模考试题含答案
- 小学主题班会课件:团结友爱情操曲,拼搏进取强军魂
- 物流运营专员效率与效果绩效考核表
- AI赋能公共卫生应急管理的应用与价值
- 2026年上海市中考语文试卷(含答案)
- 2025年海南省中考道德与法治试题(试卷+解析)
- 彩灯加工外包合同
- 超声诊断先天性巨结肠
- 2026中国银行间市场流动性风险管理与压力测试专题报告
- 施工阶段成本控制目标方案
- 军用关键软硬件自主可控产品名录(2025年v1版)
- DL∕T 5210.2-2018 电力建设施工质量验收规程 第2部分:锅炉机组
- GB/T 43959-2024锅炉火焰检测系统技术规范
- 梅毒合并妊娠护理查房
评论
0/150
提交评论