mirror of
https://github.com/hanzo-ml/trainer.git
synced 2026-09-24 00:31:34 +00:00
1e31c5c854
Bumps [arrow-flight](https://github.com/apache/arrow-rs) from 58.0.0 to 58.1.0. - [Release notes](https://github.com/apache/arrow-rs/releases) - [Changelog](https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/apache/arrow-rs/compare/58.0.0...58.1.0) --- updated-dependencies: - dependency-name: arrow-flight dependency-version: 58.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Kubeflow Data Cache
Prerequisites
- Rust and Cargo
- AWS CLI configured with appropriate credentials
jqfor JSON parsingnc(netcat) for service health checks
Development Setup
Build the project
cargo build
Build in release mode
cargo build --release
Docker Build Instructions
Build the Docker image
docker build -f cmd/data_cache/Dockerfile -t kubeflow_data_cache .
Run the head service
docker run -p 50051:50051 kubeflow_data_cache head
Run the worker service
docker run -p 50052:50052 kubeflow_data_cache worker
Running the System
Option 1: Remote Table Testing
Run the system with remote table configuration using IAM roles:
../../hack/data_cache/run_with_remote_table.sh <iam-role-arn> <metadata-loc> <table-name> <schema-name> <aws-profile> [environment]
Example:
../../hack/data_cache/run_with_remote_table.sh \
arn:aws:iam::<account_id>:role/<role_name> \
s3a://<metadata_file_path> \
<table_name> \
<schema_name> \
<account_id> \
LOCAL
Parameters:
iam-role-arn(required): IAM role ARN for AWS accessmetadata-loc(required): S3 location of the metadata filetable-name(required): Name of the tableschema-name(required): Name of the schemaaws-profile(required): AWS profile nameenvironment(optional): Runtime environment (defaults to "LOCAL")
This script will:
- Assume the specified IAM role
- Set up AWS credentials and environment variables
- Start two worker nodes (ports 50052, 50053)
- Start the head node (port 50051)
- Wait for all services to be ready
Press Ctrl+C to stop all services.
Testing
Run Client Test
cd test
cargo run --bin client -- --endpoint http://localhost:50051 --local-rank 2 --world-size 4
Environment Configuration
The system supports two runtime environments:
- Local Development: Set
RUNTIME_ENV=LOCALto use localhost workers on ports 50052/50053 - Kubernetes/LWS: Uses
LWS_LEADER_ADDRESSandLWS_GROUP_SIZEfor service discovery