TOS
This guide describes how to configure Tinder Object Storage Service (TOS) as Alluxio's under storage system. Tinder Object Storage Service (TOS) is a massive, secure, low-cost, easy-to-use, highly reliable, and highly available distributed cloud storage service provided by VolcEngine.
Prerequisites
Before using TOS with Alluxio, follow the TOS quick start guide to sign up for TOS and create a TOS bucket.
If you haven't already, please see Prerequisites before you get started.
In preparation for using TOS with Alluxio:
| Create a new TOS bucket or use an existing bucket |
| The directory you want to use in the bucket, either by creating a new directory or using an existing one |
| The Access Key ID for TOS, which are created and managed in the TOS AccessKey management console |
| The Secret Access Key for TOS, which are created and managed in the TOS AccessKey management console |
| The internet endpoint of the bucket, which can be found in the bucket overview page with values like |
| The region where the bucket is located, such as |
Basic Setup
Use the mount table operations to add a new mount point, specifying the Alluxio path to create the mount on and the TOS path as the UFS URI. Credentials and configuration options can also be specified as part of the mount command by specifying the --option
flag as described by configuring mount points.
An example command to mount tos://<TOS_BUCKET>/<TOS_DIRECTORY>
to /tos
:
Note that if you want to mount the root of the TOS bucket, add a trailing slash after the bucket name (e.g. tos://TOS_BUCKET/
).
Advanced Setup
Note that configuration options can be specified as mount options or as configuration properties in conf/alluxio-site.properties
. The following sections will describe how to set configurations as properties, but they can also be set as mount options via --option <key>=<value>
.
Enabling HTTPS
To enable the use of the HTTPS protocol for secure communication with TOS with an additional layer of security for data transfers, configure the following setting in conf/alluxio-site.properties:
TOS multipart upload
The default upload method uploads one file completely from start to end in one go. We use multipart-upload method to upload one file by multiple parts, every part will be uploaded in one thread. It won't generate any temporary files while uploading.
To enable TOS multipart upload, you need to modify conf/alluxio-site.properties
to include:
There are other parameters you can specify in conf/alluxio-site.properties
to potentially speed up the upload.
High Concurrency Tuning
When integrating Alluxio with TOS, you can optimize performance by adjusting the following configurations:
alluxio.underfs.tos.retry.max
: Controls the number of retries with TOS. Default value is 3.alluxio.underfs.tos.read.timeout
: Controls read timeout with TOS. Default value is 30000 milliseconds.alluxio.underfs.tos.write.timeout
: Controls write timeout with TOS. Default value is 30000 milliseconds.alluxio.underfs.tos.streaming.upload.partition.size
: Controls the partition size for TOS streaming upload. Default value is 64MB.alluxio.underfs.tos.connect.timeout
: Controls the connection timeout with TOS. Default value is 30000 milliseconds.
Last updated