Configuration Files

Reference dremio.conf

paths: {

  # the local path for dremio to store data.
  local: "/tmp/dremio",

  # 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: {
        enabled: false,
        # KeyStore and TrustStore settings default to Java keystore and truststore JVM arguments.
        # If needed to be overridden, then change the below properties
        # Path to KeyStore file
        keyStore: ${javax.net.ssl.keyStore},
        # Password to access the keystore file
        keyStorePassword: ${javax.net.ssl.keyStorePassword},
        # Path to TrustStore file
        trustStore: ${javax.net.ssl.trustStore},
        # Password to access the truststore file
        trustStorePassword: ${javax.net.ssl.trustStorePassword},
        # Allow for auto-generated certificates if keyStore option is not set
        # Autogenerated self-signed certificates are considered insecure, and this
        # option should be set to false in production environment
        auto-certificate.enabled: true
      },
      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
    },

    reflection: {
      enabled: true
    }
  },

  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: ""
  }
}

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: []
    }
  }
}

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

# 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.
javax.net.ssl {
  keyStore: "",
  keyStorePassword: "",
  trustStore:"",
  trustStorePassword: ""
}

registration.publish-host: ""

Reference dremio.env for RPM installs

#
# Dremio environment variables used by Dremio daemon
#

#
# Directory where Dremio logs are written
# Default to $DREMIO_HOME/log
#
DREMIO_LOG_DIR=/var/log/dremio

#
# Directory where Dremio pidfiles are written
# Default to $DREMIO_HOME/run
#
DREMIO_PID_DIR=/var/run/dremio

#
# Max heap memory size (in MB) for the Dremio process
#
# Default to 4096 for server
#
#DREMIO_MAX_HEAP_MEMORY_SIZE_MB=4096

#
# Max direct memory size (in MB) for the Dremio process
#
# Default to 8192 for server
#
#DREMIO_MAX_DIRECT_MEMORY_SIZE_MB=8192

#
# Max permanent generation memory size (in MB) for the Dremio process
# (Only used for Java 7)
#
# Default to 512 for server
#
#DREMIO_MAX_PERMGEN_MEMORY_SIZE_MB=512

#
# Garbage collection logging is enabled by default. Set the following
# parameter to "no" to disable garbage collection logging.
#
#DREMIO_GC_LOGS_ENABLED="yes"

#
# The scheduling priority for the server
#
# Default to 0
#
# DREMIO_NICENESS=0
#

#
# Number of seconds after which the server is killed forcibly it it hasn't stopped
#
# Default to 120
#
#DREMIO_STOP_TIMEOUT=120

# Extra Java options
#
#DREMIO_JAVA_EXTRA_OPTS=

Dremio Advanced Settings

Administrators can set custom settings in the Admin section under Advanced Settings. For example, Dremio by default will send usage data back to Dremio. For example, enter dremio.ui.outside_communication_disabled as a “Support Key” and enable the revealed toggle to disable all outside communication.