This page describes the Trafodion Scanner.


 

Introduction

 

The Trafodion Scanner checks the cluster for attributes that commonly cause installation issues, runtime performance problems, and so on. In addition, various system information is collected for future reference, such as to aid with troubleshooting.

 

The Trafodion Scanner is automatically invoked by the trafodion_install script, at the beginning of the Trafodion installation. The trafodion_install script will abort if any configuration errors are discovered by the Scanner. You will need to correct such errors before re-running the trafodion_install script.

 

NOTE: If necessary, it is possible to suppress automatic Scanner invocation by specifying the --no_scanner parameter with the trafodion_install script: ./trafodion_install --no_scanner. For example, this may be necessary in order to install Trafodion on a non-standard cluster configuration, where Scanner errors would otherwise prevent the installation from proceeding.

 

The Trafodion Scanner may take several minutes to complete, depending on the size and speed of your cluster. It executes in two stages:

 

  1. Checks basic cluster prerequisites. This stage validates the following set of basic prerequisites. If an issue is detected, an error will be reported. You will need to correct any such errors before continuing with the Trafodion installation.
  2. Collects system information and checks cluster configuration. This stage executes the configuration-recording commands as well as the configuration and consistency checks specified in the Configuration File. When it completes, you will see a message similar to this one:
    ******* SUMMARY *******
    Completed Execution on 4 nodes: node1 node2 node3 node4
    Results:
      node2 - All checks PASSED
      node1, node3 - YumAndInternetConnection check FAILED [warning]
      node4 - HardwarePlatform check FAILED [error], MinNumCores check FAILED [warning]
    
    Additional details in log file: /var/log/trafodion/trafodion_scanner_2015-05-01-18-40-21.log
    

    You can find the specific details about each check failure in the Scanner log file trafodion_scanner_<timestamp>.log (the name and fully qualified path of the log file is displayed at the end of Scanner execution, as shown in the example above). You can search the log file using the name of the check that failed, for example, "HardwarePlatform". Also, you may find it helpful to read the check descriptions and notes for Cluster Configuration Checking andCluster Consistency Checking.

 

Manual Invocation

 

The Trafodion Scanner can be invoked manually, at any time. For example, you can run it after making adjustments to your cluster, to verify that no configuration issues are present. Here are the steps:

 

IMPORTANT: These steps should be done on the same node where you ran the trafodion_install script. Login with the same User ID that was used to run the trafodion_install script (enabled with sudo and passwordless ssh access to all nodes of the cluster).

 

  1. Change to the installer tools directory:
    cd $HOME/trafodion_downloads/installer/tools
    
  2. Run the trafodion_scanner script. You don't need to specify any parameters. The trafodion_scanner script automatically uses the cluster information collected by the trafodion_install script. If the needed information is not available, you will be prompted to enter it.
    ./trafodion_scanner
    

 

Configuration File

 

The default Trafodion Scanner configuration file is $HOME/trafodion_downloads/installer/tools/trafodion_scanner.cfg. There are comments at the top of the file explaining the configuration specification format. There are three sections with specifications for Cluster Configuration RecordingCluster Configuration Checking, and Cluster Consistency Checking.

 

Cluster Configuration Recording

 

The Trafodion Scanner collects various system information for future reference, such as to aid with troubleshooting. This is done by executing one or more commands on each node in the cluster and recording the output in the log file. The following information is collected per the default configuration file:

 

Information CollectedCommand ExecutedNotes
Number of coresgrep -c '^processor' /proc/cpuinfo 
GB of total physical memorygrep MemTotal /proc/meminfo | awk '{printf ("%.0f",$2/(1024*1024))}'The value is rounded to the nearest integer. For example, 15.8 GB is reported as 16 GB and 4.3 GB is reported as 4 GB.
Linux distributionlsb_release -a 
User limit settingsulimit -a 
System informationuname -a 
Kernel parameters/sbin/sysctl -a 
Network configuration/sbin/ip addr show 
Available filesystemsdf -h 
Installed RPMsrpm -qa | sort 
Hadoop versionhadoop version 
HBase versionhbase version 
HBase Java versionhbase -version 
Default Java versionjava -version 

 

Cluster Configuration Checking

 

The Trafodion Scanner checks the cluster for attributes that will commonly cause Trafodion installation issues, runtime performance problems, and so on. These attributes are divided into two categories: required and recommended. The checks for required attributes have a severity level of [error], while the checks for recommended attributes have a severity level of [warning]. Checks are done by executing one or more commands on each node in the cluster and comparing the output against an expected result. The following checks are carried out per the default configuration file:

 

NameDescriptionSeverityNotes
HardwarePlatformSupported hardware platform[error]Execute command uname -i and check that the result equals "x86_64". The only supported platform is x86-64.
MinNumCoresMinimum number of cores[warning]Execute command grep -c '^processor' /proc/cpuinfo and check that the result is at least 2. This is the minimum recommended value.
MinGBTotalPhysicalMemoryMinimum GB of total physical memory[warning]Execute command grep MemTotal /proc/meminfo | awk '{printf ("%.0f",$2/(1024*1024))}' and check that the result, rounded to the nearest integer, is at least 16. This is the minimum recommended value.
LinuxDistroSupported Linux distribution[error]Execute command lsb_release -a and check that the result contains either "Red" or "CentOS". Red Hat and CentOS are the only supported Linux distributions.
ValidHostnameFQDNConfigValid hostname FQDN configuration[warning]Check that the hostname configuration is valid with respect to the fully qualified domain name (FQDN). First, verify that the output of the commands hostname -f and hostname -s is not the same. That is, we expect hostname -f to return a fully qualified domain name and we expect hostname -s to return a short name. Second, verify that the output of the hostname -f command contains at least one "." character, which is expected to be present in a fully qualified domain name.
KernelPidMaxLimitUpper limit for kernel.pid_max setting[error]Execute command /sbin/sysctl -n kernel.pid_max and check that the result is not greater than 65535. This is the maximum supported value.
ntpdServiceRunningntpd service is running[error]Execute command /sbin/service ntpd status and check that the result contains the string "is running".
iptablesFirewallNotEnablediptables firewall is not enabled[warning]Execute command sudo -n /sbin/service iptables status and check that the result either contains the strings "is not running" or "unrecognized service" (meaning that the iptables service is not running or not installed) or does not contain any lines that start with a number (meaning that the iptables service is running but no rules are configured).
HyperthreadingEnabledHyperthreading is enabled, if capability exists[warning]Examine /proc/cpuinfo to determine whether the Hyperthreading capability exists. If so, check that Hyperthreading is enabled by examining /proc/cpuinfo. Hyperthreading is recommended for maximum performance.
HadoopDistroSupported Hadoop distribution[error]Execute command hadoop version and check that the result contains either "hortonworks" (which indicates Hortonworks Data Platform (HDP)) or "cloudera" (which indicates Cloudera Distribution Including Apache Hadoop (CDH)). These are the only supported Hadoop distributions.
HBaseVersionSupported HBase version[error]Check that the version of HBase is compatible with the Trafodion Release. The HBase version is obtained by executing the hbase version command.
HBaseJavaVersionSupported HBase Java version[error]Check that the version of Java used by HBase is 1.7. The HBase Java version is obtained by executing the hbase -version command.
YumAndInternetConnectionYum and Internet connection[warning]If the yumdownloader utility is installed, use it to download the "pdsh" package (and then delete it immediately). This checks that Yum is configured properly and that it's possible to access the Internet. Otherwise, use the wgetutility to check if the webpage "http://downloads.trafodion.org" is accessible. This verifies Internet connectivity.

 

Cluster Consistency Checking

 

The Trafodion Scanner checks the consistency among cluster nodes for attributes that will commonly cause Trafodion installation issues, runtime performance problems, and so on. These attributes are divided into two categories: required and recommended. The checks for required attributes have a severity level of [error], while the checks for recommended attributes have a severity level of [warning]. Checks are done by executing one or more commands on each node in the cluster and comparing the output among these nodes. The following checks are carried out per the default configuration file:

 

NameDescriptionSeverityNotes
SameHadoopVersionSame Hadoop version[error]Check that the Hadoop version is the same on all cluster nodes, based on output from the hadoop versioncommand.
SameHBaseVersionSame HBase version[error]Check that the HBase version is the same on all cluster nodes, based on output from the hbase versioncommand.