浏览代码

HADOOP-4919. Provide execute access on jobtracker history directory path. Contributed by Peeyush Bishnoi.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.18@728000 13f79535-47bb-0310-9956-ffa450edef68
Hemanth Yamijala 16 年之前
父节点
当前提交
2226180f43
共有 2 个文件被更改,包括 36 次插入3 次删除
  1. 9 1
      src/contrib/hod/CHANGES.txt
  2. 27 2
      src/contrib/hod/hodlib/HodRing/hodRing.py

+ 9 - 1
src/contrib/hod/CHANGES.txt

@@ -1,6 +1,14 @@
 HOD Change Log
 
-Release 0.18.2 - Unreleased 
+Release 0.18.3 - (unreleased changes)
+
+  IMPROVEMENTS
+
+    HADOOP-4919. Provide execute access on jobtracker history directory
+    path to allow monitoring programs to read the history logs.
+    (Peeyush Bishnoi via yhemanth)
+
+Release 0.18.2 - 2008-11-03
 
   BUG FIXES
 

+ 27 - 2
src/contrib/hod/hodlib/HodRing/hodRing.py

@@ -329,13 +329,38 @@ class HadoopCommand:
     sitefile.close()
     self.log.debug('created %s' % (siteName))
 
+  def __createJTHistoryDir(self):
+    '''Creating JobTracker History Directory inside hadoop logdir'''
+    jobtrackerhistorydir = os.path.join(self.logdir,'history')
+    self.log.debug('Creating %s' % (jobtrackerhistorydir))
+    os.makedirs(jobtrackerhistorydir)
+    self.__setJTHistoryDirPermission(jobtrackerhistorydir)
+
+  def __setJTHistoryDirPermission(self,jobtrackerhistorydir):
+    '''Setting the permission 710 on JobTracker History Directory'''
+    self.log.debug('Setting the permission 710 on jobtracker history directory: %s' % (jobtrackerhistorydir))
+    childdir = jobtrackerhistorydir
+    while childdir != self.hadoopdir :
+      os.chmod(childdir,0710)
+      parentdir = os.path.dirname(childdir)
+      childdir = parentdir
+    os.chmod(self.hadoopdir,0710)
+
   def _createHadoopLogDir(self):
     if self.restart:
       if not os.path.exists(self.logdir):
-        os.makedirs(self.logdir)
+        if self.name == "jobtracker":
+          os.makedirs(self.logdir)
+          self.__createJTHistoryDir()
+        else:
+          os.makedirs(self.logdir)
     else:
       assert os.path.exists(self.logdir) == False
-      os.makedirs(self.logdir)
+      if self.name == "jobtracker":
+        os.makedirs(self.logdir)
+        self.__createJTHistoryDir()
+      else:
+        os.makedirs(self.logdir)
 
   def _createXmlElement(self, doc, name, value, description, final):
     prop = doc.createElement("property")