NebulaGraph builds the configurations based on the gflags repository. Most configurations are flags. When the NebulaGraph service starts, it will get the configuration information from Configuration files by default. Configurations that are not in the file apply the default values.
- Because there are many configurations and they may change as NebulaGraph develops, this topic will not introduce all configurations. To get detailed descriptions of configurations, follow the instructions below.
- It is not recommended to modify the configurations that are not introduced in this topic, unless you are familiar with the source code and fully understand the function of configurations.
Legacy version compatibility
In the topic of 1.x, we provide a method of using the
CONFIGS command to modify the configurations in the cache. However, using this method in a production environment can easily cause inconsistencies of configurations between clusters and the local. Therefore, this method will no longer be introduced starting with version 2.x.
Get the configuration list and descriptions¶
Use the following command to get all the configuration information of the service corresponding to the binary file:
# Get the help information from Meta $ /usr/local/nebula/bin/nebula-metad --help # Get the help information from Graph $ /usr/local/nebula/bin/nebula-graphd --help # Get the help information from Storage $ /usr/local/nebula/bin/nebula-storaged --help
The above examples use the default storage path
/usr/local/nebula/bin/. If you modify the installation path of NebulaGraph, use the actual path to query the configurations.
curl command to get the value of the running configurations.
# Get the running configurations from Meta curl 127.0.0.1:19559/flags # Get the running configurations from Graph curl 127.0.0.1:19669/flags # Get the running configurations from Storage curl 127.0.0.1:19779/flags
In an actual environment, use the real host IP address instead of
127.0.0.1 in the above example.
Configuration files for clusters installed from source, with an RPM/DEB package, or a TAR package¶
NebulaGraph provides two initial configuration files for each service,
<service_name>.conf.production. You can use them in different scenarios conveniently. For clusters installed from source and with a RPM/DEB package, the default path is
/usr/local/nebula/etc/. For clusters installed with a TAR package, the path is
The configuration values in the initial configuration file are for reference only and can be adjusted according to actual needs. To use the initial configuration file, choose one of the above two files and delete the suffix
.production to make it valid.
To ensure the availability of services, the configurations of the same service must be consistent, except for the local IP address
local_ip. For example, three Storage servers are deployed in one NebulaGraph cluster. The configurations of the three Storage servers need to be the same, except for the IP address.
The initial configuration files corresponding to each service are as follows.
|NebulaGraph service||Initial configuration file||Description|
||Meta service configuration|
||Graph service configuration|
||Storage service configuration|
Each initial configuration file of all services contains
local_config. The default value is
true, which means that the NebulaGraph service will get configurations from its configuration files and start it.
It is not recommended to modify the value of
false. If modified, the NebulaGraph service will first read the cached configurations, which may cause configuration inconsistencies between clusters and cause unknown risks.
Configuration files for clusters installed with Docker Compose¶
For clusters installed with Docker Compose, the configuration file's default installation path of the cluster is
<install_path>/nebula-docker-compose/docker-compose.yaml. The parameters in the
command field of the file are the launch parameters for each service.
Configuration files for clusters installed with NebulaGraph Operator¶
For clusters installed with Kubectl through NebulaGraph Operator, the configuration file's path is the path of the cluster YAML file. You can modify the configuration of each service through the
The services cannot be configured for clusters installed with Helm.
By default, each NebulaGraph service gets configured from its configuration files. You can modify configurations and make them valid according to the following steps:
For clusters installed from source, with a RPM/DEB, or a TAR package
Use a text editor to modify the configuration files of the target service and save the modification.
Choose an appropriate time to restart all NebulaGraph services to make the modifications valid.
For clusters installed with Docker Compose
- In the
<install_path>/nebula-docker-compose/docker-compose.yamlfile, modify the configurations of the target service.
- In the
nebula-docker-composedirectory, run the command
docker-compose up -dto restart the service involving configuration modifications.
- In the
For clusters installed with Kubectl
For details, see Customize configuration parameters for a NebulaGraph cluster.