コード例 #1
0
def rolling_update(args):
    if not args.job:
        Log.print_critical(
            "You must specify the job name to do rolling update")

    get_yarn_service_config(args)
    job_name = args.job[0]

    if not args.skip_confirm:
        deploy_utils.confirm_action(args, "rolling_update")

    Log.print_info("Rolling updating %s" % job_name)
    hosts = args.yarn_config.jobs[job_name].hosts
    wait_time = 0
    for id in hosts.iterkeys():
        deploy_utils.confirm_rolling_update(id, wait_time)
        stop_job(args, hosts[id], job_name)
        deploy_utils.wait_for_job_stopping("yarn",
                                           args.yarn_config.cluster.name,
                                           job_name, hosts[id])
        start_job(args, hosts[id], job_name)
        deploy_utils.wait_for_job_starting("yarn",
                                           args.yarn_config.cluster.name,
                                           job_name, hosts[id])
        wait_time = args.time_interval
    Log.print_success("Rolling updating %s success" % job_name)
コード例 #2
0
ファイル: deploy_hdfs.py プロジェクト: JimoLucy/minos
def rolling_update(args):
  if not args.job:
    Log.print_critical("You must specify the job name to do rolling update")

  get_hdfs_service_config(args)
  job_name = args.job[0]

  if not args.skip_confirm:
    deploy_utils.confirm_action(args, "rolling_update")

  Log.print_info("Rolling updating %s" % job_name)
  hosts = args.hdfs_config.jobs[job_name].hosts
  wait_time = 0

  args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
  for host_id in args.task_map.keys() or hosts.iterkeys():
    for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
      instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
      deploy_utils.confirm_rolling_update(host_id, instance_id, wait_time)
      stop_job(args, hosts[host_id].ip, job_name, instance_id)
      deploy_utils.wait_for_job_stopping("hdfs",
        args.hdfs_config.cluster.name, job_name, hosts[host_id].ip, instance_id)
      start_job(args, hosts[host_id].ip, job_name, host_id, instance_id)
      deploy_utils.wait_for_job_starting("hdfs",
        args.hdfs_config.cluster.name, job_name, hosts[host_id].ip, instance_id)
      wait_time = args.time_interval
  Log.print_success("Rolling updating %s success" % job_name)
コード例 #3
0
def restart(args):
    if not args.skip_confirm:
        deploy_utils.confirm_restart(args)
    _get_fds_service_config(args)

    for job_name in args.job or ALL_JOBS:
        hosts = args.fds_config.jobs[job_name].hosts
        args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
        for host_id in args.task_map.keys() or hosts.keys():
            for instance_id in args.task_map.get(host_id) or range(
                    hosts[host_id].instance_num):
                instance_id = -1 if not deploy_utils.is_multiple_instances(
                    host_id, hosts) else instance_id
                stop_job(args, hosts[host_id].ip, job_name, instance_id)

    for job_name in args.job or ALL_JOBS:
        hosts = args.fds_config.jobs[job_name].hosts
        args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
        for host_id in args.task_map.keys() or hosts.keys():
            for instance_id in args.task_map.get(host_id) or range(
                    hosts[host_id].instance_num):
                instance_id = -1 if not deploy_utils.is_multiple_instances(
                    host_id, hosts) else instance_id
                deploy_utils.wait_for_job_stopping(
                    "fds", args.fds_config.cluster.name, job_name,
                    hosts[host_id].ip, instance_id)
                start_job(args, hosts[host_id].ip, job_name, host_id,
                          instance_id)
コード例 #4
0
def rolling_update(args):
    if not args.job:
        Log.print_critical(
            "You must specify the job name to do rolling update")

    _get_fds_service_config(args)
    job_name = args.job[0]

    if not args.skip_confirm:
        deploy_utils.confirm_action(args, "rolling_update")

    Log.print_info("Rolling updating %s" % job_name)
    hosts = args.fds_config.jobs[job_name].hosts
    wait_time = 0

    args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
    for host_id in args.task_map.keys() or hosts.iterkeys():
        for instance_id in args.task_map.get(host_id) or range(
                hosts[host_id].instance_num):
            instance_id = -1 if not deploy_utils.is_multiple_instances(
                host_id, hosts) else instance_id
            deploy_utils.confirm_rolling_update(host_id, instance_id,
                                                wait_time)
            stop_job(args, hosts[host_id].ip, job_name, instance_id)
            deploy_utils.wait_for_job_stopping("fds",
                                               args.fds_config.cluster.name,
                                               job_name, hosts[host_id].ip,
                                               instance_id)
            start_job(args, hosts[host_id].ip, job_name, host_id, instance_id)
            deploy_utils.wait_for_job_starting("fds",
                                               args.fds_config.cluster.name,
                                               job_name, hosts[host_id].ip,
                                               instance_id)
            wait_time = args.time_interval
    Log.print_success("Rolling updating %s success" % job_name)
コード例 #5
0
ファイル: deploy_hbase.py プロジェクト: tomzhang/minos
def rolling_update(args):
    if not args.job:
        Log.print_critical(
            "You must specify the job name to do rolling update")

    if not args.skip_confirm:
        deploy_utils.confirm_action(args, "rolling_update")

    get_hbase_service_config(args)
    job_name = args.job[0]

    if job_name != 'regionserver':
        args.vacate_rs = False

    if args.vacate_rs:
        balance_switch(args, False)

    Log.print_info("Rolling updating %s" % job_name)
    hosts = args.hbase_config.jobs[job_name].hosts
    wait_time = 0

    args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
    for host_id in args.task_map.keys() or hosts.iterkeys():
        for instance_id in args.task_map.get(host_id) or range(
                hosts[host_id].instance_num):
            instance_id = -1 if not deploy_utils.is_multiple_instances(
                host_id, hosts) else instance_id
            if not args.skip_confirm:
                deploy_utils.confirm_rolling_update(host_id, instance_id,
                                                    wait_time)

            port = deploy_utils.get_base_port(
                args.hbase_config.jobs[job_name].base_port, instance_id)
            if args.vacate_rs:
                vacate_region_server(args, hosts[host_id].ip, port)

            stop_job(args, hosts[host_id].ip, job_name, instance_id)
            deploy_utils.wait_for_job_stopping("hbase",
                                               args.hbase_config.cluster.name,
                                               job_name, hosts[host_id].ip,
                                               instance_id)
            start_job(args, hosts[host_id].ip, job_name, host_id, instance_id)
            deploy_utils.wait_for_job_starting("hbase",
                                               args.hbase_config.cluster.name,
                                               job_name, hosts[host_id].ip,
                                               instance_id)

            if args.vacate_rs:
                recover_region_server(args, hosts[host_id].ip, port)
            wait_time = args.time_interval

    if args.vacate_rs:
        balance_switch(args, True)
    Log.print_success("Rolling updating %s success" % job_name)
コード例 #6
0
ファイル: deploy_hbase.py プロジェクト: HanJack/minos
def start_job(args, host, job_name, host_id, instance_id, is_wait=False):
  if is_wait:
    deploy_utils.wait_for_job_stopping("hbase",
      args.hbase_config.cluster.name, job_name, host, instance_id)
  # parse the service_config according to the instance_id
  args.hbase_config.parse_generated_config_files(args, job_name, host_id, instance_id)
  config_files = generate_configs(args, host, job_name, instance_id)
  start_script = generate_start_script(args, host, job_name, host_id, instance_id)
  http_url = deploy_utils.get_http_service_uri(host,
    args.hbase_config.jobs[job_name].base_port, instance_id)
  deploy_utils.start_job(args, "hbase", "hbase", args.hbase_config,
      host, job_name, instance_id, start_script, http_url, **config_files)
コード例 #7
0
def start_job(args, host, job_name, host_id, instance_id, is_wait=False):
  if is_wait:
    deploy_utils.wait_for_job_stopping("yarn",
      args.yarn_config.cluster.name, job_name, host, instance_id)

  # parse the service_config according to the instance_id
  args.yarn_config.parse_generated_config_files(args, job_name, host_id, instance_id)
  config_files = generate_configs(args, host, job_name, instance_id)
  start_script = generate_start_script(args, host, job_name, host_id, instance_id)
  http_url = deploy_utils.get_http_service_uri(host,
    args.yarn_config.jobs[job_name].base_port, instance_id)
  deploy_utils.start_job(args, "hadoop", "yarn", args.yarn_config,
      host, job_name, instance_id, start_script, http_url, **config_files)
コード例 #8
0
ファイル: deploy_zookeeper.py プロジェクト: no2key/minos
def restart(args):
    if not args.skip_confirm:
        deploy_utils.confirm_restart(args)
    get_zk_service_config(args)

    hosts = args.zookeeper_config.jobs["zookeeper"].hosts
    if args.host is not None:
        args.task = deploy_utils.get_task_by_hostname(hosts, args.host)
    for id in args.task or hosts.iterkeys():
        stop_job(args, hosts[id], "zookeeper")

    for id in args.task or hosts.iterkeys():
        deploy_utils.wait_for_job_stopping("zookeeper", args.zookeeper_config.cluster.name, "zookeeper", hosts[id])
        start_job(args, hosts[id], "zookeeper")
コード例 #9
0
ファイル: deploy_zookeeper.py プロジェクト: seacoastboy/minos
def restart(args):
  if not args.skip_confirm:
    deploy_utils.confirm_restart(args)
  get_zk_service_config(args)

  hosts = args.zookeeper_config.jobs["zookeeper"].hosts
  if args.host is not None:
    args.task = deploy_utils.get_task_by_hostname(hosts, args.host)
  for id in args.task or hosts.iterkeys():
    stop_job(args, hosts[id], "zookeeper")

  for id in args.task or hosts.iterkeys():
    deploy_utils.wait_for_job_stopping("zookeeper",
        args.zookeeper_config.cluster.name, "zookeeper", hosts[id])
    start_job(args, hosts[id], "zookeeper")
コード例 #10
0
ファイル: deploy_hbase.py プロジェクト: JimoLucy/minos
def rolling_update(args):
    if not args.job:
        Log.print_critical("You must specify the job name to do rolling update")

    if not args.skip_confirm:
        deploy_utils.confirm_action(args, "rolling_update")

    get_hbase_service_config(args)
    job_name = args.job[0]

    if job_name != "regionserver":
        args.vacate_rs = False

    if args.vacate_rs:
        balance_switch(args, False)

    Log.print_info("Rolling updating %s" % job_name)
    hosts = args.hbase_config.jobs[job_name].hosts
    wait_time = 0

    args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
    for host_id in args.task_map.keys() or hosts.iterkeys():
        for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
            instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
            if not args.skip_confirm:
                deploy_utils.confirm_rolling_update(host_id, instance_id, wait_time)

            port = deploy_utils.get_base_port(args.hbase_config.jobs[job_name].base_port, instance_id)
            if args.vacate_rs:
                vacate_region_server(args, hosts[host_id].ip, port)

            stop_job(args, hosts[host_id].ip, job_name, instance_id)
            deploy_utils.wait_for_job_stopping(
                "hbase", args.hbase_config.cluster.name, job_name, hosts[host_id].ip, instance_id
            )
            start_job(args, hosts[host_id].ip, job_name, host_id, instance_id)
            deploy_utils.wait_for_job_starting(
                "hbase", args.hbase_config.cluster.name, job_name, hosts[host_id].ip, instance_id
            )

            if args.vacate_rs:
                recover_region_server(args, hosts[host_id].ip, port)
            wait_time = args.time_interval

    if args.vacate_rs:
        balance_switch(args, True)
    Log.print_success("Rolling updating %s success" % job_name)
コード例 #11
0
def restart(args):
  if not args.skip_confirm:
    deploy_utils.confirm_restart(args)
  get_impala_service_config(args)

  for job_name in args.job or ALL_JOBS:
    hosts = args.impala_config.jobs[job_name].hosts
    if args.host is not None:
      args.task = deploy_utils.get_task_by_hostname(hosts, args.host)
    for id in args.task or hosts.iterkeys():
      stop_job(args, hosts[id], job_name)

  for job_name in args.job or ALL_JOBS:
    hosts = args.impala_config.jobs[job_name].hosts
    for id in args.task or hosts.iterkeys():
      deploy_utils.wait_for_job_stopping("impala",
          args.impala_config.cluster.name, job_name, hosts[id])
      start_job(args, hosts[id], job_name)
コード例 #12
0
def restart(args):
  if not args.skip_confirm:
    deploy_utils.confirm_restart(args)
  get_zk_service_config(args)
  hosts = args.zookeeper_config.jobs["zookeeper"].hosts

  args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
  for host_id in args.task_map.keys() or hosts.keys():
    for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
      instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
      stop_job(args, hosts[host_id].ip, "zookeeper", instance_id)

  for host_id in args.task_map.keys() or hosts.keys():
    for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
      instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
      deploy_utils.wait_for_job_stopping("zookeeper",
        args.zookeeper_config.cluster.name, "zookeeper", hosts[host_id].ip, instance_id)
      start_job(args, hosts[host_id].ip, "zookeeper", host_id, instance_id)
コード例 #13
0
ファイル: deploy_zookeeper.py プロジェクト: zx-hub/minos
def restart(args):
  if not args.skip_confirm:
    deploy_utils.confirm_restart(args)
  get_zk_service_config(args)
  hosts = args.zookeeper_config.jobs["zookeeper"].hosts

  args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
  for host_id in args.task_map.keys() or hosts.keys():
    for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
      instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
      stop_job(args, hosts[host_id].ip, "zookeeper", instance_id)

  for host_id in args.task_map.keys() or hosts.keys():
    for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
      instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
      deploy_utils.wait_for_job_stopping("zookeeper",
        args.zookeeper_config.cluster.name, "zookeeper", hosts[host_id].ip, instance_id)
      start_job(args, hosts[host_id].ip, "zookeeper", host_id, instance_id)
コード例 #14
0
ファイル: deploy_zookeeper.py プロジェクト: no2key/minos
def rolling_update(args):
    get_zk_service_config(args)
    job_name = "zookeeper"

    if not args.skip_confirm:
        deploy_utils.confirm_action(args, "rolling_update")

    Log.print_info("Rolling updating %s" % job_name)
    hosts = args.zookeeper_config.jobs[job_name].hosts
    wait_time = 0
    for id in hosts.iterkeys():
        deploy_utils.confirm_rolling_update(id, wait_time)
        stop_job(args, hosts[id], job_name)
        deploy_utils.wait_for_job_stopping("zookeeper", args.zookeeper_config.cluster.name, job_name, hosts[id])
        start_job(args, hosts[id], job_name)
        deploy_utils.wait_for_job_starting("zookeeper", args.zookeeper_config.cluster.name, job_name, hosts[id])
        wait_time = args.time_interval
    Log.print_success("Rolling updating %s success" % job_name)
コード例 #15
0
ファイル: deploy_hbase.py プロジェクト: Davidwang79/minos
def restart(args):
  if not args.skip_confirm:
    deploy_utils.confirm_restart(args)
  get_hbase_service_config(args)

  for job_name in args.job or reversed(ALL_JOBS):
    hosts = args.hbase_config.jobs[job_name].hosts
    if args.host is not None:
      args.task = deploy_utils.get_task_by_hostname(hosts, args.host)
    for id in args.task or hosts.iterkeys():
      stop_job(args, hosts[id], job_name)

  for job_name in args.job or ALL_JOBS:
    hosts = args.hbase_config.jobs[job_name].hosts
    for id in args.task or hosts.iterkeys():
      deploy_utils.wait_for_job_stopping("hbase",
          args.hbase_config.cluster.name, job_name, hosts[id])
      start_job(args, hosts[id], job_name)
コード例 #16
0
def rolling_update(args):
    if not args.job:
        Log.print_critical(
            "You must specify the job name to do rolling update")

    if not args.skip_confirm:
        deploy_utils.confirm_action(args, "rolling_update")

    get_hbase_service_config(args)
    job_name = args.job[0]

    if job_name != 'regionserver':
        args.vacate_rs = False

    if args.vacate_rs:
        balance_switch(args, False)

    Log.print_info("Rolling updating %s" % job_name)
    hosts = args.hbase_config.jobs[job_name].hosts
    wait_time = 0

    for id in hosts.iterkeys():
        if not args.skip_confirm:
            deploy_utils.confirm_rolling_update(id, wait_time)

        if args.vacate_rs:
            vacate_region_server(args, hosts[id])

        stop_job(args, hosts[id], job_name)
        deploy_utils.wait_for_job_stopping("hbase",
                                           args.hbase_config.cluster.name,
                                           job_name, hosts[id])
        start_job(args, hosts[id], job_name)
        deploy_utils.wait_for_job_starting("hbase",
                                           args.hbase_config.cluster.name,
                                           job_name, hosts[id])

        if args.vacate_rs:
            recover_region_server(args, hosts[id])
        wait_time = args.time_interval

    if args.vacate_rs:
        balance_switch(args, True)
    Log.print_success("Rolling updating %s success" % job_name)
コード例 #17
0
ファイル: deploy_zookeeper.py プロジェクト: seacoastboy/minos
def rolling_update(args):
  get_zk_service_config(args)
  job_name = "zookeeper"

  if not args.skip_confirm:
    deploy_utils.confirm_action(args, "rolling_update")

  Log.print_info("Rolling updating %s" % job_name)
  hosts = args.zookeeper_config.jobs[job_name].hosts
  wait_time = 0
  for id in hosts.iterkeys():
    deploy_utils.confirm_rolling_update(id, wait_time)
    stop_job(args, hosts[id], job_name)
    deploy_utils.wait_for_job_stopping("zookeeper",
        args.zookeeper_config.cluster.name, job_name, hosts[id])
    start_job(args, hosts[id], job_name)
    deploy_utils.wait_for_job_starting("zookeeper",
        args.zookeeper_config.cluster.name, job_name, hosts[id])
    wait_time = args.time_interval
  Log.print_success("Rolling updating %s success" % job_name)
コード例 #18
0
ファイル: deploy_hbase.py プロジェクト: Davidwang79/minos
def rolling_update(args):
  if not args.job:
    Log.print_critical("You must specify the job name to do rolling update")

  if not args.skip_confirm:
    deploy_utils.confirm_action(args, "rolling_update")

  get_hbase_service_config(args)
  job_name = args.job[0]

  if job_name != 'regionserver':
    args.vacate_rs = False

  if args.vacate_rs:
    balance_switch(args, False)

  Log.print_info("Rolling updating %s" % job_name)
  hosts = args.hbase_config.jobs[job_name].hosts
  wait_time = 0

  for id in hosts.iterkeys():
    if not args.skip_confirm:
      deploy_utils.confirm_rolling_update(id, wait_time)

    if args.vacate_rs:
       vacate_region_server(args, hosts[id])

    stop_job(args, hosts[id], job_name)
    deploy_utils.wait_for_job_stopping("hbase",
        args.hbase_config.cluster.name, job_name, hosts[id])
    start_job(args, hosts[id], job_name)
    deploy_utils.wait_for_job_starting("hbase",
        args.hbase_config.cluster.name, job_name, hosts[id])

    if args.vacate_rs:
      recover_region_server(args, hosts[id])
    wait_time = args.time_interval

  if args.vacate_rs:
    balance_switch(args, True)
  Log.print_success("Rolling updating %s success" % job_name)
コード例 #19
0
ファイル: deploy_hdfs.py プロジェクト: JimoLucy/minos
def restart(args):
  if not args.skip_confirm:
    deploy_utils.confirm_restart(args)
  get_hdfs_service_config(args)

  for job_name in args.job or ALL_JOBS:
    hosts = args.hdfs_config.jobs[job_name].hosts
    args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
    for host_id in args.task_map.keys() or hosts.keys():
      for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
        instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
        stop_job(args, hosts[host_id].ip, job_name, instance_id)

  for job_name in args.job or ALL_JOBS:
    hosts = args.hdfs_config.jobs[job_name].hosts
    args.task_map = deploy_utils.parse_args_host_and_task(args, hosts)
    for host_id in args.task_map.keys() or hosts.keys():
      for instance_id in args.task_map.get(host_id) or range(hosts[host_id].instance_num):
        instance_id = -1 if not deploy_utils.is_multiple_instances(host_id, hosts) else instance_id
        deploy_utils.wait_for_job_stopping("hdfs",
          args.hdfs_config.cluster.name, job_name, hosts[host_id].ip, instance_id)
        start_job(args, hosts[host_id].ip, job_name, host_id, instance_id)
コード例 #20
0
ファイル: deploy_yarn.py プロジェクト: seacoastboy/minos
def rolling_update(args):
  if not args.job:
    Log.print_critical("You must specify the job name to do rolling update")

  get_yarn_service_config(args)
  job_name = args.job[0]

  if not args.skip_confirm:
    deploy_utils.confirm_action(args, "rolling_update")

  Log.print_info("Rolling updating %s" % job_name)
  hosts = args.yarn_config.jobs[job_name].hosts
  wait_time = 0
  for id in hosts.iterkeys():
    deploy_utils.confirm_rolling_update(id, wait_time)
    stop_job(args, hosts[id], job_name)
    deploy_utils.wait_for_job_stopping("yarn",
        args.yarn_config.cluster.name, job_name, hosts[id])
    start_job(args, hosts[id], job_name)
    deploy_utils.wait_for_job_starting("yarn",
        args.yarn_config.cluster.name, job_name, hosts[id])
    wait_time = args.time_interval
  Log.print_success("Rolling updating %s success" % job_name)