Ozone 是什么
Ozone 是一个对象存储系统,基于 Hadoop Distributed Data Storage (HDDS),是 Hadoop 社区目前发力方向之一,目前处于 Alpha 状态。通过 OzoneFS 兼容 HDFS 接口,Spark/Hive/YARN 可以无修改地使用 Ozone。
相比于官网搭建教程的改进
官网未说明数据存储的目录,以及如何测试搭建成功与否等问题,本文解答了这些问题,是一个更完整流畅的教程。
在滴滴云上搭建 Hadoop Ozone
搭建 Ozone 是为了了解 Ozone 运行原理,所以这里不使用 Docker 搭建 Ozone,而是直接在滴滴云云服务器 DC2 上搭建。
步骤 1 – 创建 DC2 并登录
按 官网创建文档 所示,创建一个 CentOS 7.5 按时长 2 核 4GB 带有一个 20GB 高效云盘的 DC2,其余配置默认。
步骤 2 – 下载 Ozone
在 DC2 上执行:
1 2 3 |
wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/ozone/ozone-0.3.0-alpha/hadoop-ozone-0.3.0-alpha.tar.gz tar -xvzf hadoop-ozone-0.3.0-alpha.tar.gz |
步骤 3 – 配置 Ozone
在 DC2 上执行:
- 安装 java:
1 2 3 |
sudo yum install -y java export JAVA_HOME=/usr/lib/jvm/jre |
- 进入 ozone 目录:
1 2 |
cd ozone-0.3.0-alpha/ |
- 生成配置文件模板:
1 2 |
bin/ozone genconf . |
- 编辑配置文件
1 2 |
vim ozone-site.xml |
配置文件里每个配置项都是一个 property,依次配置以下项:
- ozone metadata 存储目录:
1 2 3 |
<name>ozone.metadata.dirs</name> <value>/home/dc2-user/ozone-0.3.0-alpha/metadata</value> |
- datanode 存储目录,模板里没有这个配置,在文件末尾
</configuration>
前加上
1 2 3 4 5 |
<property> <name>dfs.datanode.data.dir</name> <value>file:///home/dc2-user/ozone-0.3.0-alpha/data</value> </property> |
- 查看这台机器 A 的内网 IP 地址
1 2 |
ifconfig eth0| grep inet |grep -v inet6 | awk '{print $2}' |
将该机器的地址配置为 ozone.scm.names
1 2 3 |
<name>ozone.scm.names</name> <value>10.255.20.134</value> |
- 拷贝配置文件到
etc/hadoop/
,使配置生效:
1 2 |
cp ozone-site.xml etc/hadoop/ |
- 创建存储数据的目录:
1 2 |
mkdir metadata data |
- 在 A 上初始化 scm, om,该命令用于初始化 scm/om 的磁盘数据目录:
1 2 3 |
bin/ozone scm --init bin/ozone om --init |
- 在 A 上启动 scm, om:
1 2 3 |
bin/ozone --daemon start scm bin/ozone --daemon start om |
- 在 A 上启动 datanode:
1 2 3 4 |
export JAVA_HOME=/usr/lib/jvm/jre cd /home/dc2-user/ozone-0.3.0-alpha bin/ozone --daemon start datanode |
步骤 4 – 测试搭建成功
- 切换到 ozone 目录
1 2 |
cd /home/dc2-user/ozone-0.3.0-alpha |
- 创建 volume
1 2 3 |
bin/ozone sh volume create --quota=1TB /hive bin/ozone sh volume list / |
- 创建 bucket
1 2 3 |
bin/ozone sh bucket create /hive/dc2 bin/ozone sh bucket list /hive |
- 写入并读取文件,比对
1 2 3 4 |
bin/ozone sh key put --replication=ONE /hive/dc2/README.txt README.txt bin/ozone sh key get /hive/dc2/README.txt README2.txt diff README2.txt README.txt |
本文作者:李逸超