Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-10123

Change default ports; move them out of linux ephemeral port range

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 0.96.1.1
    • 0.99.0
    • None
    • None
    • Incompatible change, Reviewed
    • Hide
      After 0.98 hbase's default ports have changed to be outside of the ephemeral port range:.

      hbase.master.port : 60000 -> 16000
      hbase.master.info.port (http): 60010 -> 16010
      hbase.regionserver.port : 60020 -> 16020
      hbase.regionserver.info.port (http): 60030 -> 16030
      hbase.status.multicast.port : 60100 -> 16100


      To set the old defaults you can add this to your hbase-site.xml:

       <property >
          <name>hbase.master.port</name>
          <value>60000</value>
        </property>
        <property>
          <name>hbase.master.info.port</name>
          <value>60010</value>
        </property>
        <property>
          <name>hbase.regionserver.port</name>
          <value>60020</value>
        </property>
        <property>
          <name>hbase.regionserver.info.port</name>
          <value>60030</value>
        </property>
        

      HBase up to and including 0.98.x chose default tcp ports in the 600xx port range which conflicts with the standard unix/linux ephmeral port range of 49152-65535 or 32768-61000. This meant if any other processes chose to bind to a os specified port it could bind to the ports that hbase had as default. If hbase processes were restarted some hbase nodes would fail to start. The probability of this happening increases as the number of nodes in the cluster increases.
      Show
      After 0.98 hbase's default ports have changed to be outside of the ephemeral port range:. hbase.master.port : 60000 -> 16000 hbase.master.info.port (http): 60010 -> 16010 hbase.regionserver.port : 60020 -> 16020 hbase.regionserver.info.port (http): 60030 -> 16030 hbase.status.multicast.port : 60100 -> 16100 To set the old defaults you can add this to your hbase-site.xml:  <property >     <name>hbase.master.port</name>     <value>60000</value>   </property>   <property>     <name>hbase.master.info.port</name>     <value>60010</value>   </property>   <property>     <name>hbase.regionserver.port</name>     <value>60020</value>   </property>   <property>     <name>hbase.regionserver.info.port</name>     <value>60030</value>   </property>    HBase up to and including 0.98.x chose default tcp ports in the 600xx port range which conflicts with the standard unix/linux ephmeral port range of 49152-65535 or 32768-61000. This meant if any other processes chose to bind to a os specified port it could bind to the ports that hbase had as default. If hbase processes were restarted some hbase nodes would fail to start. The probability of this happening increases as the number of nodes in the cluster increases.

    Description

      Our defaults clash w/ the range linux assigns itself for creating come-and-go ephemeral ports; likely in our history we've clashed w/ a random, short-lived process. While easy to change the defaults, we should just ship w/ defaults that make sense. We could host ourselves up into the 7 or 8k range.

      See http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html

      Attachments

        1. hbase-10123.patch
          13 kB
          Jonathan Hsieh
        2. hbase-10123.v2.patch
          13 kB
          Jonathan Hsieh
        3. hbase-10123.v3.patch
          16 kB
          Jonathan Hsieh
        4. hbase-10123.v4.patch
          16 kB
          Jonathan Hsieh

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jmhsieh Jonathan Hsieh
            stack Michael Stack
            Votes:
            0 Vote for this issue
            Watchers:
            14 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment