Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-10181

GangliaContext does not work with multicast ganglia setup

    XMLWordPrintableJSON

Details

    • Reviewed
    • Hadoop metrics sent to Ganglia over multicast now support optional configuration of socket TTL. The default TTL is 1, which preserves the behavior of prior Hadoop versions. Clusters that span multiple subnets/VLANs will likely want to increase this.

    Description

      The GangliaContext class which is used to send Hadoop metrics to Ganglia uses a DatagramSocket to send these metrics. This works fine for Ganglia multicast setups that are all on the same VLAN. However, when working with multiple VLANs, a packet sent via DatagramSocket to a multicast address will end up with a TTL of 1. Multicast TTL indicates the number of network hops for which a particular multicast packet is valid. The packets sent by GangliaContext do not make it to ganglia aggregrators on the same multicast group, but in different VLANs.

      To fix, we'd need a configuration property that specifies that multicast is to be used, and another that allows setting of the multicast packet TTL. With these set, we could then use MulticastSocket setTimeToLive() instead of just plain ol' DatagramSocket.

      Attachments

        1. HADOOP-10181.001.patch
          14 kB
          Andrew Johnson
        2. HADOOP-10181.002.patch
          14 kB
          Andrew Johnson
        3. HADOOP-10181.003.patch
          14 kB
          Andrew Johnson

        Activity

          People

            ajsquared Andrew Johnson
            ottomata Andrew Otto
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: