HCIA-BD
文章平均质量分 76
zrp木青
这个作者很懒,什么都没留下…
展开
-
hive(2)
Hive中metastore(元数据存储)的三种模式:a)内嵌Derby模式b)直连数据库模式c)远程服务器模式2.1 内嵌Derby模式此模式连接到一个In-memory 的数据库Derby,一般用于Unit Test(单元测试目前用的也少),一台服务器即可,基本不用。这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="con原创 2021-08-20 16:00:58 · 97 阅读 · 0 评论 -
hive(1)
Apache Hive数据仓库软件方便了使用SQL读取、写入和管理驻留在分布式存储中的大型数据集。结构可以投影到已经存储的数据上。提供命令行工具和JDBC驱动程序将用户连接到Hive。Hive产生的原因:非java编程者通过SQL语句对hdfs的数据做mapreduce操作。 对比项 Hive 关系型数据库查询语音 HQL SQL数据存储 HDFS Local FS or RawDevice执行器 MapReducer Executor数据insert 支持批量导入和单条插入 支持批量导入和单原创 2021-08-20 16:00:19 · 62 阅读 · 0 评论 -
zookeeper API(2)
发布一个 RMI 服务,我们只需做三件事情:定义一个 RMI 接口:HelloService编写 RMI 接口的实现类:HelloServiceImpl通过 JNDI 发布 RMI 服务5.1.2 定义一个 RMI 接口RMI 接口实际上还是一个普通的 Java 接口,只是 RMI 接口必须继承 java.rmi.Remote,此外,每个 RMI 接口的方法必须声明抛出一个 java.rmi.RemoteException 异常,就像下面这样:package demo.ZooKeeper.r原创 2021-08-20 15:58:35 · 55 阅读 · 0 评论 -
zookeeper API
4.1 IDEA环境搭建新建project将log4j.properties文件拷贝到项目的src目录项目的根目录新建lib文件夹,将jar包拷贝到该目录下。File-> ->Libaries新建包4.2 创建ZooKeeper客户端在该包下新建类ZooKeeperTestpackage com.bjsxt.api;import java.io.IOException;import java.util.List;import org.apache.Z原创 2021-08-20 15:57:40 · 65 阅读 · 0 评论 -
zookeeper进阶
ZK有一个最开始的节点 /ZK的节点叫做znode节点每个znode节点都可存储数据每个znode节点(临时节点除外)都可创建自己的子节点多个znode节点共同形成了znode树Znode树的维系实在内存中,目的是供用户快速的查询每个znode节点都是一个路径(通过路径来定位这个节点)每个路径名都是唯一的。3.1.1 目录结构层次的,目录型结构,便于管理逻辑关系znode信息包含最大1MB的数据信息记录了zxid等元数据信息3.1.2 节点类型znode有两种类型,临时的(e.原创 2021-08-20 15:56:47 · 83 阅读 · 0 评论 -
ZooKeeper集群分布式安装
2.1 四台服务器之间免密登录四台服务器之间互相均可以免密登录a、 首先在四台服务器上都要执行:ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsab、在node1上将node1 的公钥拷贝到authorized_keys中:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys将该文件拷贝给node2:scp ~/.ssh/authorized_keys node2:/root/.ssh/原创 2021-08-20 15:55:48 · 123 阅读 · 0 评论 -
zookeeper
1.2 ZooKeeper概述1.2.1 ZooKeeper简介ZooKeeper:动物园管理员ZooKeeper是分布式应用程序的协调服务框架,是Hadoop的重要组件。ZooKeeper是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,包含一个简单的原语集,分布式应用程序可以基于它实现。扩展:zk是根据Google的一篇论文《The Chubby lock service for loosely coupled distributed systems》1.2.2 具原创 2021-08-20 15:55:04 · 71 阅读 · 0 评论 -
mpareduce案例
1.2 好友推荐1.2.1 需求该给hadoop推荐哪个间接好友呢?两个人之间不认识,但是共同好友数越多,推荐的可能性越大1.2.2 数据集QQ:tom hello hadoop cathadoop tom hive worldworld hadoop hello hivecat tom hivemr hive hellohive cat hadoop world hello mrhello tom world hive mr1.2.2.1 特点每一行是一条记录 map默认一次原创 2021-06-30 17:47:02 · 101 阅读 · 1 评论 -
hadoop2.x-mapreduce
1.5 Hadoop2.x1.5.1 架构• MRv2:On YARN– YARN:解耦资源与计算• ResourceManager– 主,核心– 集群节点资源管理• NodeManager– 与RM汇报资源– 管理Container生命周期– 计算框架中的角色都以Container表示• Container:【节点NM,CPU,MEM,I/O大小,启动命令】– 默认NodeManager启动线程监控Container大小,超出申请资源额度,kill– 支持Linux内核的Cgro原创 2021-06-30 17:44:44 · 72 阅读 · 0 评论 -
hadoop1.x-mapreduce
1.4 Hadoop 1.x(了解)• MRv1角色:– JobTracker• 核心,主,单点• 调度所有的作业• 监控整个集群的资源负载– TaskTracker• 从,自身节点资源管理• 和JobTracker心跳,汇报资源,获取Task– Client• 作业为单位• 规划作业计算分布• 提交作业资源到HDFS• 最终提交作业到JobTracker• 弊端:– JobTracker:负载过重,单点故障– 资源管理与计算调度强耦合,其他计算框架需要重复实现资源管理–原创 2021-06-30 17:43:41 · 198 阅读 · 0 评论 -
mapreduce工作流程
1.3 mapreduce工作流程官方给的定义:系统执行排序、将map输出作为输入传给reducer的过程称为Shuffle。(看完是不是一脸懵逼)通俗来讲,就是从map产生输出开始到reduce消化输入的整个过程称为Shuffle。如下图用黑线框出的部分:圆形缓冲区介绍:每一个map任务都会有一个圆形缓冲区。默认大小100MB(io.sort.mb属性)阈值0.8也就是80MB(mapreduce.map.sort.spill.percent属性指定) ,一旦达到阈值一个后台线程开始把内容写到(s原创 2021-06-30 17:39:22 · 290 阅读 · 0 评论 -
mapreduce概述
1.2 MapReduce概述Google发表了两篇论文《Google File System》 《Google MapReduce》《Google File System》简称GFS,是Google公司用于解决海量数据存储的文件系统。《Google MapReduce》简称MapReduce,是Google的计算框架,基于GFS。Map映射Reduce汇聚、缩减目标:普通人都能理解的理论基础比如:如何统计北京一共有多少栋楼房?源数据:Haidian 200 Haidian 230 H原创 2021-06-30 17:36:26 · 220 阅读 · 0 评论 -
HDFS读文件流程
客户端通过FileSystem对象的open方法打开希望读取的文件,DistributedFileSystem对象通过RPC调用namenode,以确保文件起始位置。对于每个block,namenode返回存有该副本的datanode地址。这些datanode根据它们与客户端的距离来排序。如果客户端本身就是一个datanode,并保存有相应block一个副本,会从本地读取这个block数据。DistributedFileSystem返回一个FSDataInputStream对象给客户端读取数据。该类封..原创 2021-05-31 15:24:59 · 62 阅读 · 0 评论 -
HDFS写文件流程
调用客户端的对象DistributedFileSystem的create方法;DistributedFileSystem会发起对namenode的一个RPC连接,请求创建一个文件,不包含关于block块的请求。namenode会执行各种各样的检查,确保要创建的文件不存在,并且客户端有创建文件的权限。如果检查通过,namenode会创建一个文件(在edits中,同时更新内存状态),否则创建失败,客户端抛异常IOException。DistributedFileSystem返回一个FSDataOutpu..原创 2021-05-31 15:24:02 · 76 阅读 · 0 评论 -
datanode
存储结构DataNode不需要显式地格式化;关键文件和目录结构如下:1、HDFS块数据存储于blk_前缀的文件中,包含了被存储文件原始字节数据的一部分。2、每个block文件都有一个.meta后缀的元数据文件关联。该文件包含了一个版本和类型信息的头部,后接该block中每个部分的校验和。3、每个block属于一个block池,每个block池有自己的存储目录,该目录名称就是该池子的ID(跟NameNode的VERSION文件中记录的block池ID一样)。当一个目录中的block达到64个(通过原创 2021-05-31 15:22:42 · 233 阅读 · 0 评论 -
secondarynamenode
1.3.4 SecondaryNameNode存在的意义edits log会随着对文件系统的操作而无限制地增长,这对正在运行的NameNode而言没有任何影响,如果NameNode重启,则需要很长的时间执行edits log的记录以更新fsimage(元数据镜像文件)。在此期间,整个系统不可用。在系统启动期间,NameNode合并fsimage+edits logfsimage=0edist log=很大内存fsimage=GBedits log内存->执行edits log条目解原创 2021-05-31 15:21:33 · 358 阅读 · 0 评论 -
NameNode
NameNode管理文件系统的命名空间文件和目录的元数据:(运行时,元数据放内存)文件的block副本个数修改和访问的时间访问权限block大小以及组成文件的block列表信息以两种方式在NameNode本地进行持久化:命名空间镜像文件(fsimage)和编辑日志(edits log)。fsimage文件不记录每个block所在的DataNode信息,这些信息在每次系统启动的时候从DataNode重建。之后DataNode会周期性地通过心跳包向NameNode报告block信息。原创 2021-05-31 15:19:53 · 315 阅读 · 0 评论