Hadoop Ozone 0.5.0-beta 单机/单节点搭建超级详细教程

Hadoop Ozone 0.5.0-beta 单节点搭建超级详细教程

Hadoop Ozone 0.5.0-beta 单节点搭建超级详细教程

哎鸭
作为一名女大学生这是我第一次写博客有点紧张,有什么不周到就请大家多关照一下啦,嘻嘻!
已经被ozone困扰好久了,这方面的介绍尤其是搭建的文章也很少,经过我头发的不懈努力,终于在操作方面有所进展,希望在这里和大家一起分享


下面我们直接切入正题

前期准备

  1. Linux远程服务器
  2. 安装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 版本):
http://us.mirrors.quenda.co/apache/hadoop/ozone/ozone-0.5.0-beta/hadoop-ozone-0.5.0-beta.tar.gz


搭建ozone

连接Linux服务器,在root目录下创建目录opt

mkdir /root/opt

回到自己的电脑,打开终端将ozone安装包上传至Linux服务器:(Mac)

scp /User/hadoop-ozone-0.5.0-beta.tar root@XX.XX.XX.XX:/root/opt

这里还有输入密码,跟着提示走就可以了

接着在 Linux上操作:
进入刚刚创建的目录opt:

cd /root/opt

将上传的压缩软件包解压:

tar -xf hadoop-ozone-0.5.0-beta.tar 

为了方便操作,将ozone-0.5.0-beta改为ozone(也可以改成aaa,但是建议不要调皮!尽量改成方便分辨的名字哦)

mv ozone-0.5.0-beta ozone

进入ozone

cd ozone

ozone的配置文件都在etc/hadoop下(与Hadoop很像呀),目前来看也只需要修改一个文件ozone-site.xml
所以,让咱们来修改 etc/hadoop 目录下的ozone-site.xml文件

vim etc/hadoop/ozone-site.xml

按i键进入编辑模式
<configuration> </configuration>之间添加

<properties>
 <property>
 <name>ozone.enabled</name>
 <value>true</value>
 </property>
 
 <property>
 <name>ozone.om.address</name>
 <value>XX.XX.XX.XX:9874</value>
 </property>
 
 <property>
 <name>ozone.metadata.dirs</name>
 <value>/root/opt/data/ozone</value>
 </property>
 
 <property>
 <name>ozone.scm.client.address</name>
 <value>XX.XX.XX.XX</value>
 </property>
 
 <property>
 <name>ozone.scm.names</name>
 <value>XX.XX.XX.XX</value>
 </property>
 
 <property>
 <name>ozone.replication</name>
 <value>1</value>
 </property>
 
<property>
 <name>ozone.scm.datanode.id</name>
 <value>/root/opt/data/meta/node/datanode.id</value>
 </property>
</properties>

编辑完成后,按esc键退出编辑模式
输入:wq保存并退出


为了更方便操作,可以设置环境变量

vim /etc/profile

在空白的地方插入:

export OZONE_HOME=/root/opt/ozone
export PATH=$PATH:$OZONE_HOME/bin

编辑完成后,按esc键退出编辑模式
输入:wq保存并退出

source /etc/profile

查看:

ozone version

在这里插入图片描述
耶耶,安装成功!!!


下面咱们来做一个小尝试!

启动ozone(先启动scm然后再启动om最后启动datanode):

启动scm:
ozone scm --init(初始化scm第一次启动的时候需要输入)
ozone --daemon start scm
启动om:
ozone om --init(初始化om第一次启动的时候需要输入)
ozone --daemon start om
启动datanode:
ozone --daemon start datanode

停止ozone:
(说来也是奇怪希望有大佬能帮忙解答一下,关闭ozone时不能用我给的官方文档上提供的关闭方式来关闭,否则会报错,还是那种我不会解决的错误,唉~)

jps
kill 所有进程号

有关一些shell操作:(更多的可以看官网哦)
https://hadoop.apache.org/ozone/docs/0.5.0-beta/shell.html
创建卷:

ozone sh volume create /volume

创建桶:

ozone sh bucket create /volume/bucket

上传键:

ozone sh key put /volume/bucket/keytest.txt /root/test.txt

下载键:

ozone sh key get /volume/bucket/keytest.txt /root

祝您成功鸭!!!

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页