Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 2.83 KB

File metadata and controls

83 lines (62 loc) · 2.83 KB
cd "$HOME/code/diskless-python-kafka/oxia-server" && go run ./cmd/main.go standalone --shards=1
docker run --rm -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin quay.io/minio/minio server /data --console-address :9001
cd "$HOME/code/diskless-python-kafka" && python3 -m venv .venv
cd "$HOME/code/diskless-python-kafka" && .venv/bin/python -m pip install -r requirements.txt
cd "$HOME/code/diskless-python-kafka" && ./quick_run.sh
cd "$HOME/code/diskless-python-kafka" && ./quick_run.sh down
cd "$HOME/code/diskless-python-kafka" && cp .env.example .env && set -a && source .env && set +a
cd "$HOME/code/diskless-python-kafka" && python3 -c 'import boto3, os; boto3.client("s3", endpoint_url=os.environ["LLOG_S3_ENDPOINT_URL"], aws_access_key_id=os.environ["LLOG_S3_ACCESS_KEY_ID"], aws_secret_access_key=os.environ["LLOG_S3_SECRET_ACCESS_KEY"], region_name=os.environ["LLOG_S3_REGION_NAME"]).create_bucket(Bucket=os.environ["LLOG_S3_BUCKET"])'
cd "$HOME/code/diskless-python-kafka" && LLOG_BATCH_MAX_BYTES=8388608 LLOG_BATCH_MAX_DELAY_MS=500 LLOG_BATCH_MAX_BUFFER_BYTES=33554432 python3 -m server.leaderless_log_broker --host 127.0.0.1 --port 8080 --broker-id broker-1
curl -X POST http://127.0.0.1:8080/produce -H 'content-type: application/json' -d '{"topic_partitions":[{"topic":"orders","partition":0,"records":["a","b"]}]}'
curl http://127.0.0.1:8080/metrics
curl -s http://127.0.0.1:8080/metrics | jq '.s3.billing'
curl -s http://127.0.0.1:8080/metrics | jq '{request_cost_usd: .s3.billing.estimated_request_cost_usd, stored_gb: .s3.billing.bucket_stored_gb, monthly_storage_cost_usd: .s3.billing.estimated_monthly_storage_cost_usd}'
curl http://127.0.0.1:8080/metrics/prometheus
cd "$HOME/code/diskless-python-kafka" && LLOG_COMPACTOR_TARGETS=orders:0 LLOG_COMPACTOR_DISCOVERY_INTERVAL_MS=30000 python3 -m server.leaderless_log_compactor_server --host 127.0.0.1 --port 8081 --compactor-id compactor-1

Add LLOG_COMPACTION_PARTITION_METRICS=1 when you want per-topic/partition lag series in Prometheus.

curl http://127.0.0.1:8081/health
curl http://127.0.0.1:8081/metrics
curl -s http://127.0.0.1:8081/metrics | jq '.s3.billing'
curl http://127.0.0.1:8081/metrics/prometheus
cd "$HOME/code/diskless-python-kafka" && python3 -c 'from server.leaderless_log_compactor import LeaderlessLogCompactor; c = LeaderlessLogCompactor.from_env(); print(c.compact_once("orders", 0)); c.close()'

These commands assume the selected interpreter has requirements.txt installed, including oxia==0.2.1. Older 0.1.x Oxia builds could surface SessionNotFound during compaction.