Getting started
First of all, make sure to obtain a license for Polars on-premise by
signing up here. You will receive a link to download
our binary named polars-on-premise as well as a license for running Polars on-premise.
Running the binary
The main entrypoint is as follows:
$ polars-on-premise service --config-path /etc/polars-cloud/config.toml
However, the service requires quite some configuration to get started. Below you can find an example scheduler and worker config, and you can find the full configuration reference here.
Example scheduler config
Here is a cleaned-up example you can use after the reference tables. It keeps the scheduler single-purpose (no worker role) and turns on observability.
cluster_id = "foobarbaz"
cublet_id = "scheduler"
license = "/etc/polars/license.json"
memory_limit = 1073741824 # 1 GiB
[scheduler]
enabled = true
anonymous_result_dst = "s3://my-bucket/path/to/dir"
allow_shared_disk = false
n_workers = 4
[worker]
enabled = false
[observatory]
enabled = true
[static_leader]
leader_key = "scheduler"
public_leader_addr = "192.168.1.1"
[service]
public_address = "192.168.1.1"
auth = "insecure"
connection = "insecure"
Example worker config
And the matching worker config. This example gives the worker a local shuffle path and enables observability.
cluster_id = "foobarbaz"
cublet_id = "worker_0"
license = "/etc/polars/license.json"
memory_limit = 10737418240 # 10 GiB
[scheduler]
enabled = false
[worker]
enabled = true
worker_ip = "192.168.1.2"
flight_port = 5052
service_port = 5053
heartbeat_interval_secs = 5
shuffle_data_path = "/opt/shuffle-data-path"
[observatory]
enabled = true
[static_leader]
leader_key = "scheduler"
public_leader_addr = "192.168.1.1"
The complete configuration reference can be found here.