SingleStore DB

check

Checks the provided report for issues.

Usage

You can retrieve help for the command by typing <application> [command] --help in the command line.

Remarks

This command is interactive unless you use either --yes or --json flag to override interactive behavior.

Pre-Installation Environment Validation

Before installing SingleStore DB on hosts, you need to validate the deployment environment for sufficient resources and optimal configurations to ensure the best possible performance of your database. The sdb-report tool provides a series of collectors and pre-installation environment checks that can help tune your hardware to be the most compatible with SingleStore DB. The pre-installation checks are only run against the components that apply to hosts without the SingleStore DB installed on them.

If you are deploying SingleStore DB using SingleStore Tools, the sdb-report tool will automatically check the system and flag potential configuration changes prior to the SingleStore DB deployment. The pre-installation checks can also be run manually on new hosts that are added to a cluster as part of database scaling or on existing hosts in a cluster.

Perform the following steps to manually check if your environment is ready for SingleStore DB deployment.

  1. Install SingleStore Tools and register the hosts on which you plan to deploy SingleStore DB.

  2. Run the following command at the command line.

    sdb-report collect --validate-env
    

    This command collects a report on the pre-installation checks from all the registered hosts. You can collect a report from specific hosts by using the --host flag.

  3. After the report has been collected, run the following command at the command line. Make sure to provide the path to the report collected in the previous step.

    sdb-report check --validate-env --report-path <report-name/including/path>
    

    This command returns a list of pre-installation checks as pass/fail/warn metrics, and alerts on any potential configuration changes that you need to make before proceeding with the SingleStore DB deployment.

Below is a sample output of the pre-installation checks.

sdb-report check --validate-env --report-path report-2021-05-04T075311.tar.gz
****
✓ diskUsage ..................................... [PASS]
✓ collectionErrors .............................. [PASS]
✓ defunctProcesses .............................. [PASS]
✓ diskLatencyRead ............................... [PASS]
✓ swapUsage ..................................... [PASS]
✓ diskLatencyWrite .............................. [PASS]
✓ cpuFeatures ................................... [PASS]
✓ cpuIdle ....................................... [PASS]
✘ transparentHugepage ........................... [FAIL]
FAIL /sys/kernel/mm/transparent_hugepage/defrag is [madvise] on 172.0.0.1
NOTE https://docs.memsql.com/memsql-report-redir/transparent-hugepage
✓ validateSsd ................................... [PASS]
✓ memoryCommitted ............................... [PASS]
✓ networkBuffersMax ............................. [PASS]
✓ orchestratorProcesses ......................... [PASS]
✓ majorPageFaults ............................... [PASS]
✓ cpuFreqPolicy ................................. [PASS]
NOTE cpu freq info collector on 172.0.0.1 had non-empty stderr output, can be found at cpuFreqInfo/cpuFreqInfo_stderr
NOTE wasn't able to get powersave state on 172.0.0.1 due to cpufreq driver disabled for your kernel
✓ kernelVersions ................................ [PASS]
NOTE 3.16 on all
✘ diskBandwidth ................................. [WARN]
WARN disk bandwidth collection error for host 172.0.0.1: Cannot collect disk bandwidth info because stress-ng is unavailable
✓ cpuModel ...................................... [PASS]
NOTE Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz on all
✓ minFreeKbytes ................................. [PASS]
✓ vmOvercommit .................................. [PASS]
✓ swapEnabled ................................... [PASS]
✓ cpuHyperThreading ............................. [PASS]
✘ maxMapCount ................................... [FAIL]
Fail vm.max_map_count = 65530 too low on 172.0.0.1
✘ cpuMemoryBandwidth ............................ [WARN]
WARN cpu-memory bandwidth collector on 172.0.0.1 encountered error: Impossible to collect cpu-memory bandwidth info due to mlc unavailable
✓ cgroupDisabled ................................ [PASS]
some checks failed: 21 PASS, 2 WARN, 2 FAIL

The diagnostics from the sample report recommend the following actions based on the best practices for using SingleStore DB.

  • Increase the virtual memory (vm) setting, vm.max_map_count, to the specified value, which will decrease the risk of memory errors.

  • Disable Transparent Huge Pages to ensure that the system has consistent query performance times.

Similarly, you can gather the necessary configuration changes from the report and then tune your environment for a SingleStore DB deployment.