HBase
  1. HBase
  2. HBASE-5839

Backup master not starting up due to Bind Exception while starting HttpServer

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: None
    • Labels:
      None

      Description

      Backup master tries to bind to the info port 60010.
      This is done once the back up master becomes active. Even before that the Data Xceviers threads (IPC handlers) are started and they are started at random port. If already 60010 is used then when standby master comes up then it fails due to bind exception.

        Activity

        ramkrishna.s.vasudevan created issue -
        Hide
        Uma Maheswara Rao G added a comment -

        Even before that the Data Xceviers threads (IPC handlers) are started and they are started at random port.

        DataXceiver server will listen on fixed port, 50010.

        Clients only will bind to random ports for short term. Even I have seen this situations some times in my clusters.

        We followed to set the fixed ports of servers at range of ~65000. It may just reduce the probability of clients to binding on the same ports. As per our observations, that random ports did not reach to this level. Not sure, is there any specific range for random ports.

        This problem may be unavoidable problem. Restart servers only the option. Let's see if anyone has some better idea to avoid this situation.

        Show
        Uma Maheswara Rao G added a comment - Even before that the Data Xceviers threads (IPC handlers) are started and they are started at random port. DataXceiver server will listen on fixed port, 50010. Clients only will bind to random ports for short term. Even I have seen this situations some times in my clusters. We followed to set the fixed ports of servers at range of ~65000. It may just reduce the probability of clients to binding on the same ports. As per our observations, that random ports did not reach to this level. Not sure, is there any specific range for random ports. This problem may be unavoidable problem. Restart servers only the option. Let's see if anyone has some better idea to avoid this situation.
        Hide
        Lars Hofhansl added a comment -

        Moving out of 0.94.1

        Show
        Lars Hofhansl added a comment - Moving out of 0.94.1
        Lars Hofhansl made changes -
        Field Original Value New Value
        Fix Version/s 0.94.2 [ 12321884 ]
        Fix Version/s 0.94.1 [ 12320257 ]
        Hide
        Lars Hofhansl added a comment -

        The "official" ephemeral port range is 49152-65535
        Mac OSX and FreeBSD use that range.
        On modern Linux' the ephemeral port range is 32768-61000

        No ports in this range should be used. So be safe we use some port in the registered range (which is 1024-49151 in the official range and 1024-32767 on Linux).

        At the very least we should only use 1023 < ports < 32768.

        Had a quick look at my /etc/services. For example MySQL claims port: 3306, while PostgreSQL claims 5432. Not sure what the process is to get an official port.

        Show
        Lars Hofhansl added a comment - The "official" ephemeral port range is 49152-65535 Mac OSX and FreeBSD use that range. On modern Linux' the ephemeral port range is 32768-61000 No ports in this range should be used. So be safe we use some port in the registered range (which is 1024-49151 in the official range and 1024-32767 on Linux). At the very least we should only use 1023 < ports < 32768. Had a quick look at my /etc/services. For example MySQL claims port: 3306, while PostgreSQL claims 5432. Not sure what the process is to get an official port.
        Hide
        Lars Hofhansl added a comment -

        I don't think we have any short term actionable items here. Moving out of 0.94

        Show
        Lars Hofhansl added a comment - I don't think we have any short term actionable items here. Moving out of 0.94
        Lars Hofhansl made changes -
        Fix Version/s 0.94.2 [ 12321884 ]
        stack made changes -
        Fix Version/s 0.95.0 [ 12324094 ]
        Fix Version/s 0.96.0 [ 12320040 ]
        Lars Hofhansl made changes -
        Fix Version/s 0.94.2 [ 12321884 ]
        Lars Hofhansl made changes -
        Fix Version/s 0.94.2 [ 12321884 ]
        stack made changes -
        Fix Version/s 0.95.1 [ 12324288 ]
        Fix Version/s 0.95.0 [ 12324094 ]
        stack made changes -
        Fix Version/s 0.95.2 [ 12320040 ]
        Fix Version/s 0.95.1 [ 12324288 ]
        stack made changes -
        Fix Version/s 0.96.0 [ 12324822 ]
        Fix Version/s 0.95.2 [ 12320040 ]
        stack made changes -
        Fix Version/s 0.96.1 [ 12324961 ]
        Fix Version/s 0.96.0 [ 12324822 ]
        stack made changes -
        Fix Version/s 0.99.0 [ 12325675 ]
        Fix Version/s 0.96.1 [ 12324961 ]
        Enis Soztutar made changes -
        Fix Version/s 2.0.0 [ 12327188 ]
        Fix Version/s 0.99.0 [ 12325675 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            ramkrishna.s.vasudevan
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Development