Before starting MapD Core, the data directory must be initialized. To do so, first create an empty directory at the desired path, such as /var/lib/mapd/data. Create the environment variable $MAPD_STORAGE.

Note: Do not store your data in the MapD application directory. MapD provides minor releases at a regular cadence. You can upgrade your system in place by replacing the entire MapD directory. Persistent data should be stored in another location. See upgrading.

Change the owner of the directory to the user that the server will run as ($MAPD_USER):

sudo mkdir -p $MAPD_STORAGE

Where $MAPD_USER is the system user account that the server runs as, such as mapd, and $MAPD_STORAGE is the desired path to the MapD Core Database data directory.

Finally, run $MAPD_PATH/bin/initdb with the data directory path as the argument:


Configuration file

MapD Core supports storing options in a configuration file. This is useful if, for example, you need to run the MapD Core Server and Web Server on different ports than their defaults. An example configuration file is provided under $MAPD_PATH/mapd.conf.sample.

To use options provided in this file, provide the path the the config file to the --config flag of mapd_server and mapd_web_server. For example:

$MAPD_PATH/bin/mapd_server --config $MAPD_STORAGE/mapd.conf

Configuration Settings

Flag Description Default Why Change It?
-h [ --help ] Print help messages. N/A N/A
--config arg Path to mapd.conf. none One use case might be to temporarily set a different configuration file during testing and troubleshooting.
--data arg Directory path to MapD catalogs. $PWD/data You can set the path anywhere you choose.
--cpu Set this flag on a GPU installation to instruct it to use only CPUs. (You do not have to explicitly set this flag for a CPU- only installation. It knows what it is.) false One use case for disabling GPUs is during database conversion, which requires moving a large amount of data with minimal processing.
--gpu Run on GPUs and CPUs. true Default.
--read-only Enable read-only mode. false Prevents inadvertent (or nefarious) changes to the dataset.
-p [ --port ] arg Port number 9091 Change the port number if it collides with another service on the host. Ideally, your host only runs MapD services.
--ldap-uri arg ldap server uri N/A N/A
--ldap-ou-dc arg ldap Organizational Unit and Domain Component =ou=users, dc=mapd,dc=com N/A
--http-port arg HTTP port number 9090 Change the port number if it collides with another service on the host. Ideally, your host only runs MapD services.
--flush-log Force aggressive log file flushes. false When you set this the system writes messages to disk as they are generated, rather than holding them until a particular threshold is reached.
--num-gpus arg Number of gpus to use -1 In a shared environment, you can assign the number of GPUs to a particular application. The default is -1, which means use all available GPUs.
--start-gpu arg First gpu to use 0 In a shared environment, if you want to reserve a set number of GPUs for a particular process, you can configure another process to use GPUs starting at a higher device ID.
-v [ --version ] Print release version number. N/A N/A
--db-convert arg Directory path to MapD database from which to convert N/A Set it to the path of an existing MapD <=2.04 database to be converted for MapD 2.1.0.