def main(): atlas_home = mc.atlasDir() confdir = mc.dirMustExist(mc.confDir(atlas_home)) mc.executeEnvSh(confdir) mc.dirMustExist(mc.logDir(atlas_home)) atlas_pid_file = mc.pidFile(atlas_home) try: pf = file(atlas_pid_file, 'r') pid = int(pf.read().strip()) pf.close() except: pid = None if not pid: sys.stderr.write("No process ID file found. Server not running?\n") return if not mc.exist_pid(pid): sys.stderr.write("Server no longer running with pid %s\nImproper shutdown?\npid file deleted.\n" %pid) os.remove(atlas_pid_file) return os.kill(pid, SIGTERM) mc.wait_for_shutdown(pid, "stopping atlas", 30) # assuming kill worked since process check on windows is more involved... if os.path.exists(atlas_pid_file): os.remove(atlas_pid_file) # stop hbase if mc.is_hbase_local(confdir): mc.run_hbase_action(mc.hbaseBinDir(atlas_home), "stop", None, None, True)
def main(): atlas_home = mc.atlasDir() confdir = mc.dirMustExist(mc.confDir(atlas_home)) mc.executeEnvSh(confdir) mc.dirMustExist(mc.logDir(atlas_home)) atlas_pid_file = mc.pidFile(atlas_home) try: pf = file(atlas_pid_file, 'r') pid = int(pf.read().strip()) pf.close() except: pid = None if not pid: sys.stderr.write("No process ID file found. Server not running?\n") return if not mc.exist_pid(pid): sys.stderr.write("Server no longer running with pid %s\nImproper shutdown?\npid file deleted.\n" %pid) os.remove(atlas_pid_file) return os.kill(pid, SIGTERM) mc.wait_for_shutdown(pid, "stopping atlas", 30) if not mc.exist_pid(pid): print "Apache Atlas Server stopped!!!\n" # assuming kill worked since process check on windows is more involved... if os.path.exists(atlas_pid_file): os.remove(atlas_pid_file) # stop solr if mc.is_solr_local(confdir): mc.run_solr(mc.solrBinDir(atlas_home), "stop", None, mc.solrPort(), None, True) # stop hbase if mc.is_hbase_local(confdir): mc.run_hbase_action(mc.hbaseBinDir(atlas_home), "stop", None, None, True) if mc.exist_pid(pid): #after 30 seconds kill it time.sleep(30) try: if os.name == "nt": # If running on Windows then timeout termination uses SIGTERM instead of SIGKILL. sys.stderr.write("did not stop gracefully after 30 seconds: killing process using SIGTERM\n") os.kill(pid, SIGTERM) else: sys.stderr.write("did not stop gracefully after 30 seconds: killing process using SIGKILL\n") os.kill(pid, SIGKILL) except: pass
def main(): atlas_home = mc.atlasDir() confdir = mc.dirMustExist(mc.confDir(atlas_home)) mc.executeEnvSh(confdir) mc.dirMustExist(mc.logDir(atlas_home)) atlas_pid_file = mc.pidFile(atlas_home) try: pf = file(atlas_pid_file, 'r') pid = int(pf.read().strip()) pf.close() except: pid = None if not pid: sys.stderr.write("No process ID file found. Server not running?\n") return if not mc.exist_pid(pid): sys.stderr.write( "Server no longer running with pid %s\nImproper shutdown?\npid file deleted.\n" % pid) os.remove(atlas_pid_file) return os.kill(pid, SIGTERM) mc.wait_for_shutdown(pid, "stopping atlas", 30) if not mc.exist_pid(pid): print "Apache Atlas Server stopped!!!\n" # assuming kill worked since process check on windows is more involved... if os.path.exists(atlas_pid_file): os.remove(atlas_pid_file) # stop solr if mc.is_solr_local(confdir): mc.run_solr(mc.solrBinDir(atlas_home), "stop", None, mc.solrPort(), None, True) # stop hbase if mc.is_hbase_local(confdir): mc.run_hbase_action(mc.hbaseBinDir(atlas_home), "stop", None, None, True) if mc.exist_pid(pid): #after 30 seconds kill it time.sleep(30) try: sys.stderr.write( "did not stop gracefully after 30 seconds seconds: killing with SIGKILL\n" ) os.kill(pid, SIGKILL) except: pass
def main(): atlas_home = mc.atlasDir() confdir = mc.dirMustExist(mc.confDir(atlas_home)) mc.executeEnvSh(confdir) mc.dirMustExist(mc.logDir(atlas_home)) atlas_pid_file = mc.pidFile(atlas_home) try: pf = file(atlas_pid_file, 'r') pid = int(pf.read().strip()) pf.close() except: pid = None if not pid: sys.stderr.write("No process ID file found. Server not running?\n") return if not mc.exist_pid(pid): sys.stderr.write( "Server no longer running with pid %s\nImproper shutdown?\npid file deleted.\n" % pid) os.remove(atlas_pid_file) return os.kill(pid, SIGTERM) mc.wait_for_shutdown(pid, "stopping atlas", 30) if not mc.exist_pid(pid): print "Apache Atlas Server stopped!!!\n" # assuming kill worked since process check on windows is more involved... if os.path.exists(atlas_pid_file): os.remove(atlas_pid_file) # stop solr if mc.is_solr_local(confdir): mc.run_solr(mc.solrBinDir(atlas_home), "stop", None, mc.solrPort(), None, True, mc.solrHomeDir(atlas_home)) if mc.is_zookeeper_local(confdir): mc.run_zookeeper(mc.zookeeperBinDir(atlas_home), "stop") # stop elasticsearch if mc.is_elasticsearch_local(): logdir = os.path.join(atlas_home, 'logs') elastic_pid_file = os.path.join(logdir, 'elasticsearch.pid') try: pf = file(elastic_pid_file, 'r') pid = int(pf.read().strip()) pf.close() except: pid = None if not pid: sys.stderr.write( "No process ID file found. Elasticsearch not running?\n") return if not mc.exist_pid(pid): sys.stderr.write( "Elasticsearch no longer running with pid %s\nImproper shutdown?\npid file deleted.\n" % pid) os.remove(elastic_pid_file) return os.kill(pid, SIGTERM) mc.wait_for_shutdown(pid, "stopping elasticsearch", 30) if not mc.exist_pid(pid): print "Elasticsearch stopped!!!\n" # assuming kill worked since process check on windows is more involved... if os.path.exists(elastic_pid_file): os.remove(elastic_pid_file) # stop hbase if mc.is_hbase_local(confdir): mc.run_hbase_action(mc.hbaseBinDir(atlas_home), "stop", None, None, True) if mc.exist_pid(pid): #after 30 seconds kill it time.sleep(30) try: if os.name == "nt": # If running on Windows then timeout termination uses SIGTERM instead of SIGKILL. sys.stderr.write( "did not stop gracefully after 30 seconds: killing process using SIGTERM\n" ) os.kill(pid, SIGTERM) else: sys.stderr.write( "did not stop gracefully after 30 seconds: killing process using SIGKILL\n" ) os.kill(pid, SIGKILL) except: pass