瀏覽代碼

commit 2dca6e4024b79da6b8503d634c1215eeafd7bc1a
Author: Lee Tucker <ltucker@yahoo-inc.com>
Date: Thu Jul 30 17:40:12 2009 -0700

Applying patch 2532950.2898.patch


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-patches@1076910 13f79535-47bb-0310-9956-ffa450edef68

Owen O'Malley 14 年之前
父節點
當前提交
768b45d1de

+ 3 - 0
src/contrib/hod/bin/hod

@@ -350,6 +350,9 @@ defList = { 'hod' : (
              ('http-port-range', 'range', 'HTTP port range n-m.',
               False, None, True, True),
               
+             ('hadoop-port-range', 'range', 'Hadoop port range n-m.',
+              False, None, True, True),  
+            
              ('service-id', 'string', 'Service ID.',
               False, None, False, True),
               

+ 3 - 0
src/contrib/hod/bin/hodring

@@ -107,6 +107,9 @@ defList = { 'hodring' : (
                
              ('http-port-range', 'range', 'HTTP port range n-m.',
               False, None, True, True),
+      
+             ('hadoop-port-range', 'range', 'Hadoop port range n-m.',
+              False, None, True, True),
                
              ('command', 'string', 'Command for hodring to run.',
               False, None, False, True),

+ 3 - 0
src/contrib/hod/bin/ringmaster

@@ -244,6 +244,9 @@ defList = { 'ringmaster' : (
                
              ('http-port-range', 'range', 'HTTP port range n-m.',
               False, None, True, True),
+  
+             ('hadoop-port-range', 'range', 'Hadoop port range n-m.',
+              False, None, True, True),
                
              ('command', 'string', 'Command for hodring to run.',
               False, None, False, True),

+ 1 - 0
src/contrib/hod/conf/hodrc

@@ -24,6 +24,7 @@ register                        = True
 java-home                       = ${JAVA_HOME}
 http-port-range                 = 8000-9000
 xrs-port-range                  = 32768-65536
+hadoop-port-range               = 50000-60000
 debug                           = 3
 
 [resource_manager]

+ 6 - 4
src/contrib/hod/hodlib/HodRing/hodRing.py

@@ -210,7 +210,7 @@ def createMRSystemDirectoryManager(dict, log):
 class HadoopCommand:
   """Runs a single hadoop command"""
     
-  def __init__(self, id, desc, tempdir, tardir, log, javahome, 
+  def __init__(self, id, desc, tempdir, tardir, hadoopportrange, log, javahome, 
                 mrSysDir, restart=False):
     self.desc = desc
     self.log = log
@@ -230,6 +230,7 @@ class HadoopCommand:
     self.child = None
     self.restart = restart
     self.filledInKeyVals = []
+    self.__hadoopPortRange = hadoopportrange
     self._createWorkDirs()
     self._createHadoopSiteXml()
     self._createHadoopLogDir()
@@ -253,8 +254,9 @@ class HadoopCommand:
   def createXML(self, doc, attr, topElement, final):
     for k,v in attr.iteritems():
       self.log.debug('_createHadoopSiteXml: ' + str(k) + " " + str(v))
+      lowport, highport = self.__hadoopPortRange
       if ( v == "fillinport" ):
-        v = "%d" % (ServiceUtil.getUniqRandomPort(low=50000, log=self.log))
+        v = "%d" % (ServiceUtil.getUniqRandomPort(low=lowport, high=highport, log=self.log))
 
       keyvalpair = ''
       if isinstance(v, (tuple, list)):
@@ -270,7 +272,7 @@ class HadoopCommand:
         self.filledInKeyVals.append(keyvalpair)
 	
       if ( v == "fillinhostport"):
-        port = "%d" % (ServiceUtil.getUniqRandomPort(low=50000, log=self.log))
+        port = "%d" % (ServiceUtil.getUniqRandomPort(low=lowport, high=highport, log=self.log))
         self.log.debug('Setting hostname to: %s' % local_fqdn())
         v = local_fqdn() + ':' + port
       
@@ -613,7 +615,7 @@ class HodRing(hodBaseService):
       mrSysDir = getMapredSystemDirectory(self._cfg['mapred-system-dir-root'],
                           self._cfg['userid'], self._cfg['service-id'])
       self.log.debug('mrsysdir is %s' % mrSysDir)
-      cmd = HadoopCommand(id, desc, self.__tempDir, self.__pkgDir, self.log, 
+      cmd = HadoopCommand(id, desc, self.__tempDir, self.__pkgDir, self._cfg['hadoop-port-range'], self.log, 
                           self._cfg['java-home'], mrSysDir, restart)
     
       self.__hadoopLogDirs.append(cmd.logdir)

+ 1 - 1
src/contrib/hod/testing/testHodRing.py

@@ -68,7 +68,7 @@ class test_HadoopCommand(unittest.TestCase):
     #   that pkgdir is specified at the time of object creation.
     # END OF TODO
     self.hadoopCommand = HadoopCommand(self.id, self.desc, self.tempDir,
-                          self.pkgDir, self.log, self.javaHome,
+                          self.pkgDir, (50000, 60000), self.log, self.javaHome,
                           self.mrSysDir, restart=True)
     self.hadoopSite = os.path.join( self.hadoopCommand.confdir,
                                     'hadoop-site.xml')

+ 4 - 0
src/docs/src/documentation/content/xdocs/hod_config_guide.xml

@@ -315,6 +315,10 @@
                     be used by HOD to upload logs if a HDFS URL is specified in log-destination-uri
                     option. Note that this is useful if the users are using a tarball whose version
                     may differ from the external, static HDFS version.</li>
+
+          <li>hadoop-port-range: Range of ports, among which an available port shall
+                             be picked for use to run a Hadoop Service, like JobTracker or TaskTracker. </li>
+          
                                       
         </ul>
       </section>