Deploy SynxML Platform
SynxML Platform is an integrated platform designed for data science and AI development. It provides full lifecycle management from data preparation to production deployment, including data management, model development, training, and deployment. The platform offers a web-based visual interface.
This document explains how to deploy SynxML Platform for a SynxDB cluster.
Steps to deploy SynxML Platform
Preparation
Before deploying SynxML Platform, make sure the following requirements are met:
A machine running CentOS 7 with at least 16 GB of available memory.
A SynxDB database cluster has been successfully deployed and is accessible.
The database is configured to allow access from SynxML Platform nodes in the
pg_hba.conffile.Contact Synx Data Labs technical support to obtain the following RPM installation packages:
synxml-runtime(runtime dependencies)synxml-platform(platform services)
Step 1: Install the RPM packages
Install the RPM packages. Replace
<version>with the actual file name, for example:synxml-platform-0.1.2-1.noarch.rpm.# Installs the runtime component. sudo yum install -y synxml-runtime-<version>.x86_64.rpm # Installs the platform component. sudo yum install -y synxml-platform-<version>.noarch.rpm
Initialize the environment. Switch to the
synxmluser and activate thesynxmlPython environment:su - synxml source /usr/local/synxml/bin/activate # Enter the synxml user environment
Verify the installation. If the installation is successful, the following command returns a result.
rpm -qa | grep synxml-platform
Step 2: Configure SynxML Platform
Modify the SynxML Platform configuration file. Edit the
/etc/synxml/platform.tomlfile. For example:[database] # Database connection settings name = "synxml" # Database name user = "gpadmin" # Database user password = "gpadmin" # Database password host = "localhost" # Database host port = 5432 # Database port schema = "synxml" # Database schema [service] # Platform service settings allowed_hosts = ["*"] ray_service_url = "http://localhost:8000" # Ray service URL service_host = "0.0.0.0" # Platform service bind address service_port = 8813 # Platform service port web_workers = 1 [storage] file_path = "static" [system] thread_pool_max_workers = 20
Make sure the port number in
ray_service_urlmatches the one configured later inservices.yml.Modify the service configuration file. Edit the
services.ymlfile located at:/usr/local/synxml/lib/python3.10/site-packages/synxml/platform/core/services.yml
Update the
DBCONN_PREFIXandDBCONNfields according to your actual database connection information:DBCONN_PREFIX: postgresql:// DBCONN: gpadmin:gpadmin@localhost:5432/synxml
Set the following environment variables in the
synxmluser environment:# Sets the shared storage directory. export SHARED_STORAGE_PATH=/home/synxml/ray-logs # Sets the model directory. export ROOT_MODEL_DIR=/home/synxml/models # Sets the data directory. export ROOT_DATA_DIR=/home/synxml/
For multi-node deployments, you can set the shared storage to an S3-compatible path:
# Set the shared storage directory export SHARED_STORAGE_PATH=s3://ak:sk@bucket/path?endpoint_override=http://ip:port
Grant read and write permissions to the static resources directory (run as
root):sudo chmod 777 /usr/local/synxml/lib/python3.10/site-packages/synxml/platform/static
Step 3: Start the SynxML Platform service
Run the following commands in the synxml user environment.
Start the Ray service.
ray start --head ray status # Checks the status.
Start the model backend service.
serve deploy /usr/local/synxml/lib/python3.10/site-packages/synxml/platform/core/services.yml serve status # Checks the status.
Start the API backend service.
systemctl start synxml-platform.service
Step 4: Access the SynxML Platform console in your browser
Open a browser and navigate to http://<ip>:<port>/hp to access the SynxML Platform login page. Here:
<ip>is the IP address of the machine where SynxML Platform is running.<port>is the service port configured in theservice_portfield of the/etc/synxml/platform.tomlfile.
The default login username and password are both admin.
Manage SynxML Platform services
The following are commonly used commands to manage SynxML Platform:
Check the service status:
systemctl status synxml-platform.service
Stop the service:
systemctl stop synxml-platform.service
Restart the service (run this after updating the configuration):
systemctl restart synxml-platform.service
Enable the service to start on boot:
sudo systemctl enable synxml-platform.service
View logs in real time:
sudo journalctl -u synxml-platform.service -f
View logs within a specific time range, for example from
2025-04-22to2025-04-23:sudo journalctl -u synxml-platform.service --since "2025-04-22" --until "2025-04-23"
View all logs:
sudo journalctl -u synxml-platform.service -e
Additional notes
For assistance with obtaining RPM packages or configuring the platform, contact Synx Data Labs technical support.
It is recommended to record logs during installation and deployment to help with troubleshooting.