Hadoop Common
  1. Hadoop Common
  2. HADOOP-7198

Hadoop defaults for web UI ports often fall smack in the middle of Linux ephemeral port range

    Details

    • Type: Wish Wish
    • Status: Open
    • Priority: Trivial Trivial
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      It turns out (see http://en.wikipedia.org/wiki/Ephemeral_port and /proc/sys/net/ipv4/ip_local_port_range) that when you bind to port 0, Linux chooses an ephemeral port. On my default-ridden Ubuntu Maverick box and on CentOS 5.5, that range is 32768-61000. So, when HBase binds to 60030 or when mapReduce binds to 50070, there's a small chance that you'll conflict with, say, an FTP session, or with some other Hadoop daemon that's had a listening address configured as :0.

      I don't know that there's a practical resolution here, since changing the defaults seems like an ill-fated effort, but if you have any ephemeral port use, you can run into this. We've now run into it once.

        Activity

        Philip Zeyliger created issue -
        Hide
        Allen Wittenauer added a comment -

        We often run into this problem when the local named caching daemon fires up first. The best solution is to pretty much make sure that Hadoop comes up first or configure the other service to use a limited set of ports.

        Any port that is picked is going to conflict with something when talking above the 1k port line.

        Show
        Allen Wittenauer added a comment - We often run into this problem when the local named caching daemon fires up first. The best solution is to pretty much make sure that Hadoop comes up first or configure the other service to use a limited set of ports. Any port that is picked is going to conflict with something when talking above the 1k port line.
        Hide
        Harsh J added a comment -

        I guess we could make a documentation note at most for this.

        Do you have any other ideas in mind?

        Show
        Harsh J added a comment - I guess we could make a documentation note at most for this. Do you have any other ideas in mind?
        Hide
        Harsh J added a comment -

        Any port that is picked is going to conflict with something when talking above the 1k port line.

        For Linux this may not hold true though, it seems to limit the ephemeral range from 32k onwards these days. But yeah, thats non-standard.

        Show
        Harsh J added a comment - Any port that is picked is going to conflict with something when talking above the 1k port line. For Linux this may not hold true though, it seems to limit the ephemeral range from 32k onwards these days. But yeah, thats non-standard.
        Hide
        Eric Sirianni added a comment -

        +1

        I've hit this several times now in our automated test environment when restarting the daemons. As Philip says, the default ports for most Hadoop daemons (e.g. 50010 for DataNode, etc.) fall within Linux's ephemeral port range. What's the downside to making the Hadoop default ports less than 32768 to remove the possibility of conflict with ephemeral ports?

        Show
        Eric Sirianni added a comment - +1 I've hit this several times now in our automated test environment when restarting the daemons. As Philip says, the default ports for most Hadoop daemons (e.g. 50010 for DataNode, etc.) fall within Linux's ephemeral port range. What's the downside to making the Hadoop default ports less than 32768 to remove the possibility of conflict with ephemeral ports?
        Hide
        Jonathan Kelly added a comment -

        Any chance we could start this long dead conversation back up? It looks like similar changes were made somewhat recently in HBASE-10123.

        Show
        Jonathan Kelly added a comment - Any chance we could start this long dead conversation back up? It looks like similar changes were made somewhat recently in HBASE-10123 .

          People

          • Assignee:
            Unassigned
            Reporter:
            Philip Zeyliger
          • Votes:
            2 Vote for this issue
            Watchers:
            20 Start watching this issue

            Dates

            • Created:
              Updated:

              Development