Hadoop Ozone 0.5.0-beta 单节点搭建超级详细教程
Hadoop Ozone 0.5.0-beta 单节点搭建超级详细教程
哎鸭
作为一名女大学生这是我第一次写博客有点紧张,有什么不周到就请大家多关照一下啦,嘻嘻!
已经被ozone困扰好久了,这方面的介绍尤其是搭建的文章也很少,经过我头发的不懈努力,终于在操作方面有所进展,希望在这里和大家一起分享
下面我们直接切入正题
前期准备
- Linux远程服务器
- 安装Java JDK:
这里我就不多说啦,直接上链接: Linux安装JavaJDK.
下载ozone
先简单介绍一下我所理解的ozone,可直接跳过(有什么不对的地方欢迎大家指出鸭):
在HDFS中,任何一个文件,目录或者block在NameNode节点的内存中均以一个对象表示(元数据),而这受到NameNode物理内存容量的限制。每个元数据对象约占150byte,所以如果存储大量的小文件,则NameNode需要的存储空间不可小觑。
处理小文件并非Hadoop的设计目标,HDFS的设计目标是流式访问大数据集(TB级别),因此在HDFS中存储大量小文件是很低效的。而且,处理大量小文件速度远远小于处理同等大小的大文件的速度。
于是,分布式key-value存储系统Ozone出现啦,Ozone能够轻松管理小文件和大文件。
OZone是当前Apache Hadoop生态圈的一款新的对象存储系统,可用于小文件和大文件存储,设计的目的是为了填充社区在对象存储方面的不足,同时能够提供百亿甚至千亿级文件规模的存储。
在架构上Ozone由三部分组成,分别为Ozone Manager、Storage Container Manager、Datanodes:
OzoneManager(OM)是一个server服务,主要负责Ozone的namespace,记录所有的volume, bucket和key操作。有点类似HDFS的namenode。OM中也存储了Ozone的一些元数据信息,这些元数据信息包括volumes、buckets和keys,底层通过Ratis扩展元数据的副本数来实现HA。
Storage Container Manager(SCM)类似HDFS中的block manager,是Ozone中一个非常重要的组件,用来管理container的,为OM提供基于block和container的服务。container是由一些block组成的集合,这些block相互之间没有关系。SCM和数据节点协同工作以维护群集所需的复制级别。SCM主要用来管理blocks、containers和pipelines,为了返回正常可用的pipelines,SCM必须找到node的健康状态,所以SCM也会监听datanode发来的心态,扮演着datanode manager的角色。
我参考的官方文档:
https://cwiki.apache.org/confluence/display/HADOOP/Single+Node+Deployment
https://hadoop.apache.org/ozone/downloads/
进入官网:
https://hadoop.apache.org/ozone/
选择要下载的版本:
我选择的是 0.5.0-beta 版本(用蓝色笔标出了哦)
(为了使用方便建议将source也一起下载)
这里也有直接下载地址(0.5.0-beta 版本):