Commit be0ddddc by Jon Maron

redirect output from python scripts to files

parent bd1567a7
...@@ -109,7 +109,7 @@ def executeEnvSh(confDir): ...@@ -109,7 +109,7 @@ def executeEnvSh(confDir):
proc.communicate() proc.communicate()
def java(classname, args, classpath, jvm_opts_list): def java(classname, args, classpath, jvm_opts_list, logdir=None):
if os.environ["JAVA_HOME"] is not None and os.environ["JAVA_HOME"]: if os.environ["JAVA_HOME"] is not None and os.environ["JAVA_HOME"]:
prg = os.path.join(os.environ["JAVA_HOME"], "bin", "java") prg = os.path.join(os.environ["JAVA_HOME"], "bin", "java")
else: else:
...@@ -121,7 +121,7 @@ def java(classname, args, classpath, jvm_opts_list): ...@@ -121,7 +121,7 @@ def java(classname, args, classpath, jvm_opts_list):
commandline.append(classpath) commandline.append(classpath)
commandline.append(classname) commandline.append(classname)
commandline.extend(args) commandline.extend(args)
return runProcess(commandline) return runProcess(commandline, logdir)
def jar(path): def jar(path):
if os.environ["JAVA_HOME"] is not None and os.environ["JAVA_HOME"]: if os.environ["JAVA_HOME"] is not None and os.environ["JAVA_HOME"]:
...@@ -153,7 +153,7 @@ def which(program): ...@@ -153,7 +153,7 @@ def which(program):
return None return None
def runProcess(commandline): def runProcess(commandline, logdir=None):
""" """
Run a process Run a process
:param commandline: command line :param commandline: command line
...@@ -161,7 +161,13 @@ def runProcess(commandline): ...@@ -161,7 +161,13 @@ def runProcess(commandline):
""" """
global finished global finished
debug ("Executing : %s" % commandline) debug ("Executing : %s" % commandline)
return subprocess.Popen(commandline) timestr = time.strftime("metadata.%Y%m%d-%H%M%S")
stdoutFile = None
stderrFile = None
if logdir:
stdoutFile = open(os.path.join(logdir, timestr + ".out"), "w")
stderrFile = open(os.path.join(logdir,timestr + ".err"), "w")
return subprocess.Popen(commandline, stdout=stdoutFile, stderr=stderrFile)
def print_output(name, src, toStdErr): def print_output(name, src, toStdErr):
""" """
......
...@@ -64,7 +64,7 @@ def main(): ...@@ -64,7 +64,7 @@ def main():
args = ["-app", os.path.join(web_app_dir, "metadata")] args = ["-app", os.path.join(web_app_dir, "metadata")]
args.extend(sys.argv[1:]) args.extend(sys.argv[1:])
process = mc.java("org.apache.hadoop.metadata.Main", args, metadata_classpath, jvm_opts_list) process = mc.java("org.apache.hadoop.metadata.Main", args, metadata_classpath, jvm_opts_list, logdir)
mc.writePid(metadata_pid_file, process) mc.writePid(metadata_pid_file, process)
print "Metadata Server started!!!\n" print "Metadata Server started!!!\n"
......
...@@ -50,13 +50,13 @@ class TestMetadata(unittest.TestCase): ...@@ -50,13 +50,13 @@ class TestMetadata(unittest.TestCase):
'org.apache.hadoop.metadata.Main', 'org.apache.hadoop.metadata.Main',
['-app', 'metadata_home/server/webapp/metadata'], ['-app', 'metadata_home/server/webapp/metadata'],
'metadata_home/conf:metadata_home/server/webapp/metadata/WEB-INF/classes:metadata_home/server/webapp/metadata/WEB-INF/lib\\*:metadata_home/libext\\*', 'metadata_home/conf:metadata_home/server/webapp/metadata/WEB-INF/classes:metadata_home/server/webapp/metadata/WEB-INF/lib\\*:metadata_home/libext\\*',
['-Dmetadata.log.dir=metadata_home/logs', '-Dmetadata.log.file=application.log', '-Dmetadata.home=metadata_home', '-Dmetadata.conf=metadata_home/conf', '-Xmx1024m']) ['-Dmetadata.log.dir=metadata_home/logs', '-Dmetadata.log.file=application.log', '-Dmetadata.home=metadata_home', '-Dmetadata.conf=metadata_home/conf', '-Xmx1024m'], 'metadata_home/logs')
else: else:
java_mock.assert_called_with( java_mock.assert_called_with(
'org.apache.hadoop.metadata.Main', 'org.apache.hadoop.metadata.Main',
['-app', 'metadata_home/server/webapp/metadata'], ['-app', 'metadata_home/server/webapp/metadata'],
'metadata_home/conf:metadata_home/server/webapp/metadata/WEB-INF/classes:metadata_home/server/webapp/metadata/WEB-INF/lib/*:metadata_home/libext/*', 'metadata_home/conf:metadata_home/server/webapp/metadata/WEB-INF/classes:metadata_home/server/webapp/metadata/WEB-INF/lib/*:metadata_home/libext/*',
['-Dmetadata.log.dir=metadata_home/logs', '-Dmetadata.log.file=application.log', '-Dmetadata.home=metadata_home', '-Dmetadata.conf=metadata_home/conf', '-Xmx1024m']) ['-Dmetadata.log.dir=metadata_home/logs', '-Dmetadata.log.file=application.log', '-Dmetadata.home=metadata_home', '-Dmetadata.conf=metadata_home/conf', '-Xmx1024m'], 'metadata_home/logs')
pass pass
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment