Monitors the health state of HiveServer2 process.
This monitor checks the health state of HiveServer2 process on the headnode. HiveServer2 is enabler for ODBC connectivity to Hadoop Hive. If this service is not running, Hive is still functional but external business intelligence tools such as Excel, SSAS, and SSIS (to name some of those) cannot interact with the cluster using Hive queries.
HDInsight Appliance
Monitor is active and reports actual component state.
HDInsight Azure
This monitor is not available in HDInsight clusters on Azure, so diagnostic and resolution steps below do not apply to this type of environment.
HiveServer2 service may be offline due to various reasons:
Maintenance action is in progress, performed by HDInsight cluster administrator. Please consider switching your cluster to maintenance mode to avoid alerting in case of regular maintenance procedures.
Failures on physical/virtual cluster infrastructure (fabric layer, i.e. head node) which is hosting this component.
Inappropriate configuration (hive-site.xml).
If HiveServer2 is not stopped on purpose, review component logs to diagnose the issue:
Connect remotely to the head node and review HiveServer2 logs searching for cause of failure. HiveServer2 logs are in the common Hive log file which is located here: <OS disk>:\hadoop\hive-<hive version>\logs\hive.log
Connecting remotely to the head node is a two-step operation:
Use Remote Desktop Connection to login into secure node of the HDInsight cluster.
Use another Remote Desktop Connection from the secure node to connect to the head node virtual machine.
To resolve the issue:
Based on findings in diagnose step, fix all problems that caused HiveServer2 to fail and start it again using Start HDInsight Host Component action available on the task pane.
If procedure from above doesn’t solve the issue, please contact Microsoft Support team and provide them with alert name and details. Be aware that diagnostic action may require administrator permissions on HDInsight cluster.
Target | Microsoft.HDInsight.HostComponent.HiveServer | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.HDInsight.UnitMonitorType.HostComponentHealthState | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.HDInsight.UnitMonitor.HiveServerComponentHealthState" TypeID="Microsoft.HDInsight.UnitMonitorType.HostComponentHealthState" Target="Microsoft.HDInsight.HostComponent.HiveServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" Accessibility="Public" Enabled="true" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.HDInsight.UnitMonitor.HiveServerComponentHealthState.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Microsoft.HDInsight.Host.Private"]/HostName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="Microsoft.HDInsight.Host.Private"]/ClusterName$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='$Target/Property[Type="Microsoft.HDInsight.HostComponent"]/ComponentName$']$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Unhealthy" MonitorTypeStateID="Unhealthy" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>