Configuring via dremio.conf

This topic describes how to configure Dremio, in particular, what properties you need to modify in the dremio.conf file and how to accomplish it.

[info] The dremio.conf file uses the HOCON syntax.

This topic covers following:

Template for dremio.conf

paths: {

  # the local path for dremio to store data.
  local: ${DREMIO_HOME}"/data"

  # the distributed path Dremio data including job results, downloads, uploads, etc
  dist: "pdfs://"${paths.local}"/pdfs"

  # location for catalog database (if master node)
  db: ${paths.local}/db,

  spilling: [${paths.local}/spill]

  # storage area for the accelerator cache.
  accelerator: ${paths.dist}/accelerator

  # staging area for json and csv ui downloads
  downloads: ${paths.dist}/downloads

  # stores uploaded data associated with user home directories
  uploads: ${paths.dist}/uploads

  # stores data associated with the job results cache.
  results: ${paths.dist}/results

  # shared scratch space for creation of tables.
  scratch: ${paths.dist}/scratch


services: {
  coordinator: {
    enabled: true,

    # Auto-upgrade Dremio at startup if needed
    auto-upgrade: false,

    master: {
      enabled: true,
      # configure an embedded ZooKeeper server on the same node as master
      embedded-zookeeper: {
        enabled: true,
        port: 2181,
        path: ${paths.local}/zk

    web: {
      enabled: true,
      port: 9047,
      ssl: {
        # If SSL for communication path between browsers (or REST clients) and Dremio should be enabled.
        enabled: false,

        # Allow for auto-generated certificates if keyStore option is not set
        # Auto-generated self-signed certificates are considered insecure, and this
        # option should be set to false in production environment
        auto-certificate.enabled: true

        # KeyStore and TrustStore settings default to Java keystore and truststore JVM arguments.
        # If needed to be overridden, then change the below properties

        # KeyStore type
        keyStoreType: ${},

        # Path to KeyStore file
        keyStore: ${},

        # Password to access the keystore file
        keyStorePassword: ${},

        # Password to access the key
        keyPassword: ${},

        # TrustStore type
        trustStoreType: ${},

        # Path to TrustStore file
        trustStore: ${},

        # Password to access the truststore file
        trustStorePassword: ${}
      auth: {
        type: "internal", # Possible values are "internal", "ldap" (includes Active directory)
        # LDAP config file for configuration when auth type is "ldap"
        ldap_config: "ldap.json" # file name provided should be in the classpath.
      ui: {
        # Configuration for Intercom
        intercom: {
            enabled: true
            appid:  "@dremio.ui.intercom.appid@"
      tokens: {
        cache: {
          # number of tokens to store locally on this coordinator node
          # (set to 0, if all requests should be made directly to the database of tokens)
          size: 100
          # time (in minutes) after which the token needs to be obtained from the token store
          expiration_minutes: 5

    client-endpoint: {
      port: 31010

    scheduler: {
      threads: 24

    command-pool: {
      enabled: true
      size: 0 # 0 defaults to the machine's number of cores

  executor: {
    enabled: true

  fabric: {
    port: 45678,

    memory: {
      reservation: 100M

  # Set up kerberos credentials in server (applicable for both coordinator and executor)
  kerberos: {
    principal: "",
    keytab.file.path: ""

  web-admin: {
    enabled: true,
    # Port, bound to loopback interface, on which the daemon responds to liveness HTTP requests (0 == auto-allocated)
    port: 0

provisioning: {
  yarn: {
    jvmoptions: "",
    # list of jars to be added to the main container classpath
    classpath: []
    app {
      # list of jars to be added to the Dremio application classpath
      classpath: []
      # list of jars to be added to the Dremio application classpath (at the front)
      classpath-prefix: []
    watchdog: {
      # how long to wait for server reply before considering it failed
      poll.timeout: 1000ms
      # interval between two server polls
      poll.interval: 10000ms
      # how many consecutive failed attempts before killing server
      missed.polls.before.kill: 6
      # maximum attempts at killing server
      max.kill.attempts: 10
      # how long before reattempting killing server
      kill.reattempt.interval: 1000ms

# the zookeeper quorum for the cluster
zookeeper: "localhost:"${services.coordinator.master.embedded-zookeeper.port}
zk.client.session.timeout: 90000

debug: {
  enabled: false,
  autoPort: false,
  prepopulate: false,
  singleNode: false,
  verboseAccessLog: false,
  allowTestApis: false,
  forceRemote: false,
  useMemoryStorage: false,
  addDefaultUser: false,
  allowNewerKVStore: true,
  # to enable remote debugging of the DremioDaemon running in YARN container
  yarnremote.enabled: false
  # UI Red Screen Of Death
  rsod.enabled: false
  # UI File A Bug option
  bug.filing.enabled: false
  # enable on-idle load shedding
  task.on_idle_load_shed: true
  # enable rescheduling task on unblock
  task.reschedule_on_unblock: true
  # Use election service to elect between multiple master candidates
  # has to be set to false if multiple master candidates
  master.election.disabled: false,

# These system properties are listed here to allow substitution of system property values for DAC Web SSL properties
# listed in services.web.ssl section. Currently we consider only the system properties listed in this file for
# substitution. {
  keyStoreType: "",
  keyStore: "",
  keyStorePassword: "",
  keyPassword: "",
  trustStoreType: "",
  trustStorePassword: ""

registration.publish-host: ""

results matching ""

    No results matching ""