# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. [general] name = "Ballista Scheduler" env_prefix = "BALLISTA_SCHEDULER" conf_file_param = "config_file" [[switch]] name = "version" doc = "Print version of this executable" [[param]] name = "advertise_flight_sql_endpoint" type = "String" doc = "Route for proxying flight results via scheduler. Should be of the form 'IP:PORT'" [[param]] abbr = "b" name = "cluster_backend" type = "ballista_scheduler::cluster::ClusterStorage" doc = "The configuration backend for the scheduler cluster state, possible values: etcd, memory, sled. Default: sled" default = "ballista_scheduler::cluster::ClusterStorage::Sled" [[param]] abbr = "n" name = "namespace" type = "String" doc = "Namespace for the ballista cluster that this executor will join. Default: ballista" default = "std::string::String::from(\"ballista\")" [[param]] abbr = "e" name = "etcd_urls" type = "String" doc = "etcd urls for use when discovery mode is `etcd`. Default: localhost:2379" default = "std::string::String::from(\"localhost:2379\")" [[param]] name = "bind_host" type = "String" default = "std::string::String::from(\"0.0.0.0\")" doc = "Local host name or IP address to bind to. Default: 0.0.0.0" [[param]] name = "external_host" type = "String" doc = "Host name or IP address so that executors can connect to this scheduler. Default: localhost" default = "std::string::String::from(\"localhost\")" [[param]] abbr = "p" name = "bind_port" type = "u16" default = "50050" doc = "bind port. Default: 50050" [[param]] abbr = "s" name = "scheduler_policy" type = "ballista_core::config::TaskSchedulingPolicy" doc = "The scheduing policy for the scheduler, possible values: pull-staged, push-staged. Default: pull-staged" default = "ballista_core::config::TaskSchedulingPolicy::PullStaged" [[param]] name = "event_loop_buffer_size" type = "u32" default = "10000" doc = "Event loop buffer size. Default: 10000" [[param]] name = "finished_job_data_clean_up_interval_seconds" type = "u64" default = "300" doc = "Delayed interval for cleaning up finished job data. Default: 300" [[param]] name = "finished_job_state_clean_up_interval_seconds" type = "u64" default = "3600" doc = "Delayed interval for cleaning up finished job state. Default: 3600" [[param]] name = "task_distribution" type = "ballista_scheduler::config::TaskDistribution" doc = "The policy of distributing tasks to available executor slots, possible values: bias, round-robin, consistent-hash. Default: bias" default = "ballista_scheduler::config::TaskDistribution::Bias" [[param]] name = "consistent_hash_num_replicas" type = "u32" default = "31" doc = "Replica number of each node for the consistent hashing. Default: 31" [[param]] name = "consistent_hash_tolerance" type = "u32" default = "0" doc = "Tolerance of the consistent hashing policy for task scheduling. Default: 0" [[param]] name = "plugin_dir" type = "String" doc = "plugin dir" default = "std::string::String::from(\"\")" [[param]] name = "sled_dir" type = "String" doc = "Sled dir: Opens a Db for saving schduler metadata at the specified path. This will create a new storage directory at the specified path if it does not already exist." default = "std::string::String::from(\"\")" [[param]] name = "log_dir" type = "String" doc = "Log dir: a path to save log. This will create a new storage directory at the specified path if it does not already exist." [[param]] name = "print_thread_info" type = "bool" doc = "Enable print thread ids and names in log file." default = "true" [[param]] name = "log_level_setting" type = "String" doc = "special log level for sub mod. link: https://docs.rs/env_logger/latest/env_logger/#enabling-logging. For example we want whole level is INFO but datafusion mode is DEBUG" default = "std::string::String::from(\"INFO,datafusion=INFO\")" [[param]] name = "log_rotation_policy" type = "ballista_core::config::LogRotationPolicy" doc = "Tracing log rotation policy, possible values: minutely, hourly, daily, never. Default: daily" default = "ballista_core::config::LogRotationPolicy::Daily" [[param]] name = "job_resubmit_interval_ms" type = "u64" default = "0" doc = "If job is not able to be scheduled on submission, wait for this interval and resubmit. Default value of 0 indicates that job should not be resubmitted" [[param]] name = "executor_termination_grace_period" type = "u64" default = "30" doc = "Time in seconds an executor should be considered lost after it enters terminating status" [[param]] name = "scheduler_event_expected_processing_duration" type = "u64" default = "0" doc = "The maximum expected processing time of a scheduler event (microseconds). Zero means disable." [[param]] name = "grpc_server_max_decoding_message_size" type = "u32" default = "16777216" doc = "The maximum size of a decoded message at the grpc server side. Default: 16MB" [[param]] name = "grpc_server_max_encoding_message_size" type = "u32" default = "16777216" doc = "The maximum size of an encoded message at the grpc server side. Default: 16MB" [[param]] name = "executor_timeout_seconds" type = "u64" doc = "The executor timeout in seconds. It should be longer than executor's heartbeat intervals. Only after missing two or tree consecutive heartbeats from a executor, the executor is mark to be dead" default = "180" [[param]] name = "expire_dead_executor_interval_seconds" type = "u64" doc = "The interval to check expired or dead executors" default = "15"