Starting the Software
You can use SmartKit or Yarn to start OmniShuffle. The direct startup method with SmartKit is recommended. If OmniShuffle started by Yarn exits due to a fault, Yarn automatically starts OmniShuffle after a period of time. To use Yarn for the startup, you need to configure the LinuxContainerExecutor. The LinuxContainerExecutor requires enabling SUID. Evaluate associated security risks and take necessary security measures.
For details about how to configure LinuxContainerExecutor, see the Hadoop official website.
Using SmartKit
If the interval between stopping and starting OCK is longer than two minutes, you do not need to manually clear /meta and /mf.
- Access ZooKeeper.
1zkCli.sh
- Check whether ZooKeeper has automatically deleted /meta and /mf.
1 2
ls /mf ls /meta

If the directories are not automatically deleted, you need to manually delete them.
1 2
deletall /mf deletall /meta
- Configure the service flow. Select and import the start.json file. For details about the JSON file, see start.json. Copy the corresponding content in "JSON File Description" and save it as the start.json file.


- Click Run Service.

- Check that the execution is successful.

Using Yarn
Start OmniShuffle independently on the management node. Yarn manages the OmniShuffle lifecycle of the compute nodes.
- Start OmniShuffle on the management node.
Use the single-node script ock-start-ockd.sh provided by OmniShuffle to start OmniShuffle. The script is stored in $OCK_HOME/ucache/23.0.0/linux-aarch64/sbin/.
- Check the Yarn configuration.
- Check the ~/.hadooprc file of the ockadmin user. The Yarn startup user is ockadmin.
vi ~/.hadooprc
- Press i to enter the insert mode and check for the following content. If the content does not exist, add it to the file.
export HADOOP_USER_NAME=ockadmin export HDFS_DATANODE_USER=ockadmin export HDFS_NAMENODE_USER=ockadmin export HDFS_SECONDARYNAMENODE_USER=ockadmin export YARN_RESOURCEMANAGER_USER=ockadmin export YARN_NODEMANAGER_USER=ockadmin
- For details about how to configure Yarn LinuxContainerExecutor, visit https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/SecureContainer.html.
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Check the ~/.hadooprc file of the ockadmin user. The Yarn startup user is ockadmin.
- Configure the OmniShuffle node information file on the compute nodes. If the file does not exist, create one.
$OCK_HOME/conf/ock_node_list
Configure the name of the node where OmniShuffle is started in the information file (excluding the management node).
Example:

- Optional: To configure the retry times and interval when Yarn fails to start OmniShuffle, modify the ock-start-ockd-by-yarn.sh file. For details about the configuration items, see ock-start-ockd-by-yarn.sh.
- Modify the ock-launch-cluster.sh script.
The path of the script is $OCK_HOME/ucache/23.0.0/linux-aarch64/sbin/ock-launch-cluster.sh. The following is an example startup script. For details about the configuration items, see ock-launch-cluster.sh.
- Set ock_memory to the larger one between 110% of the MF memory and the sum of the MF memory plus 10 GB. OCK running memory is included in the value. If the memory specified by the ock_memory parameter is less than the MF memory, the OCK fails to be started.
- When multiple Yarn applications are running on the same node, change the names of the .appid files to help identify which application is shut down using the stop script.
- Run the script as the ockadmin user to start OmniShuffle.
sh $OCK_HOME/ucache/23.0.0/linux-aarch64/sbin/ock-launch-cluster.shYou can view the ock-launch-cluster.log file in ock/logs/ to check whether the OmniShuffle startup request is submitted successfully.
