Multi-Node Ozone Cluster
Pre-requisites
Ensure you have password-less ssh setup between your hosts.
Configuration
ozone-site.xml
Save the following snippet to etc/hadoop/ozone-site.xml
in the compiled Ozone distribution.
<configuration> <properties> <property><name>ozone.scm.block.client.address</name><value>SCM-HOSTNAME</value></property> <property><name>ozone.scm.names</name><value>SCM-HOSTNAME</value></property> <property><name>ozone.scm.client.address</name><value>SCM-HOSTNAME</value></property> <property><name>ozone.om.address</name><value>OM-HOSTNAME</value></property> <property><name>ozone.handler.type</name><value>distributed</value></property> <property><name>ozone.enabled</name><value>True</value></property> <property><name>ozone.scm.datanode.id</name><value>/tmp/ozone/data/datanode.id</value></property> <property><name>ozone.replication</name><value>3</value></property> <property><name>ozone.metadata.dirs</name><value>/tmp/ozone/data/metadata</value></property> </properties> </configuration>
Replace SCM-HOSTNAME and OM-HOSTNAME with the names of the machines where you want to start the SCM and OM services respectively. It is okay to start these services on the same host. If you are unsure then just use any machine from your cluster.
hadoop-env.sh
The only mandatory setting in hadoop-env.sh is JAVA_HOME. E.g.
# The java implementation to use. By default, this environment # variable is REQUIRED on ALL platforms except OS X! export JAVA_HOME=/usr/java/latest
workers
The workers file should contain a list of hostnames in your cluster where DataNode service will be started. E.g.
n001.example.com n002.example.com n003.example.com n004.example.com
Start Services
Initialize the SCM
Run the following commands on the SCM host
bin/ozone scm -init bin/ozone --daemon start sum
Format the OM
Run the following commands on the OM host
bin/ozone om -createObjectStore bin/ozone --daemon start om
Start DataNodes
Run the following command on any cluster host.
sbin/start-ozone.sh
Stop Services
Run the following command on any cluster host.
sbin/stop-ozone.sh