本文主要是介绍Apach Ozone部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
最近由于工作需要,要部署一套ozone。我自己对hadoop这套体系不是很熟悉,所以过程磕磕碰碰,好不容易勉强搭起来,所以记录一下部署方式
准备
三台主机,主机均已安装jdk、hdfs,相关的安装配置就不另外写了,网上很多教程。
本次安装部署版本为当前最新的ozone-1.3.0版
部署步骤
1、ozone官网下载安装包,ozone有多种安装方式(docker、二进制包、源码编译等)。这里用二进制包安装方式。下载地址:Apache Ozone。这里下载了1.3.0版。ozone-1.3.0.tar.gz
2、上传到服务器:
部分服务器没有szrz命令的,可以通过scp命令进行复制:
scp ozone-1.3.0.tar.gz username@remote_ip:~/
解压:
tar zxvf ozone-1.3.0.tar.gz
3、生成配置文件
进入ozone目录
cd ozone
生成配置文件ozone-site.xml到etc/hadoop目录下
bin/ozone genconf etc/hadoop
PS:如果生成配置文件前/etc/hadoop已存在ozone-site.xml,则先行删除。
4、规划各机器职责并完成配置文件的配置
规划ozone的Ozone Manager(OM)、Storage Container Manager(SCM)、Datanodes服务分别部署在哪些机器上。假设在a主机上启动OM、SCM服务,a、b、c上启动Datanodes服务。
在a、b、c主机上创建元数据存储文件夹
mkdir -p 自定义目录/ozonedata/meta
在a、b、c主机上分别创建数据存储文件夹
mkdir -p 自定义目录/ozonedata/data
配置etc/hadoop/ozone-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration><property><name>ozone.om.address</name><value>A主机ip</value><tag>OM, REQUIRED</tag></property><property><name>ozone.metadata.dirs</name><value>用户目录/ozonedata/meta</value><tag>OZONE, OM, SCM, CONTAINER, STORAGE, REQUIRED</tag></property><property><name>ozone.scm.client.address</name><value>A主机ip:9860</value><tag>OZONE, SCM, REQUIRED</tag></property><property><name>ozone.scm.names</name><value>A主机ip</value><tag>OZONE, REQUIRED</tag></property><property><name>ozone.scm.datanode.id.dir</name><value>用户目录/ozonedata/data</value></property><property><name>ozone.enabled</name><value>true</value></property><property><name>ozone.scm.datanode.id</name><value>用户目录/ozonedata/data/datanode.id</value></property>
</configuration>
配置etc/hadoop/core-site.xml
<configuration><property><name>fs.AbstractFileSystem.o3fs.impl</name><value>org.apache.hadoop.fs.ozone.OzFs</value></property><property><name>fs.defaultFS</name><value>o3fs://bucket.volume</value></property>
</configuration>
在A主机上启动OM、SCM和datanode
到ozone-1.3.0/bin目录下执行
./ozone --daemon start scm
./ozone --daemon start om
./ozone --daemon start datanode
在B、C主机下启动datanode
到ozone-1.3.0/bin目录下执行
./ozone --daemon start datanode
可以到ozone-1.3.0/logs目录下查看是否启动成功。由于datanode使用ratis协议,所以至少要部署3个节点,否则写入数据的时候会报:
INTERNAL_ERROR Allocated 0 blocks. Requested 1 blocks
验证
尝试创建一个卷(volume):
./ozone sh volume create volume
在卷下面创建一个桶(bucket):
./ozone sh bucket create volume/bucket
在桶下面往key写入一个文件:
./ozone sh key put volume/bucket/mykey1 用户目录/ozone-1.3.0/etc/hadoop/ozone-site.xml
之后通过查看桶下面的key,以及myKey1下的文件内容,验证是否写入成功
./ozone sh key ls volume/bucket
./ozone sh key cat volume/bucket/mykey1
小结
本文主要介绍了ozone的基本部署。ozone还有很多高可用、安全性等等的配置值得深入研究,因为笔者还没有需要使用,所以暂时没有去研究,有兴趣的读者也可以参考官网文档:https://ozone.apache.org/docs/1.3.0/zh/index.html
这篇关于Apach Ozone部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!