You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by tb...@apache.org on 2014/05/28 19:07:08 UTC

git commit: AMBARI-5874 - Discover additional components for HA cluster (Anatoly Nikonorov via tbeerbower)

Repository: ambari
Updated Branches:
  refs/heads/trunk c8e86f8ff -> ad089e812


AMBARI-5874 - Discover additional components for HA cluster (Anatoly Nikonorov via tbeerbower)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ad089e81
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ad089e81
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ad089e81

Branch: refs/heads/trunk
Commit: ad089e812b7fb18ed4c4fa28be00ae7cf6d048b8
Parents: c8e86f8
Author: tbeerbower <tb...@hortonworks.com>
Authored: Wed May 28 13:05:46 2014 -0400
Committer: tbeerbower <tb...@hortonworks.com>
Committed: Wed May 28 13:06:29 2014 -0400

----------------------------------------------------------------------
 .../HadoopMp/Classes/ClusterService.mpx         | 37 +++++++++++++++++
 .../HadoopMp/Classes/HostComponent.mpx          | 43 +++++++++++++++++---
 .../Hadoop_MP/HadoopMp/HadoopMp.mpproj          | 32 +++++++++++++++
 .../Hadoop_MP/HadoopMp/Images/Icons.mpx         | 22 ++++++++++
 .../Scripts/ClusterServicesDiscovery.ps1        |  1 +
 .../Scripts/HostComponentsDiscovery.ps1         | 13 +++---
 .../Shared Scripts/DiscoveryHelpers.ps1         |  5 +++
 ...ridLayout05CellWideTopSmallTopLeftConfig.mpx |  6 +--
 .../Widgets/State/NameNodesState.mpx            | 23 +++++++++++
 .../Widgets/State/ResourceManagerState.mpx      | 23 +++++++++++
 10 files changed, 191 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/ClusterService.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/ClusterService.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/ClusterService.mpx
index e7610cf..847708c 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/ClusterService.mpx
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/ClusterService.mpx
@@ -39,6 +39,7 @@
         <ClassType ID="Ambari.SCOM.ClusterService.Sqoop" Accessibility="Public" Base="Ambari.SCOM.ClusterServiceBase" Hosted="true" Abstract="false" Singleton="false" />
         <ClassType ID="Ambari.SCOM.ClusterService.MapReduce2" Accessibility="Public" Base="Ambari.SCOM.ClusterService" Hosted="true" Abstract="false" Singleton="false" />
         <ClassType ID="Ambari.SCOM.ClusterService.Yarn" Accessibility="Public" Base="Ambari.SCOM.ClusterService" Hosted="true" Abstract="false" Singleton="false" />
+        <ClassType ID="Ambari.SCOM.ClusterService.ZooKeeper" Accessibility="Public" Base="Ambari.SCOM.ClusterService" Hosted="true" Abstract="false" Singleton="false" />
       </ClassTypes>
 
       <RelationshipTypes>
@@ -61,6 +62,14 @@
           <Source ID="Service" Type="Ambari.SCOM.ClusterService.Hdfs" />
           <Target ID="Component" Type="Ambari.SCOM.HostComponent.SecondaryNameNode" />
         </RelationshipType>
+        <RelationshipType ID="Ambari.SCOM.HdfsServiceContainsJournalNodeComponent" Base="System!System.Containment" Abstract="false" Accessibility="Public">
+          <Source ID="Service" Type="Ambari.SCOM.ClusterService.Hdfs" />
+          <Target ID="Component" Type="Ambari.SCOM.HostComponent.JournalNode" />
+        </RelationshipType>
+        <RelationshipType ID="Ambari.SCOM.HdfsServiceContainsZKFCComponent" Base="System!System.Containment" Abstract="false" Accessibility="Public">
+          <Source ID="Service" Type="Ambari.SCOM.ClusterService.Hdfs" />
+          <Target ID="Component" Type="Ambari.SCOM.HostComponent.ZKFC" />
+        </RelationshipType>
         <RelationshipType ID="Ambari.SCOM.MapReduceServiceContainsJobTrackerComponent" Base="System!System.Containment" Abstract="false" Accessibility="Public">
           <Source ID="Service" Type="Ambari.SCOM.ClusterService.MapReduce" />
           <Target ID="Component" Type="Ambari.SCOM.HostComponent.JobTracker" />
@@ -93,6 +102,14 @@
           <Source ID="Service" Type="Ambari.SCOM.ClusterService.Yarn" />
           <Target ID="Component" Type="Ambari.SCOM.HostComponent.ResourceManager" />
         </RelationshipType>
+        <RelationshipType ID="Ambari.SCOM.ZooKeeperServiceContainsZooKeeperClientComponent" Base="System!System.Containment" Abstract="false" Accessibility="Public">
+          <Source ID="Service" Type="Ambari.SCOM.ClusterService.ZooKeeper" />
+          <Target ID="Component" Type="Ambari.SCOM.HostComponent.ZooKeeperClient" />
+        </RelationshipType>
+        <RelationshipType ID="Ambari.SCOM.ZooKeeperServiceContainsZooKeeperServerComponent" Base="System!System.Containment" Abstract="false" Accessibility="Public">
+          <Source ID="Service" Type="Ambari.SCOM.ClusterService.ZooKeeper" />
+          <Target ID="Component" Type="Ambari.SCOM.HostComponent.ZooKeeperServer" />
+        </RelationshipType>
       </RelationshipTypes>
     </EntityTypes>
   </TypeDefinitions>
@@ -117,6 +134,8 @@
       <ImageReference ElementID="Ambari.SCOM.ClusterService.MapReduce2" ImageID="Ambari.SCOM.Resources.Images.Mapreduce2ServiceDiagramIcon" />
       <ImageReference ElementID="Ambari.SCOM.ClusterService.Yarn" ImageID="Ambari.SCOM.Resources.Images.YarnService16Icon" />
       <ImageReference ElementID="Ambari.SCOM.ClusterService.Yarn" ImageID="Ambari.SCOM.Resources.Images.YarnServiceDiagramIcon" />
+      <ImageReference ElementID="Ambari.SCOM.ClusterService.ZooKeeper" ImageID="Ambari.SCOM.Resources.Images.ZooKeeperService16Icon" />
+      <ImageReference ElementID="Ambari.SCOM.ClusterService.ZooKeeper" ImageID="Ambari.SCOM.Resources.Images.ZooKeeperServiceDiagramIcon" />
     </ImageReferences>
   </Presentation>
 
@@ -190,12 +209,24 @@
           <Name>Hadoop Sqoop Cluster Service</Name>
           <Description>This class represents Hadoop Sqoop Service.</Description>
         </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.ClusterService.ZooKeeper">
+          <Name>Hadoop ZooKeeper Cluster Service</Name>
+          <Description>This class represents Hadoop ZooKeeper Service.</Description>
+        </DisplayString>
+
         <DisplayString ElementID="Ambari.SCOM.HdfsServiceContainsNameNodeComponent">
           <Name>Hadoop HDFS Cluster Service Contains NameNode Host Component</Name>
         </DisplayString>
         <DisplayString ElementID="Ambari.SCOM.HdfsServiceContainsSecondaryNameNodeComponent">
           <Name>Hadoop HDFS Cluster Service Contains Secondary NameNode Host Component</Name>
         </DisplayString>
+        
+        <DisplayString ElementID="Ambari.SCOM.HdfsServiceContainsJournalNodeComponent">
+          <Name>Hadoop HDFS Cluster Service Contains JournalNode Host Component</Name>
+        </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.HdfsServiceContainsZKFCComponent">
+          <Name>Hadoop HDFS Cluster Service Contains ZKFC Host Component</Name>
+        </DisplayString>
         <DisplayString ElementID="Ambari.SCOM.MapReduceServiceContainsJobTrackerComponent">
           <Name>Hadoop MapReduce Cluster Service Contains JobTracker Host Component</Name>
         </DisplayString>
@@ -220,6 +251,12 @@
         <DisplayString ElementID="Ambari.SCOM.YarnServiceContainsResourceManagerComponent">
           <Name>Hadoop YARN Service Contains Resource Manager Host Component</Name>
         </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.ZooKeeperServiceContainsZooKeeperClientComponent">
+          <Name>Hadoop ZooKeeper Service Contains ZooKeeper Client Host Component</Name>
+        </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.ZooKeeperServiceContainsZooKeeperServerComponent">
+          <Name>Hadoop ZooKeeper Service Contains ZooKeeper Server Host Component</Name>
+        </DisplayString>
       </DisplayStrings>
     </LanguagePack>
   </LanguagePacks>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/HostComponent.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/HostComponent.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/HostComponent.mpx
index 6330d3d..cc0c631 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/HostComponent.mpx
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Classes/HostComponent.mpx
@@ -21,6 +21,7 @@
         <ClassType ID="Ambari.SCOM.HostComponent" Accessibility="Public" Base="Ambari.SCOM.AmbariManagedEntity" Hosted="true" Abstract="true" Singleton="false">
           <Property ID="ClusterName" Type="string" Comment="Required to show parent cluster name on State Widget" />
           <Property ID="ComponentName" Type="string" Key="true" />
+          <Property ID="ParentHostName" Type="string" Key="false" />
         </ClassType>
 
         <ClassType ID="Ambari.SCOM.ActiveHostComponent" Accessibility="Public" Base="Ambari.SCOM.HostComponent" Hosted="true" Abstract="true" Singleton="false"
@@ -46,11 +47,13 @@
         <ClassType ID="Ambari.SCOM.HostComponent.Sqoop" Accessibility="Public" Base="Ambari.SCOM.HostComponent" Hosted="true" Abstract="false" Singleton="false" />
         <ClassType ID="Ambari.SCOM.HostComponent.HistoryServer" Accessibility="Public" Base="Ambari.SCOM.HeadNodeComponent" Hosted="true" Abstract="false" Singleton="false" />
         <ClassType ID="Ambari.SCOM.HostComponent.MapReduce2Client" Accessibility="Public" Base="Ambari.SCOM.HostComponent" Hosted="true" Abstract="false" Singleton="false" />
-        <ClassType ID="Ambari.SCOM.HostComponent.NodeManager" Accessibility="Public" Base="Ambari.SCOM.HeadNodeComponent" Hosted="true" Abstract="false" Singleton="false">
-          <Property ID="ParentHostName" Type="string" Key="false" />
-        </ClassType>
+        <ClassType ID="Ambari.SCOM.HostComponent.NodeManager" Accessibility="Public" Base="Ambari.SCOM.HeadNodeComponent" Hosted="true" Abstract="false" Singleton="false"/>
         <ClassType ID="Ambari.SCOM.HostComponent.ResourceManager" Accessibility="Public" Base="Ambari.SCOM.HeadNodeComponent" Hosted="true" Abstract="false" Singleton="false" />
         <ClassType ID="Ambari.SCOM.HostComponent.YarnClient" Accessibility="Public" Base="Ambari.SCOM.HostComponent" Hosted="true" Abstract="false" Singleton="false" />
+        <ClassType ID="Ambari.SCOM.HostComponent.ZooKeeperClient" Accessibility="Public" Base="Ambari.SCOM.HostComponent" Hosted="true" Abstract="false" Singleton="false" />
+        <ClassType ID="Ambari.SCOM.HostComponent.ZooKeeperServer" Accessibility="Public" Base="Ambari.SCOM.ActiveHostComponent" Hosted="true" Abstract="false" Singleton="false" />
+        <ClassType ID="Ambari.SCOM.HostComponent.JournalNode" Accessibility="Public" Base="Ambari.SCOM.HostComponent" Hosted="true" Abstract="false" Singleton="false" />
+        <ClassType ID="Ambari.SCOM.HostComponent.ZKFC" Accessibility="Public" Base="Ambari.SCOM.HostComponent" Hosted="true" Abstract="false" Singleton="false" />
       </ClassTypes>
 
       <RelationshipTypes>
@@ -98,6 +101,16 @@
       <ImageReference ElementID="Ambari.SCOM.HostComponent.ResourceManager" ImageID="Ambari.SCOM.Resources.Images.ResourceManagerDiagramIcon" />
       <ImageReference ElementID="Ambari.SCOM.HostComponent.YarnClient" ImageID="Ambari.SCOM.Resources.Images.YarnClient16Icon" />
       <ImageReference ElementID="Ambari.SCOM.HostComponent.YarnClient" ImageID="Ambari.SCOM.Resources.Images.YarnClientDiagramIcon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.ZooKeeperClient" ImageID="Ambari.SCOM.Resources.Images.ZooKeeperClient16Icon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.ZooKeeperClient" ImageID="Ambari.SCOM.Resources.Images.ZooKeeperClientDiagramIcon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.ZooKeeperServer" ImageID="Ambari.SCOM.Resources.Images.ZooKeeperServer16Icon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.ZooKeeperServer" ImageID="Ambari.SCOM.Resources.Images.ZooKeeperServerDiagramIcon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.JournalNode" ImageID="Ambari.SCOM.Resources.Images.JournalNode16Icon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.JournalNode" ImageID="Ambari.SCOM.Resources.Images.JournalNodeDiagramIcon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.ZKFC" ImageID="Ambari.SCOM.Resources.Images.ZKFC16Icon" />
+      <ImageReference ElementID="Ambari.SCOM.HostComponent.ZKFC" ImageID="Ambari.SCOM.Resources.Images.ZKFCDiagramIcon" />
+
+  
     </ImageReferences>
   </Presentation>
 
@@ -115,6 +128,11 @@
         <DisplayString ElementID="Ambari.SCOM.HostComponent" SubElementID="ComponentName">
           <Name>Component Name</Name>
         </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.HostComponent" SubElementID="ParentHostName">
+          <Name>Host Name</Name>
+        </DisplayString>
+
+
 
         <DisplayString ElementID="Ambari.SCOM.ActiveHostComponent">
           <Name>Hadoop Active Host Component</Name>
@@ -188,9 +206,6 @@
           <Name>Hadoop Node Manager Service</Name>
           <Description>This class represents Hadoop Node Manager Service running on the Host.</Description>
         </DisplayString>
-        <DisplayString ElementID="Ambari.SCOM.HostComponent.NodeManager" SubElementID="ParentHostName">
-          <Name>Host Name</Name>
-        </DisplayString>
         <DisplayString ElementID="Ambari.SCOM.HostComponent.ResourceManager">
           <Name>Hadoop Resource Manager Service</Name>
           <Description>This class represents Hadoop Resource Manager Service running on the Host.</Description>
@@ -199,6 +214,22 @@
           <Name>YARN Client Component</Name>
           <Description>This class represents Hadoop YARN Client Component on the Host.</Description>
         </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.HostComponent.ZooKeeperClient">
+          <Name>ZooKeeper Client Component</Name>
+          <Description>This class represents Hadoop ZooKeeper Client Component on the Host.</Description>
+        </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.HostComponent.ZooKeeperServer">
+          <Name>ZooKeeper Server Component</Name>
+          <Description>This class represents Hadoop ZooKeeper Server Component on the Host.</Description>
+        </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.HostComponent.JournalNode">
+          <Name>JournalNode Component</Name>
+          <Description>This class represents Hadoop JournalNode Component on the Host.</Description>
+        </DisplayString>
+        <DisplayString ElementID="Ambari.SCOM.HostComponent.ZKFC">
+          <Name>ZKFC Component</Name>
+          <Description>This class represents Hadoop ZooKeeper Failover Controller Component on the Host.</Description>
+        </DisplayString>
         <DisplayString ElementID="Ambari.SCOM.HostHostsHostComponent">
           <Name>Host hosts HostComponent relation</Name>
           <Description>Host hosts HostComponent relation</Description>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/HadoopMp.mpproj
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/HadoopMp.mpproj b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/HadoopMp.mpproj
index 7a821aa..8b4320c 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/HadoopMp.mpproj
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/HadoopMp.mpproj
@@ -1015,5 +1015,37 @@
       <SubType>Content</SubType>
     </EmbeddedResource>
   </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Images\JournalNode.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\JournalNode_.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperClient.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperClient_.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperFailoverController.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperFailoverController_.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperServer.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperServer_.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperService.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Images\ZooKeeperService_.png">
+      <SubType>Content</SubType>
+    </EmbeddedResource>
+  </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath)\Microsoft\VSAC\Microsoft.SystemCenter.OperationsManager.targets" />
 </Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Images/Icons.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Images/Icons.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Images/Icons.mpx
index 30a8968..354336e 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Images/Icons.mpx
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Images/Icons.mpx
@@ -76,6 +76,17 @@
     <Category ID="Ambari.SCOM.Resources.Images.YarnClientDiagramIconCategory" Target="Ambari.SCOM.Resources.Images.YarnClientDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
     <Category ID="Ambari.SCOM.Resources.Images.HistoryServer16IconCategory" Target="Ambari.SCOM.Resources.Images.HistoryServer16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
     <Category ID="Ambari.SCOM.Resources.Images.HistoryServerDiagramIconCategory" Target="Ambari.SCOM.Resources.Images.HistoryServerDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
+    <Category ID="Ambari.SCOM.Resources.Images.JournalNode16IconCategory" Target="Ambari.SCOM.Resources.Images.JournalNode16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
+    <Category ID="Ambari.SCOM.Resources.Images.JournalNodeDiagramIconCategory" Target="Ambari.SCOM.Resources.Images.JournalNodeDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZooKeeperService16IconCategory" Target="Ambari.SCOM.Resources.Images.ZooKeeperService16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZooKeeperServiceDiagramIconCategory" Target="Ambari.SCOM.Resources.Images.ZooKeeperServiceDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZooKeeperServer16IconCategory" Target="Ambari.SCOM.Resources.Images.ZooKeeperServer16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZooKeeperServerDiagramIconCategory" Target="Ambari.SCOM.Resources.Images.ZooKeeperServerDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZooKeeperClient16IconCategory" Target="Ambari.SCOM.Resources.Images.ZooKeeperClient16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZooKeeperClientDiagramIconCategory" Target="Ambari.SCOM.Resources.Images.ZooKeeperClientDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZKFC16IconCategory" Target="Ambari.SCOM.Resources.Images.ZKFC16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
+    <Category ID="Ambari.SCOM.Resources.Images.ZKFCDiagramIconCategory" Target="Ambari.SCOM.Resources.Images.ZKFCDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
+
   </Categories>
 
   <Resources>
@@ -139,6 +150,17 @@
     <Image ID="Ambari.SCOM.Resources.Images.YarnClientDiagramIcon" FileName="YarnClient.png" Accessibility="Public" />
     <Image ID="Ambari.SCOM.Resources.Images.HistoryServer16Icon" FileName="HistoryServer_.png" Accessibility="Public" />
     <Image ID="Ambari.SCOM.Resources.Images.HistoryServerDiagramIcon" FileName="HistoryServer.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.JournalNode16Icon" FileName="JournalNode_.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.JournalNodeDiagramIcon" FileName="JournalNode.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZooKeeperService16Icon" FileName="ZooKeeperService_.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZooKeeperServiceDiagramIcon" FileName="ZooKeeperService.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZooKeeperServer16Icon" FileName="ZooKeeperServer_.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZooKeeperServerDiagramIcon" FileName="ZooKeeperServer.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZooKeeperClient16Icon" FileName="ZooKeeperClient_.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZooKeeperClientDiagramIcon" FileName="ZooKeeperClient.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZKFC16Icon" FileName="ZooKeeperFailoverController_.png" Accessibility="Public" />
+    <Image ID="Ambari.SCOM.Resources.Images.ZKFCDiagramIcon" FileName="ZooKeeperFailoverController.png" Accessibility="Public" />
+
   </Resources>
   
 </ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/ClusterServicesDiscovery.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/ClusterServicesDiscovery.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/ClusterServicesDiscovery.ps1
index 751b1e4..13dfc37 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/ClusterServicesDiscovery.ps1
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/ClusterServicesDiscovery.ps1
@@ -66,6 +66,7 @@ function GetServiceClassId($monitoringUri) {
         'sqoop' { '$MPElement[Name="Ambari.SCOM.ClusterService.Sqoop"]$' }
         'mapreduce2' { '$MPElement[Name="Ambari.SCOM.ClusterService.MapReduce2"]$' }
         'yarn' { '$MPElement[Name="Ambari.SCOM.ClusterService.Yarn"]$' }
+		'zookeeper' { '$MPElement[Name="Ambari.SCOM.ClusterService.ZooKeeper"]$' }
         default: { $null }
     }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/HostComponentsDiscovery.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/HostComponentsDiscovery.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/HostComponentsDiscovery.ps1
index 5ae54bd..09a747f 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/HostComponentsDiscovery.ps1
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Discovery/Scripts/HostComponentsDiscovery.ps1
@@ -39,11 +39,8 @@ function Main() {
         $componentEntity.AddProperty('$MPElement[Name="Ambari.SCOM.AmbariManagedEntity"]/AmbariUri$', $component.href)
         $componentEntity.AddProperty('$MPElement[Name="Ambari.SCOM.HostComponent"]/ClusterName$', $ClusterName)
         $componentEntity.AddProperty('$MPElement[Name="Ambari.SCOM.HostComponent"]/ComponentName$', $componentName)
+        $componentEntity.AddProperty('$MPElement[Name="Ambari.SCOM.HostComponent"]/ParentHostName$', $HostName)
         $componentEntity.AddProperty('$MPElement[Name="System!System.Entity"]/DisplayName$', (FormatHostComponentName $componentName))
-		if ($componentClassId -eq '$MPElement[Name="Ambari.SCOM.HostComponent.NodeManager"]$') 
-		{ 
-	        $componentEntity.AddProperty('$MPElement[Name="Ambari.SCOM.HostComponent.NodeManager"]/ParentHostName$', $HostName)
-		}
         $discoveryData.AddInstance($componentEntity)
 
         $parentServiceName = GetParentServiceName $componentName
@@ -82,13 +79,17 @@ function GetComponentClassId($componentName) {
         'nodemanager' { '$MPElement[Name="Ambari.SCOM.HostComponent.NodeManager"]$' }
         'resourcemanager' { '$MPElement[Name="Ambari.SCOM.HostComponent.ResourceManager"]$' }
         'yarn_client' { '$MPElement[Name="Ambari.SCOM.HostComponent.YarnClient"]$' }
+        'zookeeper_client' { '$MPElement[Name="Ambari.SCOM.HostComponent.ZooKeeperClient"]$' }
+        'zookeeper_server' { '$MPElement[Name="Ambari.SCOM.HostComponent.ZooKeeperServer"]$' }
+        'zkfc' { '$MPElement[Name="Ambari.SCOM.HostComponent.ZKFC"]$' }
+        'journalnode' { '$MPElement[Name="Ambari.SCOM.HostComponent.JournalNode"]$' }
         default { $null }
     }
 }
 
 function GetParentServiceName($componentName) {
     switch ($componentName) {
-        { 'namenode', 'secondary_namenode', 'datanode' -contains $_ } { 'HDFS' }
+        { 'namenode', 'secondary_namenode', 'datanode', 'zkfc', 'journalnode'  -contains $_ } { 'HDFS' }
         { 'jobtracker', 'tasktracker' -contains $_ } { 'MAPREDUCE' }
         { 'hive_server', 'hive_metastore', 'hive_client' -contains $_ } { 'HIVE' }
         'templeton' { 'TEMPLETON' }
@@ -98,6 +99,7 @@ function GetParentServiceName($componentName) {
         'sqoop' { 'SQOOP' }
         { 'historyserver', 'mapreduce2_client' -contains $_ } { 'MAPREDUCE2' }
         { 'nodemanager', 'resourcemanager', 'yarn_client' -contains $_ } { 'YARN' }
+        { 'zookeeper_server', 'zookeeper_client' -contains $_ } { 'ZOOKEEPER' }
         default { $null }
     }
 }
@@ -113,6 +115,7 @@ function CreateParentService($discoveryData, $serviceName) {
         'sqoop' { '$MPElement[Name="Ambari.SCOM.ClusterService.Sqoop"]$' }
         'mapreduce2' { '$MPElement[Name="Ambari.SCOM.ClusterService.MapReduce2"]$' }
         'yarn' { '$MPElement[Name="Ambari.SCOM.ClusterService.Yarn"]$' }
+        'zookeeper' { '$MPElement[Name="Ambari.SCOM.ClusterService.ZooKeeper"]$' }
     }
 
     $serviceDisplayName = FormatClusterServiceName $serviceName

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Shared Scripts/DiscoveryHelpers.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Shared Scripts/DiscoveryHelpers.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Shared Scripts/DiscoveryHelpers.ps1
index 55466cf..d7a3419 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Shared Scripts/DiscoveryHelpers.ps1	
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Shared Scripts/DiscoveryHelpers.ps1	
@@ -37,6 +37,7 @@ function FormatClusterServiceName($serviceName) {
         'sqoop' { 'Sqoop' }
         'mapreduce2' { 'MapReduce 2' }
         'yarn' { 'YARN' }
+		'zookeeper' { 'ZooKeeper' }
         default { $serviceName }
     }
 }
@@ -61,6 +62,10 @@ function FormatHostComponentName($componentName) {
         'nodemanager' { 'Node Manager' }
         'resourcemanager' { 'Resource Manager' }
         'yarn_client' { 'YARN Client' }
+        'zookeeper_client' { 'ZooKeeper Client' }
+        'zookeeper_server' { 'ZooKeeper Server' }
+        'zkfc' { 'ZKFC' }
+        'journalnode' { 'JournalNode' }
         default { $componentName }
     }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
index 64ed050..e6569da 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
@@ -49,7 +49,7 @@
                     <SimpleValue Type="xsd://int" Value="1" />
                   </Binding>
                   <Binding PropertyId="RowSpan">
-                    <SimpleValue Type="xsd://int" Value="1" />
+                    <SimpleValue Type="xsd://int" Value="3" />
                   </Binding>
                   <Binding PropertyId="Column">
                     <SimpleValue Type="xsd://int" Value="0" />
@@ -74,10 +74,10 @@
                 </ComplexValue>
                 <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
                   <Binding PropertyId="Row">
-                    <SimpleValue Type="xsd://int" Value="2" />
+                    <SimpleValue Type="xsd://int" Value="4" />
                   </Binding>
                   <Binding PropertyId="RowSpan">
-                    <SimpleValue Type="xsd://int" Value="3" />
+                    <SimpleValue Type="xsd://int" Value="1" />
                   </Binding>
                   <Binding PropertyId="Column">
                     <SimpleValue Type="xsd://int" Value="0" />

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx
index d49b3eb..5a00c07 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/NameNodesState.mpx
@@ -93,6 +93,29 @@
                 </ComplexValue>
                 <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
                   <Binding PropertyId="HeaderDisplayObject">
+                    <SimpleValue Type="xsd://string" Value="$MPReference/Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.StringResource.NodeManagersState.HostName/DisplayName$" />
+                  </Binding>
+                  <Binding PropertyId="PropertyName">
+                    <SimpleValue Type="xsd://string" Value="ParentHostName" />
+                  </Binding>
+                  <Binding PropertyId="XPath">
+                    <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ParentHostName']$" />
+                  </Binding>
+                  <Binding PropertyId="SourceType">
+                    <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+                  </Binding>
+                  <Binding PropertyId="SortableGroupable">
+                    <SimpleValue Type="xsd://boolean" Value="True" />
+                  </Binding>
+                  <Binding PropertyId="CanResize">
+                    <SimpleValue Type="xsd://boolean" Value="True" />
+                  </Binding>
+                  <Binding PropertyId="Width">
+                    <SimpleValue Type="xsd://string" Value="Auto" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+                  <Binding PropertyId="HeaderDisplayObject">
                     <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.InMaintenanceMode/DisplayName$" />
                   </Binding>
                   <Binding PropertyId="SortableGroupable">

http://git-wip-us.apache.org/repos/asf/ambari/blob/ad089e81/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/ResourceManagerState.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/ResourceManagerState.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/ResourceManagerState.mpx
index aadec40..0d0ffd9 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/ResourceManagerState.mpx
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Widgets/State/ResourceManagerState.mpx
@@ -93,6 +93,29 @@
                 </ComplexValue>
                 <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
                   <Binding PropertyId="HeaderDisplayObject">
+                    <SimpleValue Type="xsd://string" Value="$MPReference/Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.StringResource.NodeManagersState.HostName/DisplayName$" />
+                  </Binding>
+                  <Binding PropertyId="PropertyName">
+                    <SimpleValue Type="xsd://string" Value="ParentHostName" />
+                  </Binding>
+                  <Binding PropertyId="XPath">
+                    <SimpleValue Type="xsd://string" Value="$Object/PropertyCollection[Name='ParentHostName']$" />
+                  </Binding>
+                  <Binding PropertyId="SourceType">
+                    <SimpleValue Type="xsd://string" Value="ManagedEntity" />
+                  </Binding>
+                  <Binding PropertyId="SortableGroupable">
+                    <SimpleValue Type="xsd://boolean" Value="True" />
+                  </Binding>
+                  <Binding PropertyId="CanResize">
+                    <SimpleValue Type="xsd://boolean" Value="True" />
+                  </Binding>
+                  <Binding PropertyId="Width">
+                    <SimpleValue Type="xsd://string" Value="Auto" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/DataGridColumn">
+                  <Binding PropertyId="HeaderDisplayObject">
                     <SimpleValue Type="xsd://string" Value="$MPReference/Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.Library.Entity.InMaintenanceMode/DisplayName$" />
                   </Binding>
                   <Binding PropertyId="SortableGroupable">