In this section, we will look at the various configuration parameters of a ZooKeeper server. These parameters are defined in the configuration file called
zoo.cfg. Servers deployed in a ZooKeeper service can share a file if they are configured for the same applications. You have already learned about the
myid file that distinguishes the servers from one another in the same ensemble. While the default options in this configuration file usually serve most common use cases for the evaluation or testing of applications, in a production environment it's very important that the values for these parameters are set properly with adequate reasoning.
It's also possible to set many of the configuration parameters using Java system properties with
zookeeper.propertyName. These properties are set using the
-D option when starting the server. However, parameters defined in the configuration file have precedence over the ones set with
-D options in the Java command line.