亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hadoop.py

?? HADOOP 0.18.0安裝源代碼頭文件
?? PY
?? 第 1 頁 / 共 2 頁
字號:
#Licensed to the Apache Software Foundation (ASF) under one#or more contributor license agreements.  See the NOTICE file#distributed with this work for additional information#regarding copyright ownership.  The ASF licenses this file#to you under the Apache License, Version 2.0 (the#"License"); you may not use this file except in compliance#with the License.  You may obtain a copy of the License at#     http://www.apache.org/licenses/LICENSE-2.0#Unless required by applicable law or agreed to in writing, software#distributed under the License is distributed on an "AS IS" BASIS,#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.#See the License for the specific language governing permissions and#limitations under the License."""define WorkLoad as abstract interface for user job"""# -*- python -*-import os, time, sys, shutil, exceptions, re, threading, signal, urllib, pprint, mathfrom HTMLParser import HTMLParserimport xml.dom.minidomimport xml.dom.pulldomfrom xml.dom import getDOMImplementationfrom hodlib.Common.util import *from hodlib.Common.xmlrpc import hodXRClientfrom hodlib.Common.miniHTMLParser import miniHTMLParserfrom hodlib.Common.nodepoolutil import NodePoolUtilfrom hodlib.Common.tcp import tcpError, tcpSocketreCommandDelimeterString = r"(?<!\\);"reCommandDelimeter = re.compile(reCommandDelimeterString)class hadoopConfig:  def __create_xml_element(self, doc, name, value, description, final = False):    prop = doc.createElement("property")    nameP = doc.createElement("name")    string = doc.createTextNode(name)    nameP.appendChild(string)    valueP = doc.createElement("value")    string = doc.createTextNode(value)    valueP.appendChild(string)    if final:      finalP = doc.createElement("final")      string = doc.createTextNode("true")      finalP.appendChild(string)    desc = doc.createElement("description")    string = doc.createTextNode(description)    desc.appendChild(string)    prop.appendChild(nameP)    prop.appendChild(valueP)    if final:      prop.appendChild(finalP)    prop.appendChild(desc)        return prop  def gen_site_conf(self, confDir, tempDir, numNodes, hdfsAddr, mrSysDir,\             mapredAddr=None, clientParams=None, serverParams=None,\             finalServerParams=None, clusterFactor=None):    if not mapredAddr:      mapredAddr = "dummy:8181"        implementation = getDOMImplementation()    doc = implementation.createDocument('', 'configuration', None)    comment = doc.createComment(      "This is an auto generated hadoop-site.xml, do not modify")    topElement = doc.documentElement    topElement.appendChild(comment)    description = {}    paramsDict = {  'mapred.job.tracker'    : mapredAddr , \                    'fs.default.name'       : "hdfs://" + hdfsAddr, \                    'hadoop.tmp.dir'        : tempDir, \                    'dfs.client.buffer.dir' : os.path.join(tempDir, 'dfs',                                                                    'tmp'),                 }    paramsDict['mapred.system.dir'] = mrSysDir        # mapred-default.xml is no longer used now.    numred = int(math.floor(clusterFactor * (int(numNodes) - 1)))    paramsDict['mapred.reduce.tasks'] = str(numred)    # end    # for all the above vars generated, set the description    for k, v in paramsDict.iteritems():      description[k] = 'Hod generated parameter'    # finalservelParams    if finalServerParams:      for k, v in finalServerParams.iteritems():        if not description.has_key(k):          description[k] = "final server parameter"          paramsDict[k] = v    # servelParams    if serverParams:      for k, v in serverParams.iteritems():        if not description.has_key(k):          # if no final value for same param is mentioned          description[k] = "server parameter"          paramsDict[k] = v    # clientParams    if clientParams:      for k, v in clientParams.iteritems():        if not description.has_key(k) or description[k] == "server parameter":          # Just add, if no final value for same param is mentioned.          # Replace even if server param is mentioned for same config variable          description[k] = "client-side parameter"          paramsDict[k] = v        # generate the xml elements    for k,v in paramsDict.iteritems():      if ( description[k] == "final server parameter" or \                             description[k] == "Hod generated parameter" ):          final = True      else: final = False      prop = self.__create_xml_element(doc, k, v, description[k], final)      topElement.appendChild(prop)    siteName = os.path.join(confDir, "hadoop-site.xml")    sitefile = file(siteName, 'w')    print >> sitefile, topElement.toxml()    sitefile.close()class hadoopCluster:  def __init__(self, cfg, log):    self.__cfg = cfg    self.__log = log    self.__changedClusterParams = []        self.__hostname = local_fqdn()        self.__svcrgyClient = None    self.__nodePool = NodePoolUtil.getNodePool(self.__cfg['nodepooldesc'],                                                self.__cfg, self.__log)            self.__hadoopCfg = hadoopConfig()    self.jobId = None    self.mapredInfo = None    self.hdfsInfo = None    self.ringmasterXRS = None  def __get_svcrgy_client(self):    svcrgyUrl = to_http_url(self.__cfg['hod']['xrs-address'])    return hodXRClient(svcrgyUrl)  def __get_service_status(self):    serviceData = self.__get_service_data()        status = True    hdfs = False    mapred = False        for host in serviceData.keys():      for item in serviceData[host]:        service = item.keys()        if service[0] == 'hdfs.grid' and \          self.__cfg['gridservice-hdfs']['external'] == False:          hdfs = True        elif service[0] == 'mapred.grid':          mapred = True        if not mapred:      status = "mapred"        if not hdfs and self.__cfg['gridservice-hdfs']['external'] == False:      if status != True:        status = "mapred and hdfs"      else:        status = "hdfs"          return status    def __get_service_data(self):    registry = to_http_url(self.__cfg['hod']['xrs-address'])    serviceData = self.__svcrgyClient.getServiceInfo(      self.__cfg['hod']['userid'], self.__setup.np.getNodePoolId())        return serviceData    def __check_job_status(self):    initWaitCount = 20    count = 0    status = False    state = 'Q'    userLimitsFirstFlag = True    while state == 'Q':      if hodInterrupt.isSet():        raise HodInterruptException()      jobInfo = self.__nodePool.getJobInfo()      state = jobInfo['job_state']      if (state==False) or (state!='Q'):        break      count = count + 1      if count < initWaitCount:        time.sleep(0.5)      else:        time.sleep(10)      if self.__cfg['hod'].has_key('job-feasibility-attr') and \                      self.__cfg['hod']['job-feasibility-attr']:        (status, msg) = self.__isJobFeasible()        if status == "Never":          self.__log.critical(TORQUE_USER_LIMITS_EXCEEDED_MSG + msg + \                "This cluster cannot be allocated now.")          return -1        elif status == False:          if userLimitsFirstFlag:            self.__log.critical(TORQUE_USER_LIMITS_EXCEEDED_MSG + msg + \                "This cluster allocation will succeed only after other " + \                "clusters are deallocated.")            userLimitsFirstFlag = False       if state and state != 'C':      status = True        return status  def __isJobFeasible(self):    return self.__nodePool.isJobFeasible()    def __get_ringmaster_client(self):    ringmasterXRS = None       ringList = self.__svcrgyClient.getServiceInfo(      self.__cfg['ringmaster']['userid'], self.__nodePool.getServiceId(),       'ringmaster', 'hod')    if ringList and len(ringList):      if isinstance(ringList, list):        ringmasterXRS = ringList[0]['xrs']    else:          count = 0      waitTime = self.__cfg['hod']['allocate-wait-time']        while count < waitTime:        if hodInterrupt.isSet():          raise HodInterruptException()        ringList = self.__svcrgyClient.getServiceInfo(          self.__cfg['ringmaster']['userid'], self.__nodePool.getServiceId(),           'ringmaster',           'hod')                if ringList and len(ringList):          if isinstance(ringList, list):                    ringmasterXRS = ringList[0]['xrs']                if ringmasterXRS is not None:          break        else:          time.sleep(1)          count = count + 1          # check to see if the job exited by any chance in that time:          if (count % 10 == 0):            if not self.__check_job_status():              break    return ringmasterXRS   def __init_hadoop_service(self, serviceName, xmlrpcClient):    status = True    serviceAddress = None    serviceInfo = None     for i in range(0, 250):       try:        if hodInterrupt.isSet():            raise HodInterruptException()        serviceAddress = xmlrpcClient.getServiceAddr(serviceName)        if serviceAddress:          if serviceAddress == 'not found':            time.sleep(.5)          # check to see if the job exited by any chance in that time:            if (i % 10 == 0):              if not self.__check_job_status():                break          else:            serviceInfo = xmlrpcClient.getURLs(serviceName)                       break       except HodInterruptException,h :        raise h      except:        self.__log.critical("'%s': ringmaster xmlrpc error." % serviceName)        self.__log.debug(get_exception_string())        status = False        break        if serviceAddress == 'not found' or not serviceAddress:      self.__log.critical("Failed to retrieve '%s' service address." %                           serviceName)      status = False    elif serviceAddress.startswith("Error: "):      errs = serviceAddress[len("Error: "):]      self.__log.critical("Cluster could not be allocated because of the following errors.\n%s" % \                             errs)      status = False    else:      try:        self.__svcrgyClient.registerService(self.__cfg['hodring']['userid'],                                             self.jobId, self.__hostname,                                             serviceName, 'grid', serviceInfo)              except HodInterruptException, h:        raise h      except:        self.__log.critical("'%s': registry xmlrpc error." % serviceName)            self.__log.debug(get_exception_string())        status = False            return status, serviceAddress, serviceInfo  def __collect_jobtracker_ui(self, dir):     link = self.mapredInfo + "/jobtracker.jsp"     parser = miniHTMLParser()     parser.setBaseUrl(self.mapredInfo)     node_cache = {}     self.__log.debug("collect_jobtracker_ui seeded with " + link)     def alarm_handler(number, stack):         raise AlarmException("timeout")            signal.signal(signal.SIGALRM, alarm_handler)     input = None     while link:       self.__log.debug("link: %s" % link)       # taskstats.jsp,taskdetails.jsp not included since too many to collect       if re.search(         "jobfailures\.jsp|jobtracker\.jsp|jobdetails\.jsp|jobtasks\.jsp",          link):         for i in range(1,5):           if hodInterrupt.isSet():             raise HodInterruptException()           try:             input = urllib.urlopen(link)             break           except:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美巨大另类极品videosbest | 国产高清视频一区| a亚洲天堂av| 久久午夜国产精品| 亚洲精品久久久蜜桃| 麻豆成人av在线| 色94色欧美sute亚洲线路一ni| 精品国产青草久久久久福利| 亚洲免费观看高清完整版在线观看熊| 精品一区二区在线播放| 91电影在线观看| 国产精品美女久久久久久久久久久 | 日韩欧美一级二级| 一区二区三区在线影院| 国产福利一区在线| 精品欧美一区二区久久| 亚洲午夜久久久久久久久电影院| 国产激情一区二区三区四区 | 18欧美乱大交hd1984| 久久99久久99精品免视看婷婷| 色婷婷国产精品| 亚洲欧洲国产日本综合| 国产激情一区二区三区四区| 精品少妇一区二区三区 | 精品在线免费视频| 欧美一区二区私人影院日本| 亚洲国产欧美在线| 欧美在线观看视频一区二区| 中文在线一区二区| 成人av在线一区二区| 国产午夜精品福利| 国产高清视频一区| 久久久精品国产免费观看同学| 老司机精品视频导航| 欧美一区二区三区四区五区| 亚洲高清不卡在线| 欧美日韩一区三区| 性久久久久久久| 91麻豆精品国产91久久久| 三级久久三级久久| 91精品久久久久久久99蜜桃| 日日夜夜一区二区| 日韩免费一区二区| 国产曰批免费观看久久久| 久久综合一区二区| 成人黄色网址在线观看| 中文字幕中文字幕一区二区| 波多野结衣在线一区| 国产精品久久久久久久久图文区| 97久久超碰国产精品电影| 亚洲人成网站影音先锋播放| 欧美色图第一页| 青青草国产精品97视觉盛宴| 久久免费精品国产久精品久久久久| 国产精品夜夜嗨| 亚洲三级理论片| 欧美日产在线观看| 经典三级一区二区| 中文字幕 久热精品 视频在线| 91老师片黄在线观看| 亚洲第一久久影院| 久久色成人在线| 99久久婷婷国产| 免费人成精品欧美精品 | 尤物视频一区二区| 7777精品伊人久久久大香线蕉 | 欧美在线不卡视频| 免播放器亚洲一区| 国产精品久久久久毛片软件| 欧美在线高清视频| 国产精品2024| 亚洲妇女屁股眼交7| 精品国产三级电影在线观看| av午夜精品一区二区三区| 日韩高清不卡在线| 国产精品乱码久久久久久| 欧美肥大bbwbbw高潮| 国产aⅴ综合色| 日产欧产美韩系列久久99| 国产日韩欧美制服另类| 欧美日韩在线不卡| 成人午夜av电影| 日韩专区一卡二卡| 国产精品剧情在线亚洲| 日韩一区二区三区观看| 色综合中文字幕| 国产精品亚洲а∨天堂免在线| 一区二区三区中文字幕精品精品 | 国产视频一区二区在线| 91久久免费观看| 懂色av一区二区夜夜嗨| 蜜桃视频一区二区三区 | 在线看国产一区| 床上的激情91.| 国产一区二区影院| 天天色综合成人网| 亚洲精品视频在线观看免费| 国产无一区二区| 久久综合色婷婷| 91精品国产综合久久福利软件| 在线免费观看视频一区| av色综合久久天堂av综合| 国产高清亚洲一区| 激情另类小说区图片区视频区| 亚洲成av人片在线| 亚洲综合在线第一页| 国产精品成人午夜| 国产精品久久久久久久久图文区 | 亚洲国产成人高清精品| 亚洲特级片在线| 国产精品久久午夜夜伦鲁鲁| 国产网站一区二区三区| 久久女同性恋中文字幕| 久久综合999| 久久综合给合久久狠狠狠97色69| 日韩欧美在线观看一区二区三区| 欧美日韩极品在线观看一区| 欧美日韩成人一区| 欧美日韩美女一区二区| 欧美日韩国产一区二区三区地区| 欧洲生活片亚洲生活在线观看| 色婷婷av一区二区三区gif| 91热门视频在线观看| 日本福利一区二区| 91国偷自产一区二区使用方法| 色一情一伦一子一伦一区| 一本到不卡免费一区二区| 在线精品视频免费播放| 欧美视频在线观看一区| 91精品在线麻豆| 日韩免费高清av| 国产视频一区二区在线| 中文字幕一区二区三区四区不卡| 国产精品久久久久久妇女6080| 亚洲天堂2014| 亚洲va欧美va天堂v国产综合| 亚洲sss视频在线视频| 青娱乐精品视频| 国产夫妻精品视频| 99国产精品一区| 欧美美女一区二区三区| 精品久久久久久最新网址| 久久久www成人免费无遮挡大片| 国产精品污www在线观看| 亚洲免费电影在线| 日韩二区三区在线观看| 国产精品一区二区91| 色综合天天性综合| 欧美一区二区三区性视频| 久久久久久久久久久久电影| 亚洲色欲色欲www| 日韩影视精彩在线| 丁香一区二区三区| 欧美日韩一二三区| 久久久国产精品麻豆| 亚洲国产日韩精品| 国产一区二区三区黄视频 | 久久免费美女视频| 洋洋av久久久久久久一区| 奇米精品一区二区三区四区| 国产成人av电影在线观看| 欧美色视频一区| 国产欧美一区视频| 日韩成人一区二区三区在线观看| 国产成人精品免费在线| 91精品国产综合久久国产大片| 中文字幕免费不卡| 日韩二区三区在线观看| 99视频一区二区| 欧美tickling网站挠脚心| 亚洲免费观看高清在线观看| 韩日精品视频一区| 欧美网站一区二区| 国产亚洲综合在线| 91视频免费观看| 精品久久人人做人人爰| 亚洲图片欧美视频| 欧美日韩一区小说| 国产美女在线精品| 亚洲日本在线看| av高清久久久| 亚洲最色的网站| 午夜日韩在线观看| 91在线云播放| 久久精品欧美日韩| 美美哒免费高清在线观看视频一区二区| av电影天堂一区二区在线| 日韩女优视频免费观看| 日韩国产精品久久久| 在线观看日韩av先锋影音电影院| 国产精品麻豆视频| 国产精品一二三四| 久久久久久久综合狠狠综合| 奇米四色…亚洲| 欧美精品日日鲁夜夜添| 亚洲第一狼人社区| 欧美精品日韩一区| 天堂成人国产精品一区| 欧美精品自拍偷拍| 亚洲欧洲精品天堂一级 |