7

Size: px
Start display at page:

Download "7"

Transcription

1 第 2 章 HDFS 文件系统 本章介绍 Hadoop 的核心组成部分 HDFS 文件系统, 包括其原理 安装与配置 管理及外部编程接口等 通过对本章内容的学习, 使读者掌握分布式文件系统的主要结构 HDFS 文件系统的内部运行原理和机制 HDFS 的数据读写方式, 同时, 了解 HDFS 文件系统的数据传输和存储模式 本章最后将详细介绍 Hadoop 的安装和基本配置 学习完本章后, 读者可以搭建自己的 Hadoop 集群 HDFS 文件系统的结构与组成 HDFS 系统的数据读写 HDFS 系统的数据存储及数据完整性 Hadoop 的安装及配置

2 2.1 HDFS 概述 Hadoop 实现了一个分布式文件系统 (Hadoop Distributed File System,HDFS),HDFS 是 Apache Hadoop Core 项目的一部分, 是 Hadoop 兼容性最好的标准级分布式文件系统 分布式文件系统 当今的信息时代中, 人们可以获取的数据成指数倍地增长 单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式, 在容量大小 容量增长速度 数据备份 数据安全等方面都不适用, 对于数据量很大的应用系统来说尤其如此 分布式文件系统可以有效解决数据的存储和管理难题 分布式文件系统 (Distributed File System,DFS) 指通过一套管理系统, 能够将文件分散至不同的计算机进行存储, 并通过规范的标准协议, 方便客户机进行高效存取 与单机的文件系统不同, 分布式文件系统不是将数据放在一块磁盘上由上层操作系统来管理, 而是存放在一个服务器集群上, 由集群中的服务器通过各尽其责 通力合作的方式提供整个文件系统的服务 将固定于某个地点的某个文件系统, 扩展到任意多个地点 / 多个文件系统, 这些节点组成一个文件系统网络 每个节点可以分布在不同的地点, 通过网络进行节点间的通信和数据传输 人们在使用分布式文件系统时, 无须关心数据是存储在哪个节点上, 或者是从哪个节点获取的, 只需要像使用本地文件系统一样管理和存储文件系统中的数据即可 分布式文件系统中, 重要的服务器包括 : 主控服务器 (Master/NameNode) 数据服务器( 一般称为 ChunkServer 或 DataNode) 和客户服务器 (Client) 分布式文件系统的典型架构如图 2-1 所示 图 2-1 典型分布式文件系统的结构 1. 分布式文件系统的特点与传统文件系统相比, 分布式文件系统具有以下主要特点 (1) 可扩展性强 扩展能力是一个分布式文件系统最重要的特点 基本上, 所有的分布式文件系统都支持随时随地对数据服务器进行扩展, 提升存储容量和访问带宽等 有的 14

3 第 2 章 HDFS 文件系统 系统还支持多个目录 / 主控服务器 (2) 统一命名空间 采用统一命名空间, 分布式文件系统对于客户端是完全透明的, 客户端看到的是统一的全局命名空间, 用户操作起来就像是管理本地文件系统 通过元数据管理, 文件以块的方式采用多副本模式进行存放 (3) 高性能 由于一个文件被分成多份, 保存在不同的数据服务器上, 访问时, 可以同时读取, 性能会达到最优 (4) 高可用性 分布式文件系统必须具有高容错能力, 即无论是客户端还是服务器出现故障, 都不会影响整个系统的功能 为了做到这一点, 单点失效是必须被避免的, 例如使用资源冗余技术或者提供失效恢复服务 单个数据节点的故障并不会影响集群整体运转 (5) 弹性存储 可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源, 而不需要中断系统运行 弹性存储的最大挑战, 是减小或增加资源时的数据震荡问题 2. 常见的分布式文件系统分布式文件系统既有开源软件平台解决方案, 如 Hadoop HDFS Fast DFS 等 ; 也有非开源平台解决方案, 如最为著名的 Google FS 也有像 Windows Server 2003/2008 平台上的 DFS 组件等 分布式文件系统在当前应用普遍, 产品种类丰富 下面介绍几种典型的系统 (1) Lustre Lustre 最早是由 HP Cluster File System 联合美国能源部共同开发的 Linux 平台下的分布式集群文件系统, 后期由于 Cluster File System 公司被 Sun 收购, 而 Sun 又被 Oracle 收购, 因此,Lustre 官方网站目前挂靠在 Oracle 公司 ( Lustre 主要面向超级计算机, 拥有超强可扩展性与可靠性, 能够支持上万个节点 PB 级存储 100GB/s 的高速访问能力 Lustre 采用 GPL 许可协议, 属于开放源代码的分布式集群文件系统, 开发语言采用 C/C++, 使用平台为 Linux; 当前, 除了 Oracle 公司外, 有新成立的名为 Whamcloud 的公司专注于 Lustre 平台的开源研发, 其官方网站为 (2) Google FS Google FS(Google File System) 是谷歌公司开发的一个分布式可扩展的文件系统, 它主要用于大型 分布式 大数据量的互联网应用平台 Google FS 被设计运行在廉价普通的 PC 服务器上, 提供多数据副本实现数据冗余, 通过数据分块并行存取, 满足互联网用户的海量数据存储需求 Google FS 最早是由 Google 工程师于 2003 年发表的一篇学术文章 The Google File System 而为世人所熟知的,Google FS 提供了相似的访问接口, 如 read write create delete close 等, 使得开发者可以非常方便地使用 Google FS 运行于 Linux 平台上, 开发语言是 C/C++, 本身并不开源, 本章中所介绍的 Hadoop 平台, 是在受到 Google FS 启发后, 采用其理念重新用 Java 语言实现的一个开源平台 (3) Fast DFS Fast DFS 是一个类 Google FS 的开源分布式文件系统, 它由 C/C++ 语言开发, 可运行于 15

4 Linux Unix AIX 平台 Fast DFS 提供专用文件存取访问方式, 不支持 POSIX 接口方式, 在系统中也不能使用 mount 方式挂接 FastDFS 在架构上充分考虑了冗余备份 负载均衡 可扩展等问题, 平台本身具有高可用 高性能等优点 Fast DFS 支持文件的高效存储 同步 上传 下载等, 比较适合于互联网视频网站 文档分享网站 图片分享网站等应用 HDFS 介绍 HDFS 是 Hadoop 的核心子项目, 是整个 Hadoop 平台数据存储与访问的基础, 在此之上, 承载其他如 MapReduce HBase 等子项目的运转 HDFS 是类似于 Google FS 的开源分布式文件系统, 被设计成适合运行在通用硬件上的分布式文件系统 它与现有的分布式文件系统有很多共同点 但同时, 它与其他的分布式文件系统的区别也是很明显的 HDFS 是一个高度容错性的系统, 适合部署在廉价的机器上 HDFS 能提供高吞吐量的数据访问, 非常适合大规模数据集上的应用 HDFS 放宽了一部分 POSIX 约束, 来实现流式读取文件系统数据的目的 HDFS 是易于使用与管理的分布式文件系统, 主要特点和设计目标如下 1. 硬件故障是常态整个 HDFS 系统可以由数百或数千个存储着文件数据片段的服务器组成 实际上, 它里面有非常巨大的组成部分, 每一个组成部分都很可能出现故障, 这就意味着 HDFS 里总是有一些部件是失效的, 因此故障的检测和自动快速恢复是 HDFS 一个很核心的设计目标 2. 流式数据访问 HDFS 被设计成适合批量处理的, 而不是用户交互式的 POSIX 的很多硬性需求对于 HDFS 应用都是非必需的,HDFS 放宽了 POSIX 的要求, 这样, 可以实现以流的形式访问 (Streaming Access) 文件系统中的数据 同时去掉 POSIX 一小部分关键语义, 可以获得更好的数据吞吐率 3. 简单的一致性模型大部分 HDFS 程序对文件操作需要的是一次写 多次读取的操作模式 HDFS 假定一个文件一旦创建 写入 关闭之后就不需要修改了 这简单化了数据一致的问题, 并使高吞吐量的数据访问变得可能 4. 名字节点 (NameNode) 和数据节点 (DataNode) HDFS 是一个主从结构, 一个 HDFS 集群包括一个名字节点 ( 也叫名称节点 ), 它是一个管理文件命名空间和调节客户端访问文件的主服务器, 当然, 还有一些数据节点, 通常是一个节点一个机器, 它来管理对应节点的存储 HDFS 对外开放文件命名空间, 并允许用户数据以文件形式存储 内部机制是将一个文件分割成一个或多个块, 这些块被存储在一组数据节点中 名字节点用来操作文件命名空间的文件或目录操作, 如打开 关闭 重命名等 它同时确定块与数据节点的映射 数据节点负责来自文件系统客户的读写请求 数据节点同时还要执行块的创建 删除, 以及来自名字节点的块复制指令 16

5 第 2 章 HDFS 文件系统 5. 大规模数据集 HDFS 被设计为 PB 级以上存储能力, 单个的存储文件可以是 GB 或者 TB 级 因此, HDFS 的一个设计原则是支持成千上万大数据文件的存储, 即将单个文件分成若干标准数据块, 分布存储于多个节点上, 当用户访问整个文件时, 由这些节点集群向用户传输所拥有的数据块, 由此可以获得极高的并行数据传输速率 6. 可移植性 HDFS 在设计之初, 就考虑到了异构软硬件平台间的可移植性, 能够适应于主流硬件平台 它基于跨操作系统平台的 Java 语言进行编写, 这有助于 HDFS 平台的大规模应用推广 名字节点是整个 HDFS 的核心 一个标准的 HDFS 集群应由名字节点 备用名字节点 数据节点组成,HDFS 的基本结构如图 2-2 所示 图 2-2 HDFS 系统的基本结构集群中, 一台机器上只运行一个 NameNode 实例, 而集群中其他机器分别运行一个 DataNode 实例 NameNode 是一个中心服务器, 负责管理文件系统的名字空间以及客户端对文件的访问, 用户能够以文件的形式在上面进行名字空间操作, 比如打开 关闭 重命名文件或目录, 同时,NameNode 还决定了数据块到数据节点的映射关系 NameNode 也可以称为管理文件系统的元数据 集群中, 每一个节点配置一个 DataNode, 每个 DataNode 负责管理它所在节点上的数据存储 从内部看, 一个文件被分成一个或多个数据块, 这些块存储在一组 DataNode 上 同时,DataNode 负责处理文件系统客户端的读写请求, 在 NameNode 的统一调度下进行数据块的创建 删除和复制 HDFS 的数据块 : 磁盘存储文件时, 是按照数据块 (block) 来存储的, 也就是说, 数据块是磁盘读 / 写的最小单位 数据块也称磁盘块 在 HDFS 中也有块的概念, 默认为 64MB, 每个块作为独立的存储单元 基于数据块的存储方式非常适合用于备份, 可提供数据容错能力和可用性 ( 如图 2-3 所示 ) HDFS 提供给应用程序例如 MapReduce 数据服务 一般来说,MapReduce 的 Map 任务通常一次处理一个块中的数据, 如果任务数太少 ( 少于集群中节点的数量 ), 就没有发挥多节点的优势, 甚至作业的运行速度就会与单节点一样 17

6 图 2-3 HDFS 块副本 2.2 HDFS 的运行机制 本节将详细介绍 HDFS 的结构与运行原理 HDFS 的结构与组成 HDFS 采用主 / 从 (Master/Slave) 结构, 整个集群由一个名字节点和多个数据节点组成 NameNode 主要负责管理文件命名空间和客户端访问的主服务器, 而 DataNode 则负责对存储进行管理 HDFS 的体系结构如图 2-4 所示 图 2-4 HDFS 的体系结构由图 2-4 可知, 名字节点 NameNode 上保存着控制数据节点 DataNode 信息的元数据 (Metadata) 客户端 Client 可以通过 NameNode 对元数据进行操作, 也可以直接对 DataNode 进行读和写操作 18

7 第 2 章 HDFS 文件系统 1. NameNode 的主要功能 (1) 管理元数据信息 元数据信息包括名字空间 文件到文件块的映射 文件块到数据节点的映射三部分 管理文件块包括创建新文件块 文件复制 移除无效文件块以及回收孤立文件块等内容 (2) 管理文件系统的命名空间 任何对文件系统元数据产生修改的操作,NameNode 都会使用事务日志记录 ( 下称 EditLog) 来表示 ; 同样地, 修改文件的副本系数也将往 EditLog 中插入一条记录,NameNode 将 EditLog 存储在本地操作系统的文件系统中 同时, 文件系统的命名空间被存储在一个称为映像文件 (FsImage) 的文件中, 包括文件的属性 文件块到文件的映射以及文件块到数据节点的映射等内容,FsImage 文件也是存放在 NameNode 所在的本地文件系统中 (3) 监听请求 指监听客户端事件和 DataNode 事件 客户端事件包含名字空间的创建和删除, 文件的创建 读写 重命名和删除, 文件列表信息获取等信息 DataNode 事件主要包括文件块信息 心跳响应 出错信息等 处理请求指处理上面的监听请求事件并返回结果 (4) 心跳检测 DataNode 会定期将自己的负载情况通过心跳信息向 NameNode 汇报 NameNode 全权管理数据块的复制, 它周期性地从集群中的每个 DataNode 接收心跳信号和块状态报告 (Block Report) 接收到心跳信号意味着该 DataNode 节点工作正常 块状态报告包含了一个该 DataNode 上所有数据块的列表 NameNode 决定是否将文件映射到 DataNode 的复制块上 对于最常见的三个复制块, 第一个复制块存储在同一机架的不同节点上, 最后一个复制块存储在不同机架的某个节点上 实际的 I/O 事务并没有经过 NameNode, 只有表示 DataNode 和块的文件映射的元数据经过 NameNode 当外部客户机发送请求, 要求创建文件时,NameNode 会以块标识和该块的第一个副本的 DataNode IP 地址作为响应 这个 NameNode 还会通知其他将要接收该块的副本的 DataNode NameNode 在 FsImage 文件中存储所有关于文件系统名称空间的信息, 包含所有事务的记录文件 EditLog 存储在 NameNode 的本地文件系统上 FsImage 和 EditLog 文件也需要复制副本, 以防文件损坏或 NameNode 系统丢失 2. DataNode 的主要功能 (1) 数据块的读写 一般是文件系统客户端需要请求对指定的 DataNode 进行读写操作, DataNode 通过 DataNode 的服务进程与文件系统客户端打交道 同时,DataNode 进程与 NameNode 统一结合, 对是否需要对文件块的创建 删除 复制等操作进行指挥与调度, 当与 NameNode 交互过程中收到了可以执行文件块的创建 删除或复制操作的命令后, 才开始让文件系统客户端执行指定的操作 具体文件的操作并不是 DataNode 来实际完成的, 而是经过 DataNode 许可后, 由文件系统客户端进程来执行实际操作 (2) 向 NameNode 报告状态 每个 DataNode 节点会周期性地向 NameNode 发送心跳信号和文件块状态报告, 以便 NameNode 获取到工作集群中 DataNode 节点状态的全局视图, 从而掌握它们的状态 如果存在 DataNode 节点失效的情况,NameNode 会调度其他 DataNode 19

8 执行失效节点上文件块的复制处理, 保证文件块的副本数达到规定数量 (3) 执行数据的流水线复制 当文件系统客户端从 NameNode 服务器进程中获取到要进行复制的数据块列表 ( 列表中包含指定副本的存放位置, 亦即某个 DataNode 节点 ) 后, 会首先将客户端缓存的文件块复制到第一个 DataNode 节点上, 此时, 并非整个块都复制到第一个 DataNode 完成以后才复制到第二个 DataNode 节点上, 而是由第一个 DataNode 向第二个 DataNode 节点复制, 如此反复进行下去, 直到完成文件块及其块副本的流水线复制 HDFS 的数据操作 HDFS 被设计成在一个大集群中可以跨机器地可靠地存储海量的文件 它将每个文件存储成 block( 即数据块 ) 序列, 除了最后一个 block, 其他所有的 block 都是同样的大小 1. 数据写入在 HDFS 文件系统上创建并写一个文件的流程如图 2-5 所示 图 2-5 HDFS 写入流程具体流程描述如下 (1) Client 调用 DistributedFileSystem 对象的 create 方法, 创建一个文件输出流 (FSDataOutputStream) 对象 (2) 通过 DistributedFileSystem 对象与 Hadoop 集群的 NameNode 进行一次远程调用 (RPC), 在 HDFS 的 Namespace 中创建一个文件条目 (Entry), 该条目没有任何的数据块 (3) 通过 FSDataOutputStream 对象, 向 DataNode 写入数据, 数据首先被写入 FSDataOutputStream 对象内部的 Buffer 中, 然后数据被分割成一个个 Packet 数据包 (4) 以 Packet 为最小单位, 基于 Socket 连接发送到按特定算法选择的 HDFS 集群中的一组 DataNode( 正常是 3 个, 可能大于等于 1) 中的一个节点上, 在这组 DataNode 组成的 Pipeline 上依次传输 Packet (5) 这组 DataNode 组成的 Pipeline 反方向上发送 ack 确认, 最终由 Pipeline 中第一个 DataNode 节点将 Pipeline ack 发送给 Client (6) 完成向文件写入数据,Client 在文件输出流 (FSDataOutputStream) 对象上调用 close 20

9 第 2 章 HDFS 文件系统 方法, 关闭流 (7) 调用 DistributedFileSystem 对象的 complete 方法, 通知 NameNode 文件写入成功 写文件过程中,Client/DataNode 与 NameNode 进行的 RPC 调用 1 写文件开始时创建文件 :Client 调用 create, 在 NameNode 节点的命名空间中创建一个标识该文件的条目 2 在 Client 连接 Pipeline 中第一个 DataNode 节点之前,Client 调用 addblock 分配一个数据块 3 如果与 Pipeline 中第一个 DataNode 节点连接失败,Client 调用 abandonblock 放弃一个已经分配的数据块 4 一个 Block 已经写入到 DataNode 节点磁盘,Client 调用 fsync 让 NameNode 持久化数据块的位置信息数据 5 文件写完以后,Client 调用 complete 方法通知 NameNode 写入文件成功 6 DataNode 节点接收到并成功持久化一个数据块的数据后, 调用 blockreceived 方法通知 NameNode 已经接收到数据块 2. 数据读取相比于写入流程,HDFS 文件的读取过程比较简单, 如图 2-6 所示 图 2-6 HDFS 读取数据文件的读取操作流程如下 (1) 客户端调用 FileSystem 的 open() 函数打开文件,DistributedFileSystem 用 RPC 调用元数据节点, 得到文件的数据块信息 (2) 对于每一个数据块, 元数据节点返回保存数据块的数据节点的地址 DistributedFileSystem 返回 FSDataInputStream 给客户端, 用来读取数据 21

10 (3) 客户端调用 stream 的 read() 函数开始读取数据 (4) DFSInputStream 连接保存此文件第一个数据块的最近的数据节点 (5) Data 从数据节点读到客户端, 当此数据块读取完毕时,DFSInputStream 关闭与此数据节点的连接, 然后连接此文件下一个数据块的最近的数据节点 (6) 当客户端读取数据完毕的时候, 调用 FSDataInputStream 的 close 函数 在读取数据的过程中, 如果客户端在与数据节点通信时出现错误, 则尝试连接包含此数据块的下一个数据节点 失败的数据节点将被记录下来, 以后不再连接 访问权限 HDFS 实现了一个与 POSIX 类似的文件和目录的权限模型 有三类权限模式 : 只读权限 (r) 写入权限(w) 和可执行权限 (x) 每个文件和目录都有所属用户(owner) 所属组(group) 和模式 (mode) 文件或目录对其所有者 同组的其他用户以及所有其他用户分别有着不同的权限 对文件而言, 当读取这个文件时, 需要有 r 权限, 当写入或者追加到文件时, 需要有 w 权限 对目录而言, 当列出目录内容时, 需要具有 r 权限, 当新建或删除子文件或子目录时, 需要有 w 权限, 当访问目录的子节点时, 需要有 x 权限 不同于 POSIX 模型,HDFS 权限模型中的文件没有 sticky setuid 或 setgid 位, 因为这里没有可执行文件的概念 每个访问 HDFS 的用户进程的标识分为两个部分, 分别是用户名和组名列表 每次用户进程访问一个文件或 home 目录,HDFS 都要对其进行权限检查 : 如果用户是 home 的所有者, 则检查所有者的访问权限 如果 home 关联的组在组名列表中出现, 则检查组用户的访问权限 ; 否则检查 home 其他用户的访问权限 如果权限检查失败, 则客户的操作会失败 在 HDFS 中, 客户端用户身份是通过宿主操作系统给出的 对类 Unix 系统来说 : 用户名等于 whoami 组列表等于 bash -c groups 每次文件或目录操作都传递完整的路径名给 NameNode, 每一个操作都会对此路径做权限检查 客户框架会隐式地将用户身份和与 NameNode 的连接关联起来, 从而减少改变现有客户端 API 的需求 经常会有这种情况 : 当对一个文件的某一操作成功后, 之后同样的操作却会失败, 这是因为文件或路径上的某些目录可能已经不复存在了 比如, 客户端首先开始读一个文件, 它向 NameNode 发出一个请求以获取文件第一个数据块的位置 但接下去获取其他数据块的第二个请求可能会失败 另一方面, 删除一个文件并不会撤销客户端已经获得的对文件数据块的访问权限 而权限管理能使得客户端对一个文件的访问许可在两次请求之间被收回 重复一下, 权限的改变并不会撤销当前客户端对文件数据块的访问许可 如果权限检查失败, 所有使用一个路径参数的方法都可能抛出 AccessControlException 异常 22

11 第 2 章 HDFS 文件系统 通信协议簇 HDFS 所有的通信协议都是构建在 TCP/IP 协议上的 客户端通过一个可配置的端口连接到 NameNode, 通过 ClientProtocol 与 NameNode 交互 而 DataNode 是使用 DataNodeProtocol 与 NameNode 交互的 从 ClientProtocol 和 DataNodeProtocol 抽象出一个远程调用, 在设计上,NameNode 不会主动发起 RPC, 而是响应来自客户端和 DataNode 的 RPC 请求 HDFS 中的主要通信协议见表 2-1 表 2-1 HDFS 的主要通信协议 名称 ClientProtocol DataNodeProtocol ClientDatanodeProtocol NameNodeProtocol DataTransferProtocol InterDatanodeProtocol 功能用户进程 ( 包括客户端进程与 DataNode 进程 ) 与 NameNode 进程之间进行通信所使用的协议 DataNode 进程与 NameNode 进程进行之间通信所使用的协议, 例如发送心跳报告和块状态报告客户端进程和 DataNode 进程之间在通信过程中所使用的协议, 用户通过 ClientProtocol 协议, 可操纵 HDFS 的目录命名空间 打开与关闭文件流等 NameNode 进程与 SecondaryNameNode 进程之间进行通信的协议负责客户端与数据节点之间的数据传输 DataNode 进程之间进行通信的协议, 例如客户端进程启动复制数据块, 此时可能需要在 DataNode 节点之间进行块副本的流水线复制操作 (1) ClientProtocol ClientProtocol 协议是用户进程 ( 包括客户端进程与 DataNode 进程 ) 与 NameNode 进程之间进行通信所使用的协议 当客户端进程想要与 NameNode 进程进行通信的时候, 需要通过 org.apache.hadoop.hdfs.distributedfilesystem 类, 基于 ClientProtocol 协议来实现交互过程 用户代码通过 ClientProtocol 协议, 可以操纵 HDFS 的目录命名空间 打开与关闭文件流等 该接口协议中定义的与文件内容相关的操作主要有 :1 文件管理, 文件的增 删 改, 权限控制 文件块管理等 ;2 文件系统管理, 查看文件系统状态和设置元数据信息, 例如容量 块大小 副本因子数等 ;3 持久会话类, 如放弃对指定块的操作 客户端同步等 协议位置如图 2-7 所示 C (2) DataNodeProtocol 图 2-7 HDFS 协议示意 该协议是用于 DataNode 与 NameNode 进行通信的协议, 例如发送心跳报告和块状态报 23

12 告 一般来说,NameNode 不直接对 DataNode 进行 RPC 调用, 如果一个 NameNode 需要与 DataNode 通信, 唯一的方式, 就是通过调用该协议接口定义的方法 (3) ClientDatanodeProtocol 当客户端进程需要与 DataNode 进程进行通信的时候, 需要基于该协议 该协议接口定义数据块恢复的方法 (4) NameNodeProtocol 该协议接口定义了备用 NameNode(Secondary NameNode) 与 NameNode 进行通信所需进行的操作 其中,Secondary NameNode 是一个用来辅助 NameNode 的服务器端进程, 主要是对映像文件执行特定的操作, 另外, 还包括获取指定 DataNode 上块的操作 (5) DataTransferProtocol 该协议用于客户端与 DataNode 之间通信, 主要实现文件块的读写及验证等操作 (6) InterDatanodeProtocol 该协议是 DataNode 进程之间进行通信的协议, 例如客户端进程启动复制数据块, 此时可能需要在 DataNode 节点之间进行块副本的流水线复制操作 HDFS 的高可用性 在 Hadoop 2.0 之前的版本中,NameNode 在 HDFS 集群中存在单点故障, 每一个集群中存在一个 NameNode, 如果 NameNode 所在的机器出现了故障, 那么, 将导致整个集群无法利用, 直到 NameNode 重启或者在另一台主机上启动 NameNode 守护线程 在可预知的情况下 ( 比如 NameNode 所在的机器硬件或者软件需要升级 ) 以及在不可预测的情况下, 如果 NameNode 所在的服务器崩溃了, 都将导致整个集群无法使用 在 Hadoop 2.0 及以后的版本中,HDFS 的高可用性 (High Availability) 通过在同一个集群中运行两个 NameNode 实现 : 活动节点 (Active NameNode) 和备用节点 (Standby NameNode), 允许在服务器崩溃或者机器维护期间快速地启用一个新的 NameNode 来恢复故障 在典型的 HA 集群中, 通常有两台不同的机器充当 NameNode 在任何时间都只有一台机器处于活动 (Active) 状态 ; 另一台处于待命 (Standby) 状态 Active NameNode 负责集群中所有客户端的操作 ; 而 Standby NameNode 主要用于备用, 它维持足够的状态, 在必要时提供快速的故障恢复 图 2-8 展示了 HDFS 的高可用性实现原理, 其中,NameNode 简写为 NN,DataNode 简写为 DN 由图中可以看出, 两个 NameNode 都与一组称为 JNs(JournalNodes) 的互相独立的守护进程保持通信, 实现 Standby NN 的状态和 Active NN 的状态同步, 使元数据保持一致 当 Active NN 执行任何有关命名空间的修改时, 需要发送到一半以上的 JNs 上 ( 通过 Edits log 进行持久化存储 ) 当 Standby NN 观察到 Edits log 的变化时, 它会从 JNs 中读取 edits 信息, 并更新其内部的命名空间 一旦 Active NN 出现故障,Standby NN 首先确保自己在发生故障之前从 JNs 中读出了全部的修改内容, 然后切换到 Active 状态 为了提供快速的故障恢复,Standby NN 也需要保存集群中各个文件块的存储位置 为了达到这一目的,DataNodes 上需要同时配置这两个 NameNode 的地址, 同时, 与它们都建立心跳连接, 并把 block 位置等信息发送给它们 对于 JNs 而言, 任何时候, 只允许一个 NameNode 作为数据写入者 对于 DataNodes, 只执行 Active NN 发送过来的命令 24

13 第 2 章 HDFS 文件系统 图 2-8 HDFS 高可用性的实现 集中缓存管理 HDFS 采用集中式的缓存管理 (HDFS centralized cache management) 技术 HDFS 集中式缓存管理是一个明确的缓存机制, 它允许用户指定缓存的 HDFS 路径 NameNode 会与保存着所需块数据的所有 DataNode 通信, 并指导它们把块数据放在堆外缓存 (off-heap) 中 HDFS 集中式缓存管理的架构如图 2-9 所示 图 2-9 HDFS 集中式缓存的架构由图 2-9 可以看到,NameNode 负责协调集群中所有 DataNode 的 off-heap 缓存 NameNode 周期性地接收来自每个 DataNode 的缓存报告, 缓存报告中描述了缓存在给定 DataNode 中的所有块的信息 25

14 NameNode 通过借助 DataNode 心跳上的缓存和非缓存命令, 来管理 DataNode 缓存 缓 存指令存储在 fsimage 和 editlog 中, 可以通过 Java 和命令行 API 添加 移除或修改,NameNode 查询自身的缓存指令集, 来确定应该缓存哪个路径 NameNode 还存储了一组缓存池 ( 缓存 池是一个管理实体, 用于管理缓存指令组 ) NameNode 周期性地重复扫描命名空间和活跃的缓存, 以确定需要缓存或不缓存哪个 块, 并向 DataNode 分配缓存任务 重复扫描也可以由用户动作来触发, 比如添加或删除一 条缓存指令, 或者删除一个缓存池 HDFS 集中化缓存管理具有许多优势 (1) 用户可以根据自己的逻辑指定一些经常被使用的数据或者高优先级任务对应的数 据, 让它们常驻内存而不被淘汰到磁盘 当工作集的大小超过了主内存大小 ( 这种情况对于 许多 HDFS 负载都是常见的 ) 时, 这一点尤为重要 (2) 由于 DataNode 缓存是由 NameNode 管理的, 所以在分配任务时, 应用程序可以通 过查询一组缓存块的位置, 把任务和缓存块副本放在同一位置上, 提高读操作的性能 (3) 当数据块已经被 DataNode 缓存时, 客户端就可以使用一个新的更高效的零拷贝读 操作 API 因为缓存数据的校验和只需由 DataNode 执行一次, 所以, 使用零拷贝 API 时, 客户端基本上不会有开销 (4) 集中式的缓存可以提高整个集群的内存使用率 当依赖于单独的 DataNode 上操作 系统的内存进行缓存时, 重复读取一个块数据会导致该块的一个或多个副本全部被送入内 存中缓存 使用集中化缓存管理, 用户就能明确地只锁定这 N 个副本中的 M 个了, 从而节 省了 (N-M) 个内存的使用量 (5) 即使出现缓存数据的 DataNode 节点宕机 数据块移动或集群重启等问题, 缓存都 不会受到影响 因为缓存被 NameNode 统一管理并被持久化到 fsimage 和 editlog 中, 出现 问题后,NameNode 会调度其他存储了这个数据副本的 DataNode, 把它读取到内存 零拷贝 (zero-copy) 是实现主机或路由器等设备高速网络接口的主要技术 零拷贝技术通过减少或消除关键通信路径影响速率的操作, 降低数据传输的操作系统开销和协议处理开销, 从而有效提高通信性能, 实现高速数据传输 零拷贝技术可以减少数据拷贝和共享总线操作的次数, 消除通信数据在存储器之间不必要的中间拷贝过程, 有效地提高通信效率, 是设计高速接口通道 实现高速服务器和路由器的关键技术之一 数据拷贝受制于传统的操作系统或通信协议, 限制了通信性能 采用零拷贝技术, 通过减少数据拷贝次数, 简化协议处理的层次, 在应用和网络间提供更快的数据通路, 可以有效地降低通信延迟, 增加网络的吞吐率 日志和检查点 Hadoop 中有两个非常重要的文件 fsimage 和 edits, 前面已经粗略地介绍了一些, 这里做一个详细的讲解 它们位于 NameNode 的 $dfs.namenode.name.dir/current/ 文件夹中 在 current 目录中, 我们可以看到存在大量的以 edits 开头的文件和少量的以 fsimage 开头的文 26

15 第 2 章 HDFS 文件系统 件, 如图 2-10 所示 图 2-10 current 目录对 edits 和 fsimage 文件的概念说明如下 (1) edits 文件存放的是 Hadoop 文件系统的所有更新操作的日志,HDFS 文件系统客户端执行的所有写操作首先会被记录到 edits 文件中 (2) fsimage 文件是 Hadoop 文件系统元数据的一个永久性检查点, 其中包含 Hadoop 文件系统中的所有目录和文件的索引节点序列化信息 对于文件来说, 包含的信息有修改时间 访问时间 块大小信息等 ; 对于目录来说, 包含的信息主要有修改时间 访问控制权限等信息 fsimage 并不包含 DataNode 的信息, 而是包含 DataNode 上块的映射信息, 并存放到内存中, 当一个新的 DataNode 加入到集群中时,DataNode 都会向 NameNode 提供块的信息, 而 NameNode 会定期地索取块的信息, 以使得 NameNode 拥有最新的块映射 其中,edits 负责保存自最新检查点后命名空间的变化, 起到日志的作用 ; 而 fsimage 则保存了最新的元数据检查点信息 fsimage 和 edits 文件都是经过序列化的 在 NameNode 启动的时候, 会将 fsimage 文件中的内容加载到内存中, 然后再执行 edits 文件中的各项操作, 使得内存中的元数据与实际的同步 存在于内存中的元数据支持客户端的读操作 NameNode 启动后,HDFS 中的更新操作会重新写到 edits 文件中 对于一个文件来说, 当所有的写操作完成以后, 在向客户端发送成功代码之前, 将同步更新 edits 文件 在 NameNode 运行期间, 由于 HDFS 的所有更新操作都是直接写到 edits 中的, 时间长了会导致 edits 文件变得很大 在 Hadoop 1.x 中, 通过 SecondaryName 合并 fsimage 和 edits, 以此来减小 edits 文件的大小, 从而减少了 NameNode 重启的时间 在 Hadoop 2.x 中, 已经不用 SecondaryName, 通过配置 HA 机制实现, 即在 standby NameNode 节点上运行一个叫作 CheckpointerThread 的线程, 这个线程调用 StandbyCheckpointer 类的 dowork() 函数, 每隔一定的时间 ( 可配置 ) 做一次合并操作 edits 和 fsimage 文件中的内容使用普通文本编辑器是无法直接查看的, 为此,Hadoop 准备了专门的工具, 用于查看文件的内容, 分别为 oev 和 oiv oev 是 offline edits viewer( 离线 edits 查看器 ) 的缩写, 该工具只操作文件, 并不需要 Hadoop 集群处于运行状态 oev 提供了几个输出处理器, 用于将输入文件转换为相关格式的输出文件, 可以使用参数 -p 指定 目前支持的输出格式有 binary(hadoop 使用的二进制格式 ) xml( 在不使用参数 p 时的默认输出格式 ) 和 stats( 输出 edits 文件的统计信息 ) 由于没有与 stats 格式对应的输入文件, 所以, 一旦输出为 stats 格式, 将不能再转换为原有格式 比如输入格式为 binary, 输出格式为 xml, 可以通过将输入文件指定为原来的输出文件, 将输出文件指定为原来的输入文件, 实现 binary 和 xml 的转换, 而 stats 则不可以 27

16 oev 的具体语法可以通过在命令行输入 hdfs oev 来查看, 如图 2-11 所示 图 2-11 oev 的具体语法 oiv 是 offline image viewer 的缩写, 用于将 fsimage 文件的内容转储到指定文件中, 以 便于阅读, 该工具还提供了只读的 WebHDFS API, 以允许离线分析和检查 Hadoop 集群的 命名空间 oiv 在处理非常大的 fsimage 文件时是相当快的, 如果不能够处理 fsimage, 它会 直接退出 oiv 不具备向后兼容性, 比如使用 Hadoop 2.4 版本的 oiv 不能处理 hadoop 2.3 版 本的 fsimage, 只能使用 Hadoop 2.3 版本的 oiv 与 oev 一样,oiv 也不需要 Hadoop 集群处 于运行状态 oiv 的具体语法可以通过在命令行输入 hdfs oiv 来查看 如果 fsimage 丢失或者损坏了, 我们将失去文件到块的映射关系, 也就无法使用 DataNode 上的所有数据了 因此, 定期及时地备份 fsimage 和 edits 文件非常重要 fsimage 和 edit log 是 HDFS 的核心数据结构 这些文件的损坏会导致整个集群的失效 因此,NameNode 可以配置成支持多个 fsimage 和 edit log 的副本 任何 fsimage 和 edit log 的更新都会同步到每一份副本中 同步更新多个 edit log 副本会降低 NameNode 的命名空间 事务处理速率 但是这种降低是可以接受的, 因为 HDFS 程序中大量产生的是数据请求, 而不是元数据请求 NameNode 重新启动时, 会选择最新一致的 fsimage 和 edit log HDFS 快照 在 Hadoop 2.x 版本中,HDFS 提供了支持元数据快照的解决方案 快照 (Snapshot) 支持存储在某个时间的数据复制, 当 HDFS 数据损坏时, 可以回滚到过 去一个已知正确的时间点 快照分为两种 : 一种是建立文件系统的索引, 每次更新文件不会真正改变文件, 而是 新开辟一个空间用来保存更改的文件 ; 一种是复制所有的文件系统 HDFS 把元数据和数据 分离, 元数据被存储在单独的 NameNode 上, 实际的数据被复制并扩散到整个集群 使用 28

17 第 2 章 HDFS 文件系统 单个节点来管理元数据, 使我们能够使用一个单一的逻辑时钟, 建立元数据快照 HDFS 的快照是在某一时间点对指定文件系统复制, 可以是整个文件系统的, 也可以是文件系统的一部分 快照采用只读模式, 对重要数据进行恢复 防止用户错误性的操作 HDFS 的快照有以下特征 (1) 快照的创建是瞬间的, 代价为 O(1), 取决于子节点扫描文件目录的时间 (2) 当且仅当快照的文件目录下有文件更新时, 才会占用小部分内存, 占用内存的大小为 O(M), 其中,M 为更改文件或者目录的数量 (3) 新建快照时,DataNode 中的 block 不会被复制, 快照中只是记录了文件块的列表和大小等信息 (4) 快照不会影响正常文件系统的读写等操作 对做快照之后的数据进行的更改将会按照时间顺序逆序记录下来, 用户访问的还是当前最新的数据, 快照里的内容为快照创建的时间点时文件的内容减去当前文件的内容 2.3 HDFS 的数据存储 前面主要介绍了 HDFS 系统的运行机制和原理, 本节将介绍 HDFS 系统中的文件数据是如何存储和管理的 数据完整性 I/O 操作过程中, 难免会出现数据丢失或脏数据, 数据传输的量越大, 出错的概率越高 校验错误最常用的办法, 就是传输前计算一个校验和, 传输后计算一个校验和, 两个校验和如果不相同, 就说明数据存在错误 为了保证数据的完整性, 一般采用下列数据校验技术 :1 奇偶校验技术 ;2MD5 SHA1 等校验技术 ;3CRC-32 循环冗余校验技术 ;4ECC 内存纠错校验技术 其中, 比较常用的错误校验码是 CRC-32 HDFS 将一个文件分割成一个或多个数据块, 这些数据块被编号后, 由名字节点保存, 通常需要记录的信息包括文件的名称 文件被分成多少块 每块有多少个副本 每个数据块存放在哪个数据节点上 其副本存放于哪些节点上, 这些信息被称为元数据 HDFS 为了保证数据的完整性, 采用校验和 (checksum) 检测数据是否损坏 当数据第一次引入系统时计算校验和, 并且在一个不可靠的通道中传输的时候, 再次检验校验和 但是, 这种技术并不能修复数据 ( 注意 : 校验和也可能损坏, 但是, 由于校验和小得多, 所以可能性非常小 ) 数据校验和采用的是 CRC-32, 任何大小的数据输入都可以通过计算, 得出一个 32 位的整数校验和 DataNode 在接收到数据后存储该数据及其校验和, 或者将数据和校验和复制到其他的 DataNode 上 当客户端写数据时, 会将数据及其 DataNode 发送到 DataNode 组成的管线, 最后一个 DataNode 负责验证校验和, 如果有损坏, 则抛出 ChecksumException, 这个异常属于 IOException 的子类 客户端读取数据的时候, 也会检验校验和, 会与 DataNode 上的校验和进行比较 每个 DataNode 上面都会有一个用于记录校验和的日志 客户端验证完之后, 会告诉 DataNode, 然后更新这个日志 29

18 不仅客户端在读写数据的时候验证校验和, 每个 DataNode 也会在后台运行一个 DataBlockScanner, 从而定期检查存储在该 DataNode 上面的数据块 如果客户端发现有 block 坏掉, 按照以下步骤进行恢复 (1) 客户端在抛出 ChecksumException 之前, 会把坏的 block 和 block 所在的 DataNode 报告给 NameNode (2) NameNode 把这个 block 标记为已损坏, 这样,NameNode 就不会把客户端指向这个 block, 也不会复制这个 block 到其他的 DataNode (3) NameNode 会把一个好的 block 复制到另外一个 DataNode (4) NameNode 把坏的 block 删除 HDFS 会存储每个数据块的副本, 可以通过数据副本来修复损坏的数据块 客户端在读取数据块时, 如果检测到错误, 首先向 NameNode 报告已损坏的数据块及其正在尝试读取操作的这个 DataNode NameNode 会将这个数据块标记为已损坏, 对这个数据块的请求会被 NameNode 安排到另一个副本上 之后, 它安排这个数据块的另一个副本复制到另一个 DataNode 上, 如此, 数据块的副本因子又回到期望水平 此后, 已损坏的数据块副本会被删除 Hadoop 的 LocalFileSystem 执行客户端的校验和验证 当写入一个名为 filename 的文件时, 文件系统客户端会明确地在包含每个文件块校验和的同一个目录内建立一个名为 filename.crc 的隐藏文件 数据压缩 Hadoop 作为一个较通用的海量数据处理平台, 每次运算都会需要处理大量的数据 使用文件和数据压缩技术有明显的优点 :1 节省数据占用的磁盘空间 ;2 加快数据在磁盘和网络中的传输速度, 从而提高系统的处理速度 我们来了解一下 Hadoop 中的文件压缩 Hadoop 支持多种压缩格式 我们可以把数据文件压缩后再存入 HDFS, 以节省存储空间 在表 2-2 中, 列出了几种压缩格式 表 2-2 Hadoop 中的压缩格式 压缩格式 Unix 工具 算法 文件扩展名 多文件支持 可分割 Deflate 无 Deflate.deflate No No Gzip gzip Deflate.gz No No Zip zip Deflate.zip Yes Yes Bzip bzip2 Bzip2.bz2 No Yes LZO lzop LZO.lzo No No 所有的压缩算法都存在空间与时间的权衡 : 更快的压缩速率和解压速率是以牺牲压缩 率为代价的 Deflate 算法是同时使用了 LZ77 与哈夫曼编码的一个无损数据压缩算法, 源代 码可以在 zlib 库中找到 Gzip 算法是以 Deflate 算法为基础扩展出来的一种算法 Gzip 在时 间和空间上比较适中,Bzip2 算法压缩比 Gzip 更有效, 但速度更慢 Bzip2 的解压速度比它 的压缩速度要快, 但与其他压缩格式相比, 又是最慢的, 但压缩效果明显是最好的 30

19 第 2 章 HDFS 文件系统 使用压缩, 有两个比较麻烦的地方 : 第一, 有些压缩格式不能被分块 并行地处理, 比如 Gzip; 第二, 另外的一些压缩格式虽然支持分块处理, 但解压的过程非常缓慢, 使作业瓶颈转移到了 CPU 上, 例如 Bzip2 LZO 是一种既能够被分块并且并行处理速度也非常快的压缩算法 在 Hadoop 中, 使用 LZO 压缩算法可以减小数据的大小并缩短数据的磁盘读写时间, 在 HDFS 中存储压缩数据, 可以使集群能保存更多的数据, 延长集群的使用寿命 不仅如此, 由于 MapReduce 作业通常瓶颈都在 I/O 上, 存储压缩数据就意味着更少的 I/O 操作, 作业运行更加高效 例如, 将压缩文件直接作为入口参数交给 MapReduce 处理, MapReduce 会自动根据压缩文件的扩展名来自动选择合适的解压器处理数据 处理流程如图 2-12 所示 图 2-12 MapReduce 的压缩框架 LZO 的压缩文件是由许多小的 blocks 组成 ( 约 256KB), 使得 Hadoop 的作业可以根据 block 的划分来分块工作 (split job) 不仅如此,LZO 在设计时就考虑到了效率问题, 它的解压速度是 Gzip 的两倍, 这就让它能够节省很多的磁盘读写, 它的压缩比不如 Gzip, 大约压缩出来的文件比 Gzip 压缩的大一半, 但是, 这仍然比没有经过压缩的文件要节省 20%~50% 的存储空间, 这样, 就可以在效率上大大地提高作业执行的速度 在考虑如何压缩由 MapReduce 程序将要处理的数据时, 压缩格式是否支持分割是很重要的 比如, 存储在 HDFS 中的未压缩的文件大小为 1GB,HDFS 的块大小为 64MB, 所以该文件将被存储为 16 块, 将此文件用作输入的 MapReduce 作业, 会创建 1 个输入分片 (split, 也称为 分块 对应 block, 我们统一称为 块 ), 每个分片都被作为一个独立 map 任务的输入, 单独进行处理 现在假设该文件是一个 Gzip 格式的压缩文件, 压缩后的大小为 1GB 与前面一样,HDFS 31

20 将此文件存储为 16 块 然而, 针对每一块创建一个分块是没有用的, 因为不可能从 Gzip 数据流中的任意点开始读取,map 任务也不可能独立于其他分块只读取一个分块中的数据 Gzip 格式使用 Deflate 算法来存储压缩过的数据,Deflate 将数据作为一系列压缩过的块进行存储 但是, 每块的开始没有指定用户在数据流中任意点定位到下一个块的起始位置, 而是其自身与数据流同步 因此,Gzip 不支持分割 ( 块 ) 机制 在这种情况下,MapReduce 不分割 Gzip 格式的文件, 因为它知道输入是 Gzip 压缩格式的 ( 通过文件扩展名得知 ), 而 Gzip 压缩机制不支持分割机制 这样是以牺牲本地化为代价的 : 一个 map 任务将处理 16 个 HDFS 块 大都不是 map 的本地数据 与此同时, 因为 map 任务少, 所以作业分割的粒度不够细, 从而导致运行时间变长 在我们假设的例子中, 如果是一个 LZO 格式的文件, 我们会遇到同样的问题, 因为基本压缩格式不为 reader 提供方法使其与流同步 但是,Bzip2 格式的压缩文件确实提供了块与块之间的同步标记 ( 一个 48 位的 PI 近似值 ), 因此它支持分割机制 对于文件的收集, 这些问题会稍有不同 Zip 是存档格式, 因此, 它可以将多个文件合并为一个 Zip 文件 每个文件单独压缩, 所有文档的存储位置存储在 Zip 文件的尾部 这个属性表明 Zip 文件支持文件边界处分割, 每个分片中包括 Zip 压缩文件中的一个或多个文件 序列化 序列化是指将结构化对象转换成字节流, 以便于进行网络传输, 或写入持久存储的过程 与之相对的反序列化, 就是将字节流转化为一系列结构化对象的过程 (1) 序列化有以下特征 紧凑 : 可以充分利用稀缺的带宽资源 快速 : 通信时大量使用序列化机制, 因此, 需要减少序列化和反序列化的开销 可扩展 : 随着通信协议的升级而可升级 互操作 : 支持不同开发语言的通信 (2) 序列化的主要作用如下 : 作为一种持久化格式 作为一种通信的数据格式, 支持不同开发语言的通信 作为一种数据拷贝机制 Hadoop 的序列化机制与 Java 的序列化机制不同, 它实现了自己的序列化机制, 将对象序列化到流中, 值得一提的是,Java 的序列化机制是不断地创建对象, 但在 Hadoop 的序列化机制中, 用户可以复用对象, 减少了 Java 对象的分配和回收, 提高了应用效率 在分布式系统中, 进程将对象序列化为字节流, 通过网络传输到另一进程, 另一进程接收到字节流, 通过反序列化, 转回到结构化对象, 以实现进程间通信 在 Hadoop 中, Mapper Combiner Reducer 等阶段之间的通信都需要使用序列化与反序列化技术 举例来说,Mapper 产生的中间结果 <key: value1, value2...> 需要写入到本地硬盘, 这是序列化过程 ( 将结构化对象转化为字节流, 并写入硬盘 ), 而 Reducer 阶段, 读取 Mapper 的中间结果的过程则是一个反序列化过程 ( 读取硬盘上存储的字节流文件, 并转回为结构化对象 ) 需要注意的是, 能够在网络上传输的只能是字节流,Mapper 的中间结果在不同主机间洗牌时, 对象将经历序列化和反序列化两个过程 32

21 第 2 章 HDFS 文件系统 序列化是 Hadoop 核心的一部分, 在 Hadoop 中, 位于 org.apache.hadoop.io 包中的 Writable 接口是 Hadoop 序列化格式的实现,Writable 接口提供两个方法 : public interface Writable { void write(dataoutput out) throws IOException; void readfields(datainput in) throws IOException; } 不过, 没有提供比较功能, 需要进行比较的话, 要实现 WritableComparable 接口 : public interface WritableComparable<T> extends Writable, Comparable<T> { } Hadoop 的 Writable 接口是基于 DataInput 和 DataOutput 实现的序列化协议, 紧凑 ( 高效 使用存储空间 ) 快速 ( 读写数据 序列化与反序列化的开销小 ) Hadoop 中的键 (key) 和值 (value) 必须是实现了 Writable 接口的对象 ( 键还必须实现 WritableComparable, 以便进行排序 ) Hadoop 自身提供了多种具体的 Writable 类, 包含了常见的 Java 基本类型 (boolean byte short int float long 和 double 等 ) 和集合类型 (BytesWritable ArrayWritable 和 MapWritable 等 ), 如图 2-13 所示 图 2-13 Writable 接口 Text:Text 是 UTF-8 的 Writable, 可以理解为与 java.lang.string 相类似的 Writable Text 类替代了 UTF-8 类 Text 是可变的, 其值可以通过调用 set() 方法来改变 最大可 33

22 以存储 2GB 的大小 NullWritable:NullWritable 是一种特殊的 Writable 类型, 它的序列化长度为零, 可以用作占位符 BytesWritable:BytesWritable 是一个二进制数据数组封装, 序列化格式是一个 int 字段 BytesWritable 是可变的, 其值可以通过调用 set() 方法来改变 ObjectWritable:ObjectWritable 适用于字段使用多种类型时 ArrayWritable 和 TwoDArrayWritable 是针对数组和二维数组的 MapWritable 和 SortedMapWritable 是针对 Map 和 SortMap 的 虽然 Hadoop 内建了多种 Writable 类供用户选择,Hadoop 对 Java 基本类型的包装 Writable 类实现的 RawComparable 接口, 使得这些对象不需要反序列化过程, 便可以在字节流层面进行排序, 从而大大缩短了比较的时间开销 但是, 当我们需要更加复杂的对象时,Hadoop 的内建 Writable 类就不能满足我们的需求了 ( 需要注意的是 Hadoop 提供的 Writable 集合类型并没有实现 RawComparable 接口, 因此也不满足我们的需要 ), 这时, 我们就需要定制自己的 Writable 类, 特别在将其作为键 (key) 的时候更应该如此, 以求实现更高效的存储和快速的比较 2.4 HDFS 的安装和配置 HDFS 通过一个 NameNode 作为 master 来统筹管理多个作为 slaves 的 DataNode, 是 Hadoop 的核心功能组件 安装完 Hadoop 后, 即完成了 HDFS 的安装 HDFS 为分布式计算存储提供了底层支持, 功能及用法类似于本地文件系统 Hadoop 的安装 HDFS 是 Hadoop 的核心项目, 安装程序已经包含在 Hadoop 核心程序包中, 从一定意义上讲,HDFS 的安装配置与 Hadoop 是一致的 Hadoop 集群安装主要有以下工作 1. 准备工作 (1) 首先从官网下载一个 Hadoop 程序包 一般 Hadoop 分为两个压缩文件, 一个是源代码, 一个是编译好的程序包 用户可根据需要选择不同的版本下载安装 (2) 安装 Linux 服务器和必要的软件 Hadoop 既可以支持单台服务器的伪分布式部署, 也可以多台集群配置部署 必需的软件主要有 Java SSH 等 (3) 对 Linux 进行必要的系统配置 如主机名 DNS 环境变量等 2. 安装 Java 并配置 SSH 无密码访问通过配置 SSH 实现基于公钥方式的无密码登录, 具体操作步骤为 : 创建一个新的 hadoop 账户, 生成这个账户的 SSH 公钥, 配置公钥授权文件及设置 SSH 服务登录方式等 34

23 第 2 章 HDFS 文件系统 3. 解压安装 Hadoop 安装包将安装软件解压到集群内的所有机器上 通常, 安装路径要一致, 一般用 HADOOP_HOME 指代安装的根路径, 集群里的所有机器的 HADOOP_HOME 路径相同 如果集群内机器的环境完全一样, 可以在一台机器上配置好, 然后将整个文件夹拷贝到其他机器的相同位置即可 4. 配置 hadoop-env.sh 文件包含 Hadoop 启动的时候配置的环境变量, 包括 Hadoop 自身配置 JDK 等的设置 5. 配置 core-site.xml hdfs-site.xml mapred-site.xml 等文件配置信息将在后面详细介绍 6. 格式化 HDFS 文件系统这类似于 Windows 文件系统使用前需要格式化 7. 启动所有节点并测试本章中, 我们将下载使用 Hadoop 版本, 在 CentOS 6.5 上分别搭建伪分布式环境 ( 即在单独的一台服务器上安装运行所有的 Hadoop 功能组件 ) 和集群环境作为实验平台 (1) 伪分布式部署 1 安装 CentOS 6.5 操作系统, 如图 2-14 所示 图 2-14 安装 CentOS 操作系统 2 检查 Java 安装情况, 如图 2-15 所示 如未安装, 可用 rpm 包或者 yum 等方式安 装 Java 这里, 我们使用 Java 1.7 版本 35

24 图 2-15 Java 安装包 3 修改 hosts 文件, 设置主机名 在 hosts 文件最后, 加入一行主机名与 IP 地址, 如 图 2-16 所示 所示 图 2-16 hosts 文件 4 使用 useradd 命令创建 hadoop 用户, 登录并配置 SSH 无密码登录, 如图 2-17 图 2-17 配置 SSH 进入.ssh 目录, 将 id_rsa.pub 复制, 并且命名为 authorized_keys, 然后设置文件权 限, 如图 2-18 所示 图 2-18 设置文件权限 5 将 Hadoop 安装包解压到要安装的路径中 这里, 将 Hadoop 安装在 /home/hadoop/ 用户目录下 36

25 第 2 章 HDFS 文件系统 6 配置环境变量 在 /etc/profile 文件中配置 Java 及 Hadoop 相关的环境变量, 并使之 生效 如图 2-19 所示 图 2-19 配置环境变量 7 配置 Hadoop 安装文件中的环境变量 配置 etc/hadoop/hadoop-env.sh 文件, 如图 2-20 所示 图 2-20 etc/hadoop/hadoop-env.sh 文件 配置 etc/hadoop/core-site.xml 文件, 加入如图 2-21 所示的内容 图 2-21 配置 etc/hadoop/core-site.xml 文件 配置 etc/hadoop/hdfs-site.xml 文件, 加入如图 2-22 所示的内容 图 2-22 配置 etc/hadoop/hdfs-site.xml 文件 37

26 配置 etc/hadoop/slaves, 加入 DataNode 节点, 即当前主机名, 如图 2-23 所示 图 2-23 配置 etc/hadoop/slaves 8 在服务器上创建目录 /home/hadoop/hadoop/tmp /home/hadoop/hadoop/dfs/name /home/hadoop/hadoop/dfs/data, 并赋予读写权限 至此, 基于单台服务器的 Hadoop 伪集群安装部署完成, 启动运行即可 (2) 集群部署 分布式集群部署与单机 Hadoop 类似, 流程上稍微复杂一些 我们以安装包括 1 个 NameNode 和 3 个 DataNode 的 Hadoop 集群为例 配置见表 2-3 表 2-3 Hadoop 集群配置 节点名称 IP 说明 h.master NameNode h.slave DataNode h.slave DataNode h.slave DataNode 1 在各个节点安装 CentOS 6.5 操作系统, 安装 Java SSH 等软件, 配置允许 SSH 通 过防火墙或者直接关闭各个主机的防火墙 ; 添加名为 hadoop 的 Linux 用户 ; 修改 /etc/sysconfig/network 中的 hostname 设置 2 配置各个主机的 IP, 并修改 /etc/hosts 文件, 将每个节点的主机名写入到 hosts 文件中进行解析, 如图 2-24 所示 图 2-24 修改 /etc/hosts 文件 3 配置 SSH 无密码登录 首先在各个节点的 hadoop 用户下创建密钥, 然后将 4 个节点的公钥文件 id_rsa.pub 的内容放到 authorized_keys 文件里, 并设置文件权限 最后测试节点之间是否能够通过 SSH 互相连通, 如图 2-25 所示 4 将 Hadoop 安装包解压到要安装的路径中 这里, 我们将 Hadoop 安装在用户目录 /home/hadoop/ 下面 5 配置环境变量 在所有节点的 /etc/profile 文件中配置 Java 及 Hadoop 相关的环境变量, 并使之生效, 如图 2-26 所示 38

27 第 2 章 HDFS 文件系统 图 2-25 SSH 无密码登录配置 图 2-26 profile 文件的配置 6 在 NameNode 节点中, 修改 Hadoop 安装目录中的配置文件 配置 etc/hadoop/hadoop-env.sh 文件, 增加 Java 接口设置, 如图 2-27 所示 图 2-27 配置 etc/hadoop/hadoop-env.sh 文件 配置 etc/hadoop/core-site.xml, 加入如图 2-28 所示的内容 图 2-28 配置 etc/hadoop/core-site.xml 39

28 配置 etc/hadoop/hdfs-site.xml, 加入如图 2-29 所示的内容 图 2-29 配置 etc/hadoop/hdfs-site.xml 配置 etc/hadoop/slaves, 加入 DataNode 节点, 如图 2-30 所示 图 2-30 配置 etc/hadoop/slaves 7 创建 Hadoop 数据目录 :/home/hadoop/hadoop/tmp /home/hadoop/hadoop/dfs/name /home/hadoop/hadoop/dfs/data, 并赋予读写权限 8 将目录 /home/hadoop/hadoop 整体复制到其他三个节点, 如图 2-31 所示 图 2-31 复制目录 /home/hadoop/hadoop 至此,Hadoop 集群安装完成 主要区别在于 : SSH 无密码登录配置 需要在每一台 Hadoop 的节点上都配置 SSH 无密码登录, 使节点之间能够相互访问 系统配置文件 在每台服务器上进行系统配置及网络主机名配置 Hadoop 配置 在 Hadoop 安装包的 etc/hadoop/slaves 中加入所有数据节点 其他配置, 如文件副本数量等, 可按实际情况设置 HDFS 的配置 Hadoop 与 HDFS 相关的配置文件主要是 core-site.xml hdfs-site.xml mapred-site.xml 40

29 第 2 章 HDFS 文件系统 等三个配置文件, 默认情况下, 这些配置文件都是空的 1. core-site.xml 的配置 core-site.xml 是 Hadoop 的核心配置项, 是全局配置, 包括 HDFS 和 MapReduce 常用的 I/O 设置等 其中, 涉及 HDFS 的主要配置选项见表 2-4 表 2-4 core-site.xml 的主要配置选项 属性名称属性值说明 临时文件夹, 指定后需将使用到的所有 hadoop.tmp.dir hadoop.http.authentication. type hadoop.http.authentication. token.validity /tmp/hadoop 子级文件夹都要手动创建出来, 否则无法正常启动服务验证方式, 默认为简单, 也可自己定义 simple kerberos Class, 需配置所有节点 验证令牌的有效时间, 需配置所有节点 hadoop.http.authentication. cookie.domain hadoop.http.authentication. simple.anonymous.allowed hadoop.http.authentication. kerberos.keytab hadoop.security. authorization hadoop.security. authentication domian.tld true false /home/xianglei/hadoop.keytab true false simple kerberos HTTP 验证所使用的 Cookie 的域名,IP 地址访问则该项无效, 必须给所有节点都配置域名简单验证专用 默认 true, 允许匿名访问 Kerberos 验证专用, 密钥文件存放位置 Hadoop 服务层级验证安全验证, 需配合 hadoop-policy.xml 使用, 配置好以后用 dfsadmin, mradmin -refreshserviceacl 刷新生效 Hadoop 本身的权限验证, 非 HTTP 访问,simple 或者 kerberos hadoop.logfile.size 设置日志文件大小, 超过则滚动新日志 hadoop.logfile.count 20 最大日志数 fs.default.name hdfs://master:9000 定义 NameNode 节点的 URI 和端口设定 ${hadoop.tmp.dir}( 默认 ) fs.checkpoint.dir /dfs/namesecondary fs.trash.interval io.bytes.per.checksum 1024 io.skip.checksum.errors true false 备份元数据节点目录, 一般这些目录是不同的块设备, 不存在的目录会被忽略掉 HDFS 垃圾箱设置, 可以恢复误删除, 单位是分钟数,0 为禁用每校验码所校验的字节数, 不大于 io.file.buffer.size 处理序列化文件时跳过校验码错误, 不抛出异常 默认是 false 41

30 续表 属性名称 属性值 说明 io.serializations org.apache.hadoop.io.serializer. WritableSerialization 序列化的编解码器 io.seqfile.compress. blocksize 块压缩的序列化文件的最小块大小, 字节 org.apache.hadoop.io.compress. DefaultCodec, com.hadoop.compression.lzo. Hadoop 所使用的编解码器,Gzip LzoCodec, Bzip2 为自带,LZO 需安装 hadoopgpl com.hadoop.compression.lzo. 或者 kevinweil, 逗号分隔 LzopCodec, io.compression.codecs snappy 需要单独安装并修改 hadoop org.apache.hadoop.io.compress. -env.sh GzipCodec, 配置 LD_LIBRARY_PATH=snappy 类 org.apache.hadoop.io.compress. 库位置 BZip2Codec, org.apache.hadoop.io.compress. SnappyCodec io.compression.codec. com.hadoop.compression.lzo. lzo.class LzoCodec LZO 所使用的压缩编码器 io.file.buffer.size 用作序列化文件处理时读写 buffer 的大小 webinterface.private.actions true false Web 交互的行为设定 设为 true, 则 JobTracker 和 NameNode 的 tracker 网页会出现杀任务删文件等操作连接, 默认是 false topology.script.file.name /hadoop/bin/rackaware.py 机架感知位置脚本 topology.script.number.args 1000 机架感知脚本管理的主机数,IP 地址 分布式集群部署模式时, 核心配置文件 core-site.xml 的参考配置格式如下 : <configuration> <property> <name>fs.defaultfs</name> <value>hdfs://master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/tmp</value> </property> <property> 42

31 第 2 章 HDFS 文件系统 <name>hadoop.proxyuser.hduser.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hduser.groups</name> <value>*</value> </property> </configuration> 2. hdfs-site.xml 配置 hdfs-site.xml 是 HDFS 的局部配置文件, 主要配置选项见表 2-5 表 2-5 hdfs-site.xml 的主要配置选项 属性名称 属性值 说明 dfs.namenode.handler.count 10 NameNode 启动后开启的线程数 dfs.datanode.http.address :50075 DataNode 的 tracker 页面监听地址和端口 dfs.datanode.ipc.address :50020 DataNode 的 IPC 监听端口, 为 0 的话会在随机端口监听, 通过心跳通知 NameNode dfs.datanode.address :50010 DataNode 服务端口, 为 0 则随机监听 dfs.datanode.max.xcievers 256 Linux 下的打开文件最大数量, 当出现 DataXceiver 报错的时候, 需要调大 dfs.datanode.data.dir.perm 755 DataNode 所使用的本地文件夹的路径权限, 默认 755 dfs.datanode.failed. DataNode 磁盘卷出错次数 0 次则任何卷 0 volumes.tolerated 出错都要停止 DataNode dfs.name.dir ${hadoop.tmp.dir}/dfs 存储在本地的 NN 数据镜像的目录, 作为 /name NameNode 的冗余备份 dfs.data.dir /var/data/hadoop/hdfs/data1, 真正的 DataNode 数据保存路径, 可以多分 /var/data/hadoop/hdfs/data2, 区, 逗号分隔 /var/data/hadoop/hdfs/data3 dfs.heartbeat.interval 3 DataNode 心跳检测时间间隔, 单位为秒 dfs.client.block.write.retries 3 数据块写入最多重试次数, 在此次数之前不会捕获失败 dfs.max.objects 0 dfs 最大并发对象数,HDFS 中的目录块都会被认为是一个对象,0 表示不限制 dfs.safemode.extension 30 指定系统退出安全模式时需要的延迟时间, 单位为秒, 默认为 30 dfs.http.address :50070 NameNode 的 Web 管理端口 dfs.https.enable true false( 默认 ) NameNode 的 tracker 是否支持 HTTPS 协议 dfs.https.address :50470 NameNode 的 tracker 页面监听访问地址 dfs.permissions true false dfs 权限是否打开, 一般设置为 false dfs.permissions.supergroup supergroup( 默认 ) 设置 hdfs 超级权限组 dfs.replication 3 hdfs 数据块的副本数, 默认 3, 理论上数量越大速度越快, 但需要的存储空间也更多 43

32 续表 属性名称 属性值 说明 DataNode 数据块的最大副本数量 dfs.replication.max 512 DataNode 故障临时恢复时会导致数据超过默认副本数, 此属性通常不用配置 dfs.replication.min 1 DataNode 数据块的最小副本数量 dfs.replication.interval 3 NameNode 计算复制 DataNode 节点的工作周期数, 单位为秒 一般情况下不用指定 DataNode 的白名单 仅在 dfs.hosts 文件中 dfs.hosts /usr/local/hadoop/conf 指定的 DataNode 有权限连接到 NameNode /dfs.hosts.allow 上 如果该参数不指定, 那么默认所有的 DataNode 都可以连接到 NameNode dfs.hosts.exclude /usr/local/hadoop/conf /dfs.hosts.deny DataNode 黑名单 3. mapred-site.xml 配置 mapred-site.xml 用于配置 MapReduce 使用的框架, 与 HDFS 的关联主要是文件和 I/O 操作 这里简单介绍一下 mapred-site.xml 的相关配置项, 见表 2-6 表 2-6 mapred-site.xml 的相关配置项 属性名称 属性值 说明 mapred.local.dir /data1/hdfs/mapred/local, mapred 是做本地计算所使用的文件夹, /data2/hdfs/mapred/local, 可以配置多块硬盘, 以逗号分隔... mapred.system.dir /data1/hdfs/mapred/system, mapred 存放控制文件所使用的文件夹, /data2/hdfs/mapred/system, 可配置多块硬盘, 逗号分隔... mapred.temp.dir /data1/hdfs/mapred/temp, mapred 是共享的临时文件夹路径, 可配 /data2/hdfs/mapred/temp, 置多块硬盘, 以逗号分隔... mapred.local.dir.minspacestart 本地运算文件夹剩余空间低于该值则不在本地做计算 单位是字节数, 默认为 0 mapred.local.dir.minspacekill 本地计算文件夹剩余空间低于该值则不再申请新任务, 单位是字节数, 默认为 0 hadoop.job.history.location job 历史文件保存路径, 无可配置参数, 也不用写在配置文件中, 默认在 logs 的 history 文件夹下 hadoop.job.history.user.location 用户历史文件的存放位置 io.sort.factor 30 处理流合并时的文件排序数 io.sort.mb 600 排序所使用的内存数量, 单位是兆, 默认为 1 44

33 第 2 章 HDFS 文件系统 启动 HDFS 配置完成后, 需要先在 NameNode 中格式化 HDFS 系统, 然后再启动 1. HDFS 的格式化如图 2-32 所示, 我们使用 hdfs namenode -format 命令格式化 Hadoop 的 HDFS 系统 2. HDFS 的启动 图 2-32 HDFS 的格式化 通过执行脚本 start-dfs.sh 或 start-all.sh 启动 Hadoop 文件系统, 如图 2-33 所示 图 2-33 启动 Hadoop 3. 验证可以使用 Java 自带的小工具 jps 查看进程, 如图 2-34 所示 ; 也可以用 hdfs dfsadmin -report 命令查看 Hadoop 集群的状态, 如图 2-35 所示 45

34 图 2-34 jps 命令 图 2-35 查看集群状态 打开浏览器, 输入 页面显示正常内容, 说明 Hadoop 安装成 功并在运行中, 如图 2-36 所示 图 2-36 Hadoop Web 的状态 46

35 第 2 章 HDFS 文件系统 2.5 小结 本章介绍了分布式文件系统及 HDFS, 并重点介绍了 HDFS 的结构组成 运行原理, 以及数据操作 数据完整性 压缩存储 序列化等诸多优点和特性 通过学习本章的内容, 读者应能够对 HDFS 分布式文件系统有一定的认识, 掌握 HDFS 的内部运行机制, 为下一章的操作打下基础 当然,HDFS 也有其自身的缺陷和不足, 比如不适合存储大量的小文件 不适合大量的随机读文件操作等, 有兴趣的读者不妨扩展一下 本章最后详细介绍了 Hadoop 的安装配置, 读者要熟练掌握并实际完成 Hadoop 集群配置, 后续学习实践也将在本章安装的环境的基础上进行 47

水晶分析师

水晶分析师 大数据时代的挑战 产品定位 体系架构 功能特点 大数据处理平台 行业大数据应用 IT 基础设施 数据源 Hadoop Yarn 终端 统一管理和监控中心(Deploy,Configure,monitor,Manage) Master Servers TRS CRYSTAL MPP Flat Files Applications&DBs ETL&DI Products 技术指标 1 TRS

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP # iptables 默认安全规则脚本 一 #nat 路由器 ( 一 ) 允许路由 # iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT ( 二 ) DNAT 与端口转发 1 启用 DNAT 转发 # iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 dprot 422 -j DNAT to-destination

More information

Linux服务器构建与运维管理

Linux服务器构建与运维管理 1 Linux 服务器构建与运维管理 第 2 章 :Linux 基本命令 阮晓龙 13938213680 / rxl@hactcm.edu.cn http://linux.xg.hactcm.edu.cn http://www.51xueweb.cn 河南中医药大学管理科学与工程学科 2018.3 2 提纲 目录与文件的操作 mkdir touch mv cp rm rmdir file tree

More information

KV-cache 1 KV-cache Fig.1 WorkflowofKV-cache 2.2 Key-value Key ; Key Mem-cache (FIFO) Value Value Key Mem-cache ( Value 256B 100 MB 20%

KV-cache 1 KV-cache Fig.1 WorkflowofKV-cache 2.2 Key-value Key ; Key Mem-cache (FIFO) Value Value Key Mem-cache ( Value 256B 100 MB 20% 38 11 2013 11 GeomaticsandInformationScienceofWuhanUniversity Vol.38No.11 Nov.2013 :1671-8860(2013)11-1339-05 :A GIS Key-value 1 1 1 1 (1 129 430079) : 设计了一种基于 Key-value 结构的缓存 KV-cache 旨在简化数据结构 高效管理缓存数据

More information

长 安 大 学 硕 士 学 位 论 文 基 于 数 据 仓 库 和 数 据 挖 掘 的 行 为 分 析 研 究 姓 名 : 杨 雅 薇 申 请 学 位 级 别 : 硕 士 专 业 : 计 算 机 软 件 与 理 论 指 导 教 师 : 张 卫 钢 20100530 长安大学硕士学位论文 3 1 3系统架构设计 行为分析数据仓库的应用模型由四部分组成 如图3 3所示

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示 完整的大数据解決方案 ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示 Dataframe Pig YARN Spark Stand Alone HDFS Spark Stand Alone Mesos Mesos Spark Streaming Hive Hadoop

More information

大数据技术原理与应用

大数据技术原理与应用 大数据技术原理与应用 厦门大学计算机科学系厦门大学计算机科学系林子雨 2015 年版 ziyulin@xmu.edu.cn 大数据技术原理与应用 http://dblab.xmu.edu.cn/post/bigdata 温馨提示 : 编辑幻灯片母版, 可以修改每页 PPT 的厦大校徽和底部文字 第二章大数据处理架构 Hadoop (PPT 版本号 :2015 年 6 月第 1.0 版 ) 林子雨厦门大学计算机科学系

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony Ioncube Php Encoder 8 3 Crack 4 ->>->>->> DOWNLOAD 1 / 5 2 / 5 Press..the..General..Tools..category4Encrypt..and..protect..files..with..PHP..encoding,..encryption,..ob fuscation..and..licensing... 2016

More information

Flink快速上手(QuickStart)

Flink快速上手(QuickStart) 安装 : 下载并启动 Flink 可以在 Linux Mac OS X 以及 Windows 上运行 为了能够运行 Flink, 唯一的要求是必须安装 Java 7.x 或者更高版本 对于 Windows 用户来说, 请参考 Flink on Windows 文档, 里面介绍了如何在 Window 本地运行 Flink 下载 从下载页面 (http://flink.apache.org/downloads.html)

More information

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0 SDChain-Matrix 节点搭建指南 目录 1 环境要求... 3 2 软件下载... 4 3 安装部署... 4 3.1 部署可执行程序目录... 4 3.2 部署配置文件目录... 4 3.3 部署数据库文件目录... 4 3.4 部署日志文件目录... 4 3.5 部署依赖库文件目录... 4 4 配置参数... 5 5 启动运行... 7 5.1 普通模式启动... 7 5.2 加载启动模式...

More information

温州市政府分散采购

温州市政府分散采购 温 州 市 政 府 分 散 采 购 招 标 文 件 招 标 编 号 :F - G B 2 0 1 6 0 3 1 4 0 0 4 7 招 标 项 目 : 温 州 市 人 民 政 府 办 公 室 政 务 云 平 台 ( 重 ) 招 标 方 式 : 公 开 招 标 招 标 人 : 温 州 市 人 民 政 府 办 公 室 招 标 代 理 : 二 〇 一 六 年 三 月 目 录 投 标 保 证 金 办 理

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

在Windows上安装Hadoop

在Windows上安装Hadoop 一见 2010.1.6 www.hadoopor.com/hadoopor@foxmail.com 1. 安装 JDK 不建议只安装 JRE, 而是建议直接安装 JDK, 因为安装 JDK 时, 可以同时安装 JRE MapReduce 程序的编写和 Hadoop 的编译都依赖于 JDK, 光 JRE 是不够的 JRE 下载地址 :http://www.java.com/zh_cn/download/manual.jsp

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

Chapter #

Chapter # 第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层

More information

大数据技术基础(2013版)

大数据技术基础(2013版) 大数据技术基础 厦门大学计算机科学系厦门大学计算机系林子雨 ziyulin@xmu.edu.cn 2013 年新版 2013 年 9 月修订版 厦门大学计算机科学系研究生课程 大数据技术基础 第 5 章 HDFS (2013 年新版 ) 林子雨 厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 主页 :http://www.cs.xmu.edu.cn/linziyu 提纲

More information

通过Hive将数据写入到ElasticSearch

通过Hive将数据写入到ElasticSearch 我在 使用 Hive 读取 ElasticSearch 中的数据 文章中介绍了如何使用 Hive 读取 ElasticSearch 中的数据, 本文将接着上文继续介绍如何使用 Hive 将数据写入到 ElasticSearch 中 在使用前同样需要加入 elasticsearch-hadoop-2.3.4.jar 依赖, 具体请参见前文介绍 我们先在 Hive 里面建个名为 iteblog 的表,

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

客户端虚拟机使用说明

客户端虚拟机使用说明 Spark 客户端云主机使用手册 更新时间 2016-05-13 目录 1 集群和客户端云主机信息... 3 2 配置主机名解析... 4 3 HDFS 测试... 4 3.1 配置客户端... 4 3.2 查询 HDFS 集群信息... 4 3.3 HDFS 文件和目录操作示例... 5 4 Spark 测试... 6 4.1 启动 spark-shell... 6 4.2 示例 :Pi 估值...

More information

主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 1 一 ZFS 文件系统 ZFS 文件系统简介存储池 2 二 ZFS 文件系统数据完整性什么是数据完整性

主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 1 一 ZFS 文件系统 ZFS 文件系统简介存储池 2 二 ZFS 文件系统数据完整性什么是数据完整性 一 ZFS 文件系统二 ZFS 文件系统数据完整性 老师 : 冯丹 2010 年 10 月 25 日 主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 1 一 ZFS 文件系统 ZFS 文件系统简介存储池 2 二 ZFS 文件系统数据完整性什么是数据完整性 主要内容 一 ZFS 文件系统二 ZFS 文件系统数据完整性 ZFS 文件系统简介存储池 1 一 ZFS 文件系统 ZFS 文件系统简介存储池

More information

白 皮 书 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 目 录 要 点 概 述...1 业 务 挑 战...2 Hadoop* 分 发 版 注 意 事 项...3 Hadoop* 基 础 架 构 注 意 事 项

白 皮 书 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 目 录 要 点 概 述...1 业 务 挑 战...2 Hadoop* 分 发 版 注 意 事 项...3 Hadoop* 基 础 架 构 注 意 事 项 IT@Intel 白 皮 书 英 特 尔 IT 部 门 大 数 据 和 商 业 智 能 2013 年 10 月 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 要 点 概 述 仅 在 五 周 之 内, 我 们 就 实 施 了 基 于 Apache Hadoop* 英 特 尔 分 发 版 的 低 成 本 可 完 全 实 现 的 大 数

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

在Fedora上部署Hadoop2.2.0伪分布式平台

在Fedora上部署Hadoop2.2.0伪分布式平台 如果你想配置完全分布式平台请参见本博客 Hadoop2.2.0 完全分布式集群平台安装与设置 首先, 你得在电脑上面安装好 jdk7, 如何安装, 这里就不说了, 网上一大堆教程! 然后安装好 ssh, 如何安装请参见本博客 Linux 平台下安装 SSH 并设置好无密码登录 ( Ubuntu 和 CentOS 如何配置 SSH 使得无密码登陆 ) 好了, 上面的前提条件部署好之后, 下面将进入 Hadoop2.2.0

More information

校友会系统白皮书feb_08

校友会系统白皮书feb_08 硕 士 研 究 生 招 生 管 理 系 统 1 产 品 白 皮 书 希 尔 数 字 校 园 硕 士 研 究 生 招 生 管 理 系 统 白 皮 书 目 录 1 产 品 概 述... 1 1.1 产 品 简 介... 1 1.2 应 用 范 围... 1 2 产 品 功 能 结 构 图... 2 3 产 品 功 能... 3 3.1 系 统 设 置... 3 3.2 信 息 发 布... 3 3.3

More information

计算机网络实验说明

计算机网络实验说明 计算机网络实验说明 龚旭东 电三楼 420 lzgxd@mailustceducn 2011 年 11 月 1 日 龚旭东 (TA) 计算机网络实验说明 2011 年 11 月 1 日 1 / 20 Outline 1 实验系统介绍 实验环境实验流程 2 实验内容编程实验交互实验观察实验 3 一些控制台命令 4 实验报告说明 龚旭东 (TA) 计算机网络实验说明 2011 年 11 月 1 日 2

More information

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc 在 VMWare-5.5+RedHat-9 下建立 本机 QTopia-2.1.1 虚拟平台 张大海 2008-5-9 一 资源下载 1. 需要以下安装包 : tmake-1.13.tar.gz qtopia-free-source-2.1.1.tar.gz qt-embedded-2.3.10-free.tar.gz qt-x11-2.3.2.tar.gz qt-x11-free-3.3.4.tar.gz

More information

Spark读取Hbase中的数据

Spark读取Hbase中的数据 Spark 读取 Hbase 中的数据 Spark 和 Flume-ng 整合, 可以参见本博客 : Spark 和 Flume-ng 整合 使用 Spark 读取 HBase 中的数据 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 大家可能都知道很熟悉 Spark 的两种常见的数据读取方式 ( 存放到 RDD 中 ):(1)

More information

目 录(目录名)

目  录(目录名) 目录 目录...1-1 1.1 域名解析配置命令... 1-1 1.1.1 display dns domain... 1-1 1.1.2 display dns dynamic-host... 1-1 1.1.3 display dns server... 1-2 1.1.4 display ip host... 1-3 1.1.5 dns domain... 1-4 1.1.6 dns resolve...

More information

通过动态路由协议实现链路备份

通过动态路由协议实现链路备份 通过动态路由协议实现链路备份 实验名称 通过动态路由协议实现链路备份 实验目的 掌握通过在不同链路上配置不同的路由协议实现链路备份 背景描述 你是公司高级网络管理员, 公司内部有一个很重要的服务器所在网段为 192.168.12.0/24, 平常访问通过 R1,R3 的 OSPF 路由协议, 为了保证该网段随时能够访问, 不能因为链路故障出问题, 要求你实现一个备份冗余的功能, 请给予支持 实现功能

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

tar -xzf hadoop tar.gz mv hadoop /app 在 Hadoop 目录下创建子目录 在 hadoop 目录下创建 tmp name 和 data 目录 cd /app/hadoop mkdir tmp mkdir

tar -xzf hadoop tar.gz mv hadoop /app 在 Hadoop 目录下创建子目录 在 hadoop 目录下创建 tmp name 和 data 目录 cd /app/hadoop mkdir tmp mkdir Hadoop2.X 64 位环境搭建 本文版权归作者和博客园共有, 欢迎转载, 但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文连接, 博主为石山园, 博客地址为 http://www.cnblogs.com/shishanyuan 该系列课程是应邀实验楼整理编写的, 这里需要赞一下实验楼提供了学习的新方式, 可以边看博客边上机实验, 课程地址为 https://www.shiyanlou.com/courses/237

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

目 录 1 不 断 开 发 工 具 以 管 理 大 数 据...2 1.1 Hadoop* 简 介 : 支 持 从 大 数 据 中 获 得 出 色 价 值 的 可 靠 框 架... 2 1.2 大 数 据 技 术 的 行 业 生 态 系 统... 2 2 在 关 键 组 件 中 实 现 平 衡...

目 录 1 不 断 开 发 工 具 以 管 理 大 数 据...2 1.1 Hadoop* 简 介 : 支 持 从 大 数 据 中 获 得 出 色 价 值 的 可 靠 框 架... 2 1.2 大 数 据 技 术 的 行 业 生 态 系 统... 2 2 在 关 键 组 件 中 实 现 平 衡... 白 皮 书 英 特 尔 固 态 硬 盘 英 特 尔 以 太 网 融 合 网 络 英 特 尔 Hadoop* 发 行 版 软 件 应 用 大 数 据 技 术 获 得 近 实 时 分 析 巨 大 成 效 1 平 衡 的 基 础 设 施 使 工 作 负 载 完 成 时 间 从 4 小 时 缩 短 为 7 如 今, 基 于 广 泛 可 用 的 计 算 存 储 和 网 络 组 件 的 改 进, 商 业 学 术

More information

使用Apache Beam读写HDFS上的文件

使用Apache Beam读写HDFS上的文件 Apache Beam( 原名 Google DataFlow) 是 Google 在 2016 年 2 月份贡献给 Apache 基金会的 Apache 孵化项目, 被认为是继 MapReduce,GFS 和 BigQuery 等之后,Google 在大数据处理领域对开源社区的又一个非常大的贡献 Apache Beam 的主要目标是统一批处理和流处理的编程范式, 为无限, 乱序,web-scale

More information

* 4 6 R P r p . 1 2 3 4 7 89bk 6 5 1 2 3 4 5 6 7 8 9 0 bk r bl bm bn^ bo bl br bq bpbo bn bm [ ] [ ] [ ] bp 8 2 4 6 bq p [ ] [SET] br clckbt bs bs bt ck cl. 1 2 1 2+- 3 3 . 1 2 3 4 5 6 7 8 9 bk bl bm

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品 Autodesk Product Design Suite Standard 20122 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品设计 Autodesk Product Design Suite Standard 版本包包括以下软件产产品

More information

简易 Linux Server 部署教程系列之 06 使用 Samba 实现文件共享服务 ( 作者信息 : 阮晓龙投稿时间 :2018 年 5 月 4 日 ) 一 需求描述 1 需求说明支持 Windows Linux Unix Mac 等操作系统支持 Android ios 等移动平台支持计算机

简易 Linux Server 部署教程系列之 06 使用 Samba 实现文件共享服务 ( 作者信息 : 阮晓龙投稿时间 :2018 年 5 月 4 日 ) 一 需求描述 1 需求说明支持 Windows Linux Unix Mac 等操作系统支持 Android ios 等移动平台支持计算机 简易 Linux Server 部署教程系列之 06 使用 Samba 实现文件共享服务 ( 作者信息 : 阮晓龙投稿时间 :2018 年 5 月 4 日 ) 一 需求描述 1 需求说明支持 Windows Linux Unix Mac 等操作系统支持 Android ios 等移动平台支持计算机 平板电脑 智能手机 智能电视全终端体系支持多账号 多共享目录, 以及交叉授权 2 部署要求 基于 CentOS

More information

目录 1 编译 HADOOOP 搭建环境 安装并设置 maven 以 root 用户使用 yum 安装 svn 以 root 用户使用 yum 安装 autoconf automake libtool cmake..

目录 1 编译 HADOOOP 搭建环境 安装并设置 maven 以 root 用户使用 yum 安装 svn 以 root 用户使用 yum 安装 autoconf automake libtool cmake.. Spark 编译与部署 ( 中 ) --Hadoop 编译安装 第 1 页共 28 页 目录 1 编译 HADOOOP... 3 1.1 搭建环境... 3 1.1.1 安装并设置 maven... 3 1.1.2 以 root 用户使用 yum 安装 svn... 4 1.1.3 以 root 用户使用 yum 安装 autoconf automake libtool cmake... 5 1.1.4

More information

大数据技术原理与应用

大数据技术原理与应用 大数据技术原理与应用厦门大学计算机科学系 ( 第 2 版 ) 厦门大学计算机科学系林子雨 2017 年 2 月版本 ziyulin@xmu.edu.cn 大数据技术原理与应用 ( 第 2 版 ) http://dblab.xmu.edu.cn/post/bigdata 温馨提示 : 编辑幻灯片母版, 可以修改每页 PPT 的厦大校徽和底部文字 第 3 章分布式文件系统 HDFS (PPT 版本号 :2017

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Hadoop 生 态 技 术 在 阿 里 全 网 商 品 搜 索 实 战 阿 里 巴 巴 - 王 峰 自 我 介 绍 真 名 : 王 峰 淘 宝 花 名 : 莫 问 微 博 : 淘 莫 问 2006 年 硕 士 毕 业 后 加 入 阿 里 巴 巴 集 团 淘 及 搜 索 事 业 部 ( 高 级 技 术 与 家 ) 目 前 负 责 搜 索 离 线 系 统 团 队 技 术 方 向 : 分 布 式 计 算

More information

Hadoop 手册

Hadoop 手册 Hadoop 手册 数据服务中心 - 大数据应用 2013-3-5 海南易建科技股份有限公司 李景帆整理 Hadoop 手册... 错误! 未定义书签 1. 大数据理论... 2 2. Hadoop 的背景及知识体系... 4 3. Hadoop 集群的安装... 8 3.1 Hadoop 集群的系统及软件版本... 8 3.2 安装 Hadoop 集群前的准备... 8 3.3 网络配置... 9

More information

静态分析 投放文件 行为分析 互斥量 (Mutexes) 执行的命令 创建的服务 启动的服务 进程 cmd.exe PID: 2520, 上一级进程 PID: 2556 cmd.exe PID: 2604, 上一级进程 PID: 2520 访问的文件 C:\Users\test\AppData\Lo

静态分析 投放文件 行为分析 互斥量 (Mutexes) 执行的命令 创建的服务 启动的服务 进程 cmd.exe PID: 2520, 上一级进程 PID: 2556 cmd.exe PID: 2604, 上一级进程 PID: 2520 访问的文件 C:\Users\test\AppData\Lo 魔盾安全分析报告 分析类型 开始时间 结束时间 持续时间 分析引擎版本 FILE 2016-11-25 00:20:03 2016-11-25 00:22:18 135 秒 1.4-Maldun 虚拟机机器名 标签 虚拟机管理 开机时间 关机时间 win7-sp1-x64 win7-sp1-x64 KVM 2016-11-25 00:20:03 2016-11-25 00:22:18 魔盾分数 0.0

More information

1 汉水大数据操作系统企业版 7.0 快速入门 本文宗旨 : 本文为帮助新手从零开始在虚拟机中安装部署伪分布式 hadoop 大数据集群, 便于学习大数据开发的相关技术 不适合在企业级环境中应用, 如需要部署分布式企业级 hadoop 集群请跟产品销售联系, 联系方式 : 版

1 汉水大数据操作系统企业版 7.0 快速入门 本文宗旨 : 本文为帮助新手从零开始在虚拟机中安装部署伪分布式 hadoop 大数据集群, 便于学习大数据开发的相关技术 不适合在企业级环境中应用, 如需要部署分布式企业级 hadoop 集群请跟产品销售联系, 联系方式 : 版 1 汉水大数据操作系统企业版 7.0 快速入门 本文宗旨 : 本文为帮助新手从零开始在虚拟机中安装部署伪分布式 hadoop 大数据集群, 便于学习大数据开发的相关技术 不适合在企业级环境中应用, 如需要部署分布式企业级 hadoop 集群请跟产品销售联系, 联系方式 :021-52682238 版权申明 : 本文档采用开放文档授权协议进行发布, 任何个人和组织都可以自由修改和传 播这个文档, 如果您在这个文档的基础上进行了更新或者有修订请求,

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

对于 Hadoop 来说, 在 HDFS 看来, 节点分为 Namenode 和 Datanode, 其中 Namenode 只有一个,Datanode 可以是很多 ; 在 MapReduce 看来, 节点又分为 Jobtracker 和 Tasktracker, 其中 Jobtracker 只有一

对于 Hadoop 来说, 在 HDFS 看来, 节点分为 Namenode 和 Datanode, 其中 Namenode 只有一个,Datanode 可以是很多 ; 在 MapReduce 看来, 节点又分为 Jobtracker 和 Tasktracker, 其中 Jobtracker 只有一 hadoop----- 云计算实验 作者 : 张吉良李菁平邓鹏球 关键词 : hadoop 分布式 云计算 mapreduce 摘要 : 摩尔定律统制下的软件开发时代有一个非常有意思的现象 : Andy giveth, and Bill taketh away. 不管 CPU 的主频有多快, 我们始终有办法来利用它, 而我们也陶醉在机器升级带来的程序性能提高中 我们不知不觉的一直在享受着这样的免费午餐

More information

PowerPoint Presentation

PowerPoint Presentation 利用 Oracle Big Data Connectors 将 Hadoop 与 Oracle 集成 罗海雄甲骨文公司资深技术顾问 1 Copyright 2011, Oracle and/or its affiliates. All rights 以下内容旨在概述产品的总体发展方向 该内容仅供参考, 不可纳入任何合同 该内容不构成提供任何材料 代码或功能的承诺, 并且不应该作为制定购买决策的依据

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

.. 3 N

.. 3 N 1 .. 3 N9.. 4 5.. 6 7.. 8 20.. 21 23.. 24.. 25 26.. 27.. 28.. 29 2 (Cyber Café) Linux (LAN) Linux Public Home 3 K12LTSP K12LTSPFedora Core 4 (Linux)LTSP Linux (command line interface) (Graphical User Interface,

More information

01

01 ZEBRA 技术白皮书 条码编码 101 相关知识介绍 引言 20 70 数据 80 20 90 (JIT) AIAG EIA HIBCC HAZMAT 条码的优势提高数据准确性 99% 85% / / 提升效率 / 2 Zebra Technologies 保持一致性 ID 改进库存和资产管理 成本 / 效益分析 ID ID ID (ERP) RFID Zebra Technologies 3 ID

More information

三种恢复 HDFS 上删除文件的方法

三种恢复 HDFS 上删除文件的方法 三种恢复 HDFS 上删除文件的方法 我们每天都可能会操作 HDFS 上的文件, 这就很难避免误操作, 比如比较严重的误操作就是删除文件 本文针对这个问题提供了三种恢复误删除文件的方法, 希望对大家的日常运维有所帮助 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 通过垃圾箱恢复 HDFS 为我们提供了垃圾箱的功能, 也就是当我们执行

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Converting image (bmp/jpg) file into binary format

Converting image (bmp/jpg) file into binary format RAiO Image Tool 操作说明 Version 1.0 July 26, 2016 RAiO Technology Inc. Copyright RAiO Technology Inc. 2013 RAiO TECHNOLOGY INC. www.raio.com.tw Revise History Version Date Description 0.1 September 01, 2014

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

路由器基本配置

路由器基本配置 路由器基本配置 本章内容 路由器的基本操作 实验练习 常用的路由器配置方法 TFTP Console MODEM AUX telnet web 任何 Interface AUX 备份接口, 一般用于路由器的管理备份接口 路由器的操作模式 : 配置模式 1. 线路配置模式 Router(config-line)# 配置路由器的线路参数 2. 路由协议配置模式 Router(config-router)#

More information

Hadoop 2.2.0安装和配置lzo

Hadoop 2.2.0安装和配置lzo Hadoop 2.2.0 安装和配置 lzo Hadoop 经常用于处理大量的数据, 如果期间的输出数据 中间数据能压缩存储, 对系统的 I/ O 性能会有提升 综合考虑压缩 解压速度 是否支持 split, 目前 lzo 是最好的选择 LZO(LZO 是 Lempel-Ziv-Oberhumer 的缩写 ) 是一种高压缩比和解压速度极快的编码, 它的特点是解压缩速度非常快, 无损压缩, 压缩后的数据能准确还原,lzo

More information

使用Cassandra和Spark 2.0实现Rest API服务

使用Cassandra和Spark 2.0实现Rest API服务 使用 Cassandra 和 Spark 2.0 实现 Rest API 服务 在这篇文章中, 我将介绍如何在 Spark 中使用 Akkahttp 并结合 Cassandra 实现 REST 服务, 在这个系统中 Cassandra 用于数据的存储 我们已经见识到 Spark 的威力, 如果和 Cassandra 正确地结合可以实现更强大的系统 我们先创建一个 build.sbt 文件, 内容如下

More information

Microsoft PowerPoint - BECKHOFF技术_ADS通讯 [Compatibility Mode]

Microsoft PowerPoint - BECKHOFF技术_ADS通讯 [Compatibility Mode] 的架构 ADS 的通讯机制 ADS-Client Request -> Confirmation Indication

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Hadoop&Spark解决二次排序问题(Hadoop篇)

Hadoop&Spark解决二次排序问题(Hadoop篇) Hadoop&Spark 解决二次排序问题 (Spark 篇 ) 问题描述 二次排序就是 key 之间有序, 而且每个 Key 对应的 value 也是有序的 ; 也就是对 MapReduce 的输出 (KEY, Value(v 1,v 2,v 3,...,v n )) 中的 Value(v 1,v 2,v 3,...,v n ) 值进行排序 ( 升序或者降序 ), 使得 Value(s 1,s 2,s

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

Microsoft Word - 100118002.htm

Microsoft Word - 100118002.htm 100 年 度 11800 電 腦 軟 體 應 用 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 選 擇 題 : 1. (3)

More information

目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡 器...8 客 户 端 :Web 浏 览 器 和 移 动 应 用 程 序...8 客 户 端 :Tableau Desktop..

目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡 器...8 客 户 端 :Web 浏 览 器 和 移 动 应 用 程 序...8 客 户 端 :Tableau Desktop.. Neelesh Kamkolkar, 产 品 经 理 Ellie Fields, 产 品 营 销 副 总 裁 Marc Rueter, 战 略 解 决 方 案 高 级 总 监 适 用 于 企 业 的 Tableau: IT 概 述 目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡

More information

工程项目进度管理 西北工业大学管理学院 黄柯鑫博士 甘特图 A B C D E F G 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 甘特图的优点 : 直观明了 ( 图形化概要 ); 简单易懂 ( 易于理解 ); 应用广泛 ( 技术通用 ) 甘特图的缺点 : 不能清晰表示活动间的逻辑关系 WBS 责任分配矩阵 ( 负责〇审批

More information

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co BYOD 228 2015 IT open source DIY ( ) Up/Down HP NNMi WhatsUp Gold Nagios HP SiteScope WhatsUp Gold HP NNMi WhatsUp Gold Cacti MRTG HP ispi Performance for Metrics WhatsUp Gold ( ) Open source Agent End-to-End

More information

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30 0 配置 Host MIB 设备 V 1.1.2 ( 简体版 ) 0 Update: 2016/1/30 前言 N-Reporter 支持 Host Resource MIB 监控主机 (Host) 状态, 本文件描述 N-Reporter 用户如何配置 Host MIB 设备 文件章节如下 : 1. 配置 Windows Server 2003... 2 1-1.Windows Server 2003

More information

Microsoft Word - install_manual-V _CN.docx

Microsoft Word - install_manual-V _CN.docx NO TASK Q-Sign Install Manual PAGE 1/28 Q-Sign INSTALL MANUAL Version 3.0 Server Manager Client Codec NO TASK Q-Sign Install Manual PAGE 2/28 History DATE Contents Name Ver. Remark 2009-02-11 Q-Sign Ver.

More information

自由軟體社群發展經驗與 Linux認證介紹

自由軟體社群發展經驗與  Linux認證介紹 -- (http://linux.vbird.org) 2011/08/12 1 -- -- 不 理 便 了 來 連 ( ) ( ) 論 ~ ~ 2 復 理 3 4 復 數 量 復 離 來 ~ @_@ 5 - 年 Linux windows virtualbox 不 理 Linux Xen 立 4 4GB 了 30 xen 來 sudo xm 來 Linux I/O 例 yum 6 - 年 Windows

More information

* r p . 4 6 12 3 5 7 8 9bk bm btbsbrbqbp bo bn bl [ ] [ ] [ ] [ ] [SET] 1 2 3 4 5 6 7. cmcl ck 8 9 0 bk bl bm bn bo 1 2 1 2+ - bp bq 8 2 4 6 br r bs p bt ck cl cm 3 3 . 1 2 3 4 5 6 7 8 9 bk bl bm

More information

Microsoft Word - AccessPortal使用手册v3.1.doc

Microsoft Word - AccessPortal使用手册v3.1.doc HighGuard Access Portal 使用手册 地址 : 上海市张江高科技园区松涛路 563 号海外创新园 B 座 301-302 室 电话 : 021-50806229 传真 : 021-50808180 电子邮件 : marketing@highguard.com.cn 第 1 页共 24 页 目录 1. ACCESSPORTAL 概述...4 1.1. AccessPortal 主页面

More information

sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al

sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al RMAN sql> sqlplus / as sysdba 查看数据库版本 sql> select * from v$version; 查看数据库名称 sql> show parameter db_name; 一 使用 RMAN 时, 需要将数据库设置成归档模式 sql> conn / as sysdba; sql> show user 查看数据库是否为归档模式 sql> archive log list

More information

业 务 与 运 营 Business & Operation (Transform) 加 载 (Load) 至 目 的 端 的 过 程, 该 部 分 在 数 据 挖 掘 和 分 析 过 程 中 为 最 基 础 的 一 部 分 一 个 良 好 的 ETL 系 统 应 该 有 以 下 几 个 功 能 1

业 务 与 运 营 Business & Operation (Transform) 加 载 (Load) 至 目 的 端 的 过 程, 该 部 分 在 数 据 挖 掘 和 分 析 过 程 中 为 最 基 础 的 一 部 分 一 个 良 好 的 ETL 系 统 应 该 有 以 下 几 个 功 能 1 Business & Operation 业 务 与 运 营 大 数 据 技 术 在 精 准 营 销 中 的 应 用 王 小 鹏 北 京 东 方 国 信 科 技 股 份 有 限 公 司 北 京 100102 摘 要 简 要 介 绍 主 流 的 大 数 据 技 术 架 构 和 大 数 据 挖 掘 技 术 ; 阐 述 大 数 据 技 术 在 精 准 营 销 与 维 系 系 统 建 设 中 的 应 用,

More information

Hadoop面试题系列(7/11)

Hadoop面试题系列(7/11) Hadoop 面试题系列 (7/11) 一. 单选题 1. 下面哪个程序负责 HDFS 数据存储 a)namenode b)jobtracker c)datanode d)secondarynamenode e)tasktracker 答案 :C datanode 2. HDfS 中的 block 默认保存几份? a)3 份 b)2 份 c)1 份 d) 不确定答案 :A 默认 3 份 3. 下列哪个程序通常与

More information

untitled

untitled ArcSDE ESRI ( ) High availability Backup & recovery Clustering Replication Mirroring Standby servers ArcSDE % 95% 99.9% 99.99% 99.999% 99.9999% 18.25 / 8.7 / 52.5 / 5.25 / 31.8 / Spatial Geodatabase

More information

培 训 机 构 介 绍 中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开 展 Hadoop 云 计 算 的 培

培 训 机 构 介 绍  中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开 展 Hadoop 云 计 算 的 培 Hadoop 2.0 培 训 Hadoop 2.0Training Hadoop 2.0 运 维 与 开 发 实 战 培 训 邀 请 函 培 训 机 构 介 绍 www.zkpk.org 中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开

More information

untitled

untitled 01 1-1 PHP 1-2 PHP 1-3 MySQL 1-4 1-5 http://w3techs.com/technologies/history_overview/programming_language w3techs.com (Server-side) 2012 7 77.8% PHP PHP PHP PHP 1-1 PHP PHP HTML Script Windows ASP(Active

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

SiteView技术白皮书

SiteView技术白皮书 SiteView ECC V6.2 技 术 白 皮 书 游 龙 网 络 科 技 ( 中 国 ) 有 限 公 司 DragonFlow Networks(China),Inc. 目 录 第 一 章 产 品 概 述... 3 第 二 章 系 统 结 构... 6 一 系 统 架 构... 7 1 用 户 管 理 模 块... 7 2 Web Server... 8 3 存 储 加 密 模 块... 8

More information

F515_CS_Book.book

F515_CS_Book.book /USB , ( ) / L R 1 > > > 2, / 3 L 1 > > > 2 + - 3, 4 L 1 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 ( ) GSM 手机已连接到 GSM 网络 指示条越多, 接收质量越好 2 ...........................4.............................. 4 Micro SD (

More information

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech - OfficeCoder 1 2 3 4 1,2,3,4 xingjiarong@mail.sdu.edu.cn 1 xuchongyang@mail.sdu.edu.cn 2 sun.mc@outlook.com 3 luoyuanhang@mail.sdu.edu.cn 4 Abstract. Microsoft Word 2013 Word 2013 Office Keywords:,, HTML5,

More information

(HMI) IO A

(HMI) IO A 6.5 6.5 (HMI) IO 6.52 6.52 6.5 2007 113 A 602 100086 010 82616619 010 62638166 www.kingview.com 4 7 25 38 43 52 63 68 86 SQL 95 99 WEB 105 Web Web Web I/O Microsoft Windows XP/NT/2000 I/O PLC PLC PLC PLC

More information

ssh-keygen -t rsa

ssh-keygen -t rsa 虚拟并行运算环境 mpi 的配置简介科研菜鸟 v2.0 http://blog.sciencenet.cn/u/sanshiphy 问题 : 有一台电脑,1 cpu, 超线程 8 核, 已安装 Ubuntu 系统 现配置两台虚拟机, 每台虚拟机 1cpu,3 核, 两台虚拟机均安装 Ubuntu server 系统, 并实现 mpi 并行运算 思路 : 利用 vmware 构造虚拟机, 利用 ssh

More information

程模型,MapReduce 把任务分为 map( 映射 ) 阶段和 reduce( 化简 ) 由于 MapReduce 工作原理的特性, Hadoop 能以并行的方式访问数据, 从而实现快速访问数据 Hbase--HBase 是一个建立在 HDFS 之上, 面向列的 NoSQL 数据库, 用于快速读

程模型,MapReduce 把任务分为 map( 映射 ) 阶段和 reduce( 化简 ) 由于 MapReduce 工作原理的特性, Hadoop 能以并行的方式访问数据, 从而实现快速访问数据 Hbase--HBase 是一个建立在 HDFS 之上, 面向列的 NoSQL 数据库, 用于快速读 Hadoop1.X 伪分布式安装 本文版权归作者和博客园共有, 欢迎转载, 但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文连接, 博主为石山园, 博客地址为 http://www.cnblogs.com/shishanyuan 该系列课程是应邀实验楼整理编写的, 这里需要赞一下实验楼提供了学习的新方式, 可以边看博客边上机实验, 课程地址为 https://www.shiyanlou.com/courses/237

More information

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO Linux muduo C++ (giantchen@gmail.com) 2012-09-30 C++ TCP C++ x86-64 Linux TCP one loop per thread Linux native muduo C++ IT 5 C++ muduo 2 C++ C++ Primer 4 W. Richard Stevens UNIX Sockets API echo Sockets

More information

软件概述

软件概述 Cobra DocGuard BEIJING E-SAFENET SCIENCE & TECHNOLOGY CO.,LTD. 2003 3 20 35 1002 010-82332490 http://www.esafenet.com Cobra DocGuard White Book 1 1....4 1.1...4 1.2 CDG...4 1.3 CDG...4 1.4 CDG...5 1.5

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

第 06 期 李祥池 : 基于 ELK 和 Spark Streaming 的日志分析系统设计与实现 1 日志 1.1 日志定义 IT 1.2 日志处理方案演进 v1.0 v2.0 Hadoop Storm Spark Hadoop/Storm/Spark v3.0 TB Splunk ELK SI

第 06 期 李祥池 : 基于 ELK 和 Spark Streaming 的日志分析系统设计与实现 1 日志 1.1 日志定义 IT 1.2 日志处理方案演进 v1.0 v2.0 Hadoop Storm Spark Hadoop/Storm/Spark v3.0 TB Splunk ELK SI 电子科学技术第 02 卷第 06 期 2015 年 11 月 Electronic Science & Technology Vol.02 No.06 Nov.2015 年 基于 ELK 和 Spark Streaming 的日志分析系统设计与实现 李祥池 ( 杭州华三通信技术有限公司北京研究所, 北京,100085) 摘要 : 在大数据时代 对数据平台各组件的运行状态实时监控与运行分析具有重要意义

More information

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 负 责 人 会 计 机 构 负 责 人 保 证 公 开 转 让 说 明 书 中 财 务 会 计 资

More information

* 系统架构 * IB API 模块 目录 * 消息总线模块 * 行情采集处理引擎模块 * 持久化存储模块

* 系统架构 * IB API 模块 目录 * 消息总线模块 * 行情采集处理引擎模块 * 持久化存储模块 基于 IB API 的外汇期货期权程序化交易 讲师 : 赵博 * 系统架构 * IB API 模块 目录 * 消息总线模块 * 行情采集处理引擎模块 * 持久化存储模块 系统架构 全球场内期权实时行情自动化采集 功能方法名称实现方式 建立 API 连接 connect 在该 connect 方法中, 根据企业消息服务器 TWS.Q.CMD 队列中获取到的消息命令 CONNECT:CONNECT, 调用

More information

javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询

javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询 javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询桶的多版本 Bucket 开启对象多版本支持挂起 Bucket 的多版本对象功能浏览器客户端浏览器客户端的

More information

FortiADC SLB Virtual Server L7 方式部署介绍 版本 1.0 时间支持的版本作者状态反馈 2015 年 10 月 FortiADC v4.3.x 刘康明已审核

FortiADC SLB Virtual Server L7 方式部署介绍 版本 1.0 时间支持的版本作者状态反馈 2015 年 10 月 FortiADC v4.3.x 刘康明已审核 FortiADC SLB Virtual Server L7 方式部署介绍 版本 1.0 时间支持的版本作者状态反馈 2015 年 10 月 FortiADC v4.3.x 刘康明已审核 support_cn@fortinet.com 目录 简介... 3 Virtual Server L7 代理部署方式介绍... 3 Virtual Server L7 携带源地址代理部署方式介绍... 5 Fortinet

More information

60 50 42 10 32

60 50 42 10 32 2006 9 1 24 N*2M E1 2M VPN 60 50 42 10 32 1 2 3 4 5 2006 1 2 3 4 5 6 B/S 7 1 2 10M/100M 2K 500ms 10000 2M 5 Windows IBM AIX HP Unix Linux CPU SMP Cluster Weblogic Webshpere Tomcat JBoss, Oracle Sybase

More information

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南 Symantec Sygate Enterprise Protection 防 护 代 理 安 装 使 用 指 南 5.1 版 版 权 信 息 Copyright 2005 Symantec Corporation. 2005 年 Symantec Corporation 版 权 所 有 All rights reserved. 保 留 所 有 权 利 Symantec Symantec 徽 标 Sygate

More information