Пример #1
0
  # The list of Impalads must be provided as a comma separated list of either host:port
  # combination or just host.
  for impalad in split_and_strip(options.impalads):
    if len(impalad.split(":")) not in [1,2]:
      raise RuntimeError("Impalads must be of the form host:port or host.")

if __name__ == "__main__":
  logging.basicConfig(level=logging.INFO, format='[%(name)s]: %(message)s')
  # Check for badly formed user options.
  _validate_options()

  # Intialize the PluginRunner.
  plugin_runner = None
  if options.plugin_names:
    plugin_runner = PluginRunner(split_and_strip(options.plugin_names))

  # Intialize workloads.
  workload_runners = list()
  query_name_filters = split_and_strip(options.query_names)
  # Create a workload config object.
  for workload_name, scale_factor in get_workload_scale_factor():
    config = create_workload_config()
    workload = Workload(workload_name, query_name_filters=query_name_filters)
    workload_runners.append(WorkloadRunner(workload, scale_factor, config))

  # Run all the workloads serially
  result_map = dict()
  exit_code = 0
  for workload_runner in workload_runners:
    try:
Пример #2
0
    # Only two client types are allowed (for now)
    assert options.client_type in ["beeswax", "jdbc"], "Invalid Client Type %s" % options.client_type

    # Check for duplicate workload/scale_factor combinations
    workloads = split_and_strip(options.workloads)
    assert len(set(workloads)) == len(workloads), "Duplicate workload/scale factor combinations are not allowed"


if __name__ == "__main__":
    # Check for badly formed user options.
    _validate_options()

    # Intialize the PluginRunner.
    plugin_runner = None
    if options.plugin_names:
        plugin_runner = PluginRunner(split_and_strip(options.plugin_names))

    # Intialize workloads.
    workload_runners = list()
    query_name_filters = split_and_strip(options.query_names)
    # Create a workload config object.
    for workload_name, scale_factor in get_workload_scale_factor():
        config = create_workload_config()
        workload = Workload(workload_name, query_name_filters=query_name_filters)
        workload_runners.append(WorkloadRunner(workload, scale_factor, config))

    # Run all the workloads serially
    result_map = dict()
    for workload_runner in workload_runners:
        try:
            if plugin_runner:
Пример #3
0
  """
    if options.use_kerberos:
        try:
            import sasl
        except ImportError:
            print 'The sasl module is needed to query a kerberized impalad'
            sys.exit(1)

    VALID_CLIENT_TYPES = ['beeswax', 'jdbc']
    if options.client_type not in VALID_CLIENT_TYPES:
        LOG.error("Invalid client type %s" % options.client_type)
        sys.exit(1)

    plugin_runner = None
    if options.plugin_names:
        plugin_runner = PluginRunner(options.plugin_names.split(','))

    # create a dictionary for the configuration.
    workload_config = vars(options)
    workload_config['plugin_runner'] = plugin_runner
    workload_runner = WorkloadRunner(**workload_config)

    failure_injector = None
    if options.failure_frequency > 0:
        # If not doing failure testing there is no reason to import these modules which
        # have additional dependencies.
        from common.failure_injector import FailureInjector
        from common.impala_cluster import ImpalaCluster

        cluster = ImpalaCluster(options.cm_server_host,
                                options.cm_cluster_name,