S3 Cluster Management
This page describes how to set up, update, monitor, and delete an S3 cluster.
Last updated
This page describes how to set up, update, monitor, and delete an S3 cluster.
Last updated
The S3 service can be exposed from the cluster hosts, ranging from three hosts to the entire cluster. The service performance scales linearly as the S3 cluster scales.
Note: Depending on the workload, you may need to use several FE cores to gain maximum performance.
To ensure that the various S3 clients will balance the load on the different Weka hosts serving S3, it is recommended to define a Round-robin DNS entry that will resolve to the list of hosts' IPs, ensuring that the clients' load will be equally distributed across all hosts. A DNS server that supports health checks can help with resiliency if any of the hosts serving S3 become unresponsive for whatever reason.
With extreme load, even a robust DNS server / load-balancer may become overloaded. You can also use a client-side load balancer, where each client checks the health of each S3 host in the cluster. One such load balancer is the open-source Sidekick Load Balancer.
To configure an S3 cluster, first access the S3 Service view.
To configure the S3 cluster, click the Configure button. The following Configure S3 Cluster window will be displayed:
Select which filesystem to use for the S3 service, select the Weka backend hosts to form the S3 cluster, and optionally change the port for exposing the S3 service (do not set port 9001). Then click the Configure button.
The following S3 Cluster Configuration window will be displayed:
Note: The status of the hosts will change from not ready to ready.
To update the S3 cluster, click the Update button. An Update S3 Cluster window will be displayed:
Update the list of Weka hosts or S3 service port. Then click the Update button.
To delete a configured S3 cluster, click the Reset button in the S3 Cluster Configuration window. The following window will be displayed:
Confirm the deletion by clicking the Reset button.
Command: weka s3 cluster create
Use the following command line to create an S3 cluster:
weka s3 cluster create <filesystem> [--all-hosts] [--host hosts] [--port port] [--anonymous-posix-uid uid] [--anonymous-posix-gid gid]
Parameters in Command Line
Command: weka s3 cluster
/ weka s3 cluster status
Use these commands to check the status and configuration of the S3 cluster. Once all hosts are prepared and ready, it is possible to use the S3 service.
Command: weka s3 cluster update
Use the following command line to update an S3 cluster configuration:
weka s3 cluster update [--all-hosts] [--host hosts] [--port port] [--anonymous-posix-uid uid] [--anonymous-posix-gid gid]
Parameters in Command Line
Command: weka s3 cluster destroy
Use this command to destroy an S3 cluster managed by the Weka system.
Deleting an existing S3 cluster managed by the Weka system does not delete the backend Weka filesystem but removes the S3 bucket exposures of these filesystems.
Name
Type
Value
Limitations
Mandatory
Default
filesystem
String
The filesystem name to be used for the S3 service
None
Yes
all-hosts
Boolean
Use all backend hosts to serve S3 commands
None
Either host
list or all-hosts
must be provided
Off
host
Comma-separated list of Numbers
Host IDs to serve the S3 service
Minimum of 3 hosts must be supplied.
Either host
list or all-hosts
must be provided
port
Number
The port where the S3 service is exposed
Do not set port 9001.
No
9000
anonymous-posix-uid
Number
POSIX UID for objects (when accessed via POSIX) created with anonymous access (for bukets with an IAM pocliy allowing that).
None
No
65534
anonymous-posix-gid
Number
POSIX GID for objects (when accessed via POSIX) created with anonymous access (for bukets with an IAM pocliy allowing that).
None
No
65534
Name
Type
Value
Limitations
Mandatory
Default
all-hosts
Boolean
Use all backend hosts to serve S3 commands
None
No
host
Comma-separated list of Numbers
Host IDs to serve the S3 service
Minimum of 3 hosts
No
port
Number
The port where the S3 service is exposed
None
No
anonymous-posix-uid
Number
POSIX UID for objects (when accessed via POSIX) created with anonymous access (for bukets with an IAM pocliy allowing that).
None
No
anonymous-posix-gid
Number
POSIX GID for objects (when accessed via POSIX) created with anonymous access (for bukets with an IAM pocliy allowing that).
None
No