docs: def set_hadoop_settings(self, master_instance_type=None,
                              slave_instance_type=None,
                              initial_nodes=None,
                              max_nodes=None,
                              custom_config=None,
                              slave_request_type=None,
                              use_hbase=None,
                              custom_ec2_tags=None,
                              use_hadoop2=None,
                              use_spark=None,
                              is_ha=None):
          """
          Kwargs:
  
          `master_instance_type`: The instance type to use for the Hadoop master
              node.
  
          `slave_instance_type`: The instance type to use for the Hadoop slave
              nodes.
  
          `initial_nodes`: Number of nodes to start the cluster with.
  
          `max_nodes`: Maximum number of nodes the cluster may be auto-scaled up
              to.
  
          `custom_config`: Custom Hadoop configuration overrides.
  
          `slave_request_type`: Purchasing option for slave instances.
              Valid values: "ondemand", "hybrid", "spot".
  
          `use_hbase`: Start hbase daemons on the cluster. Uses Hadoop2
  
          `use_hadoop2`: Use hadoop2 in this cluster
  
          `use_spark`: Use spark in this cluster
  
          `is_ha` : enable HA config for cluster
  
          """
          self.hadoop_settings['master_instance_type'] = master_instance_type
          self.hadoop_settings['slave_instance_type'] = slave_instance_type
          self.hadoop_settings['initial_nodes'] = initial_nodes
          self.hadoop_settings['max_nodes'] = max_nodes
          self.hadoop_settings['custom_config'] = custom_config
          self.hadoop_settings['slave_request_type'] = slave_request_type
          self.hadoop_settings['use_hbase'] = use_hbase
          self.hadoop_settings['use_hadoop2'] = use_hadoop2
          self.hadoop_settings['use_spark'] = use_spark
          self.hadoop_settings['is_ha'] = is_ha
  
          if custom_ec2_tags and custom_ec2_tags.strip():
              try:
                  self.hadoop_settings['custom_ec2_tags'] = json.loads(custom_ec2_tags.strip())
              except Exception as e:
                  raise Exception("Invalid JSON string for custom ec2 tags: %s" % e.message)