DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
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:
- 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.
- All of the specified nodes can be accessed via passwordless ssh.
- The user running this script has full sudo access, and it is correctly configured on all of the specified nodes.
- 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
- If any checks FAILED with [error], it is required that you correct the relevant cluster attributes before continuing with the Trafodion installation. For example, the sample output above shows that the HardwarePlatform check failed with [error] on node4.
- If any checks FAILED with [warning], it is recommended that you correct the relevant cluster attributes before continuing with the Trafodion installation. For example, the sample output above shows that the YumAndInternetConnection check failed with [warning] on node1 and node3 and that the MinNumCores check failed with [warning] on node4.
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).
- Change to the installer tools directory:
cd $HOME/trafodion_downloads/installer/tools
- 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 Recording, Cluster 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 Collected | Command Executed | Notes |
|---|---|---|
| Number of cores | grep -c '^processor' /proc/cpuinfo | |
| GB of total physical memory | grep 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 distribution | lsb_release -a | |
| User limit settings | ulimit -a | |
| System information | uname -a | |
| Kernel parameters | /sbin/sysctl -a | |
| Network configuration | /sbin/ip addr show | |
| Available filesystems | df -h | |
| Installed RPMs | rpm -qa | sort | |
| Hadoop version | hadoop version | |
| HBase version | hbase version | |
| HBase Java version | hbase -version | |
| Default Java version | java -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:
| Name | Description | Severity | Notes |
|---|---|---|---|
| HardwarePlatform | Supported hardware platform | [error] | Execute command uname -i and check that the result equals "x86_64". The only supported platform is x86-64. |
| MinNumCores | Minimum 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. |
| MinGBTotalPhysicalMemory | Minimum 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. |
| LinuxDistro | Supported 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. |
| ValidHostnameFQDNConfig | Valid 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. |
| KernelPidMaxLimit | Upper 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. |
| ntpdServiceRunning | ntpd service is running | [error] | Execute command /sbin/service ntpd status and check that the result contains the string "is running". |
| iptablesFirewallNotEnabled | iptables 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). |
| HyperthreadingEnabled | Hyperthreading 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. |
| HadoopDistro | Supported 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. |
| HBaseVersion | Supported 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. |
| HBaseJavaVersion | Supported 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. |
| YumAndInternetConnection | Yum 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:
| Name | Description | Severity | Notes |
|---|---|---|---|
| SameHadoopVersion | Same Hadoop version | [error] | Check that the Hadoop version is the same on all cluster nodes, based on output from the hadoop versioncommand. |
| SameHBaseVersion | Same HBase version | [error] | Check that the HBase version is the same on all cluster nodes, based on output from the hbase versioncommand. |