NTP clock synchronization
The local clock of the machine where Kudu master or tablet server is running must be
synchronized using the Network Time Protocol (NTP) if you are using the
system
time source. The time source is controlled by the
--time_source
flag and is set to system
,
by default.
Kudu requires the maximum clock
error (not to be mistaken with the estimated error) of
the NTP-synchronized clock to be below a configurable threshold. The
default threshold value is 10 seconds and it can be customized using
the --max_clock_sync_error_usec
flag.
When running Kudu with the system
time source, Kudu will
not start and will display the following message if the local clock
is reported unsynchronized:
F0924 20:24:36.336809 14550 hybrid_clock.cc:191 Couldn't get the current time: Clock unsynchronized. Status: Service unavailable: Error reading clock. Clock considered unsynchronized.
If the machine's clock is synchronized, but the maximum clock error is too high, you will see a message such as:
Sep 17, 8:13:09.873 PM FATAL hybrid_clock.cc:196 Couldn't get the current time: Clock synchronized, but error: 11130000, is past the maximum allowable error: 10000000
or
Sep 17, 8:32:31.135 PM FATAL tablet_server_main.cc:38 Check failed: _s.ok() Bad status: Service unavailable: Cannot initialize clock: Cannot initialize HybridClock. Clock synchronized but error was too high (11711000 us).