初始化集群
安装完二进制文件后,下一步是初始化集群。本节提供初始化新 Ozone 集群的说明。
初始化配置
Ozone 依赖一个名为 ozone-site.xml 的配置文件。要生成一个可供替换为合适取值的模板,请运行以下命令。该命令会在指定路径(目录)下生成一个名为 ozone-site.xml 的模板。
export OZONE_HOME=/path/to/ozone
export PATH=$PATH:$OZONE_HOME/bin
export OZONE_CONF_DIR=$OZONE_HOME/etc/ozone
ozone genconf $OZONE_CONF_DIR让我们来看一下生成的文件(ozone-site.xml)中的各项设置,以及它们如何控制 Ozone。一旦定义了正确的值,这个文件就可以投入使用了。
ozone.metadata.dirs 允许管理员指定元数据必须存放的位置。通常选择最快的磁盘(如果节点上有 SSD,就使用 SSD)。OzoneManager、SCM 和 Datanode 会将元数据写入该路径。这是一个必需的设置,如果缺少它,Ozone 将无法启动。
示例:
<property> <name>ozone.metadata.dirs</name> <value>/data/disk1/meta</value> </property>ozone.scm.names存储容器管理器(Storage Container Manager,SCM)是 Ozone 所使用的一个分布式块服务。该属性使 Datanode 能够发现 SCM 的地址。Datanode 向 SCM 发送心跳。在 HA(高可用)功能完成之前,我们将ozone.scm.names配置为单台机器。示例:
<property> <name>ozone.scm.names</name> <value>scm.ozone.apache.org</value> </property>ozone.scm.datanode.id.dirDatanode 会生成一个名为 Datanode ID 的唯一标识。该标识会被写入此路径所指定目录下的datanode.id文件中。如果该路径尚不存在,Datanode 会自动创建它。示例:
<property> <name>ozone.scm.datanode.id.dir</name> <value>/data/disk1/meta/node</value> </property>ozone.om.addressOM 服务器地址。OzoneClient 和 Ozone File System 会使用它。示例:
<property> <name>ozone.om.address</name> <value>om.ozone.apache.org</value> </property><property> <name>ozone.om.address</name> <value>ozonemanager.ozone.apache.org</value> </property>
Ozone 设置汇总
| 设置 | 值 | 说明 |
|---|---|---|
ozone.metadata.dirs | 文件路径 | 元数据将存储在此处。 |
ozone.scm.names | SCM 服务器名称 | SCM 的主机名:端口或 IP:端口地址。 |
ozone.scm.block.client.address | SCM 服务器名称和端口 | 供 OM 等服务使用 |
ozone.scm.client.address | SCM 服务器名称和端口 | 供客户端使用 |
ozone.scm.datanode.address | SCM 服务器名称和端口 | 供 Datanode 与 SCM 通信使用 |
ozone.om.address | OM 服务器名称 | 供 Ozone 处理器和 Ozone 文件系统使用。 |
hdds.datanode.dir | 文件路径 | HDDS Datanode 将数据存储在此目录中。 |
初始化集群
info
为简单起见,这里展示的是非高可用(HA)集群(1 个 OM、1 个 SCM)的步骤。若要配置 OM HA 或从非 HA 转换为 HA,请参阅 OM HA 文档。若要配置 SCM HA 或从非 HA 转换为 HA,请参阅 SCM HA 文档。
生产部署
强烈建议在生产环境中从一开始就搭建支持 HA 的集群。虽然可以将非 HA 集群转换为 HA 集群,但这是一个复杂的过程。
在启动 Ozone 集群之前,我们需要初始化 SCM 和 Ozone Manager。
ozone scm --init这使得 SCM 能够创建集群标识并初始化其状态。init 命令会初始化在 $ozone.metadata.dirs 中指定的元数据目录。Init 命令仅执行一次,这样 SCM 就能创建所有正常工作所需的磁盘结构。
ozone --daemon start scm确认 SCM 已成功启动并运行后,我们就可以创建一个对象存储供使用了。执行以下命令即可完成创建。
ozone om --initOzone Manager 初始化完成后,我们就可以启动名称服务了。
ozone --daemon start om此时,Ozone 的名称服务、Ozone Manager 以及块服务 SCM 都已启动。
::: info
如果磁盘上的数据结构缺失,SCM 将无法启动;如果 SCM 未运行,om --init 命令会失败。因此请确保您已执行 scm --init 和 om --init 两个命令。
:::
现在我们需要启动 Datanode。请在每个 Datanode 上运行以下命令。
ozone --daemon start datanode此时,SCM(Storage Container Manager)、Ozone Manager 和数据节点均已启动并正常运行。
恭喜!你已经搭建起一个可正常运行的 Ozone 集群。
评论
登录后参与评论
KnowForge