User GuidesAPI ReferenceRelease Notes
Doc HomeHelp CenterLog In
User Guides

Validation

Use validation healthcheck scripts in the Tamr administrative utility to run validation checks on demand. These checks also run automatically before you upgrade Tamr to a newer version.

Validation Command Flags

Use <tamr-home-directory>/tamr/utils/unify-admin.sh validate to check the current state of the Tamr software and configuration, and diagnose possible problems. The validate option has the following flags.

validate [-f <file>] [-h] [-l] [-v]

  • -f,--file <file> The file to which you would like to write validation results.
  • -h,--help Provides help for this command (this information).
  • -l,--list Lists the validation groups, such as pre-dependency, or pre-start, and the validation checks that run in those groups.
  • -v,--verbose Enables verbose logging to the console.

List of Validation Checks

Tamr validation scripts include, but are not limited to, the following checks:

  • Tamr license. Verifies the Tamr license validity and fails if the provided license is expired. The script returns the license information, such as the license key and type (evaluation or not), creation and expiration dates, customer name, and description.
  • Operating System. Verifies that the user is not the root user and prints diagnostic information about the operating system running Tamr.
  • Memory usage. Verifies that the memory settings Tamr requires are sufficient based on the operating system it is running on.
  • HBase external dependency. Verifies that HBase servers are running on expected ports, the Zookeeper cluster required by HBase is running as expected, and that Tamr can establish a connection to this cluster and retrieve its status. The script logs diagnostic information that HBase provides.
  • PostgreSQL external dependency. Verifies that Tamr can connect to the PostgreSQL database, ensures that its version is compatible, and runs simple queries. The script also logs diagnostic information about the presence of persistence and dataset schemas required by Tamr, such as their Postgres-specific migration status.
  • Elasticsearch external dependency. Verifies the connectivity to the Elasticsearch cluster used to power the user interface in Tamr, and ensures that this cluster is running. The script also verifies version compatability; and that the Elasticsearch data directory exists, has sufficient free space, and is readable and writeable.
  • Skip Environment Validation. If set to true, the --skipEnvironmentValidation flag allows the upgrade process to skip system validation checks at the start of the upgrade command. Use this flag with caution as it allows the upgrade process to proceed with a potentially invalid configuration which could cause it to fail. For more information, see Upgrading Tamr.

The following example lists validation groups and the checks that run in those groups:

~/tamr/utils$ ./unify-admin.sh validate -l
/home/ubuntu/tamr/utils

Validation group: pre-dependency
    OsEnvironment: Checks the basic OS properties
    UserIsNotRoot: Checks that the current user is not root. Starting Tamr or dependencies as root can cause serious issues, including system failure.
    ConfiguredDirectoriesValidator: Checks all the configured directories for permissions and storage
    UlimitValidator: Checks the system's ulimit settings to ensure they are at required minimums
Validation group: pre-start
    ZkServersAreHealthy: Performs a basic health check for configured ZooKeeper servers
    MemoryValidator: Checks the memory settings for Tamr and its dependencies
    HBaseClusterIsHealthy: Validates that the configured HBase cluster can be connected to and that the cluster state is valid
    PGValidator: Checks connectivity to the Postgres database used to power Tamr
    AuthSchemaValidator: Checks invariants in the auth service database schema
    PersistenceProblemsValidator: Checks for issues in persistence that might cause upgrade problems.
    ElasticsearchValidator: Checks connectivity to the Elasticsearch cluster used to power the Tamr UI
    LicenseValidator: Checks the license key for the Tamr instance
    SparkJobSubmissionValidator: Validates if spark jobs can be submitted and run successfully
Validation group: post-start
    HealthChecksValidator: Runs the healthchecks for each of Tamr's microservices

Running Validation Checks

Validation checks run by default before an upgrade, but you can also run them at any time.

To run healthcheck validation scripts:

  1. Run the administrative utility with the new validate option, such as:
<tamr-home-directory>/tamr/utils/unify-admin.sh validate 
  1. To obtain detailed output, run <tamr-home-directory>/tamr/utils/unify-admin.sh validate -v.
  2. To create a report of validation checks and send it to a specific location, run <tamr-home-directory>/tamr/utils/unify-admin.sh validate -f [filename], where [filename] is the path to the output file.