Explorar o código

AMBARI-15360. HiveInteractive. (1). Code for 'Hive Server Interactive' and related 'Tez' binaries installation. (2). Parameter declaration in 'params_linux' and 'status_params' related to 'Hive Server Interactive' (Swapan Shridhar via smohanty)

Sumit Mohanty %!s(int64=9) %!d(string=hai) anos
pai
achega
d02eb1f9b3
Modificáronse 20 ficheiros con 996 adicións e 36 borrados
  1. 1 0
      ambari-agent/src/main/python/ambari_agent/AmbariConfig.py
  2. 6 0
      ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py
  3. 1 0
      ambari-common/src/main/python/resource_management/libraries/functions/stack_select.py
  4. 12 21
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_interactive.py
  5. 18 1
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
  6. 13 3
      ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
  7. 104 0
      ambari-server/src/main/resources/stacks/HDP/2.6/services/HIVE/metainfo.xml
  8. 49 0
      ambari-server/src/test/python/stacks/2.0.6/configs/default.json
  9. 48 1
      ambari-server/src/test/python/stacks/2.0.6/configs/default_client.json
  10. 50 1
      ambari-server/src/test/python/stacks/2.0.6/configs/default_hive_nn_ha.json
  11. 50 1
      ambari-server/src/test/python/stacks/2.0.6/configs/default_hive_nn_ha_2.json
  12. 50 1
      ambari-server/src/test/python/stacks/2.0.6/configs/default_hive_non_hdfs.json
  13. 51 2
      ambari-server/src/test/python/stacks/2.0.6/configs/default_no_install.json
  14. 55 1
      ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
  15. 54 1
      ambari-server/src/test/python/stacks/2.0.6/configs/secured_client.json
  16. 16 0
      ambari-server/src/test/python/stacks/2.0.6/hooks/after-INSTALL/test_after_install.py
  17. 48 1
      ambari-server/src/test/python/stacks/2.1/configs/default.json
  18. 161 1
      ambari-server/src/test/python/stacks/2.1/configs/hive-metastore-upgrade.json
  19. 54 1
      ambari-server/src/test/python/stacks/2.1/configs/secured.json
  20. 155 0
      ambari-server/src/test/python/stacks/2.2/configs/hive-upgrade.json

+ 1 - 0
ambari-agent/src/main/python/ambari_agent/AmbariConfig.py

@@ -90,6 +90,7 @@ servicesToPidNames = {
   'KERBEROS_SERVER': 'kadmind.pid',
   'HIVE_SERVER': 'hive-server.pid',
   'HIVE_METASTORE': 'hive.pid',
+  'HIVE_SERVER_INTERACTIVE' : 'hive-interactive.pid',
   'MYSQL_SERVER': 'mysqld.pid',
   'HUE_SERVER': '/var/run/hue/supervisor.pid',
   'WEBHCAT_SERVER': 'webhcat.pid',

+ 6 - 0
ambari-common/src/main/python/resource_management/libraries/functions/conf_select.py

@@ -69,6 +69,12 @@ PACKAGE_DIRS = {
       "current_dir": "/usr/hdp/current/hive-client/conf"
     }
   ],
+  "hive2": [
+    {
+      "conf_dir": "/etc/hive2/conf",
+      "current_dir": "/usr/hdp/current/hive-server2-hive2/conf"
+    }
+  ],
   "kafka": [
     {
       "conf_dir": "/etc/kafka/conf",

+ 1 - 0
ambari-common/src/main/python/resource_management/libraries/functions/stack_select.py

@@ -58,6 +58,7 @@ SERVER_ROLE_DIRECTORY_MAP = {
   'HBASE_REGIONSERVER' : 'hbase-regionserver',
   'HIVE_METASTORE' : 'hive-metastore',
   'HIVE_SERVER' : 'hive-server2',
+  'HIVE_SERVER_INTERACTIVE' : 'hive-server2-hive2',
   'WEBHCAT_SERVER' : 'hive-webhcat',
   'KAFKA_BROKER' : 'kafka-broker',
   'KNOX_GATEWAY' : 'knox-server',

+ 12 - 21
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_interactive.py

@@ -32,61 +32,52 @@ from resource_management.libraries.functions.security_commons import build_expec
     cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \
     FILE_TYPE_XML
 from ambari_commons import OSCheck, OSConst
-if OSCheck.is_windows_family():
-    from resource_management.libraries.functions.windows_service_utils import check_windows_service_status
 from setup_ranger_hive import setup_ranger_hive
 from ambari_commons.os_family_impl import OsFamilyImpl
 from ambari_commons.constants import UPGRADE_TYPE_ROLLING
 from resource_management.core.logger import Logger
 
 import hive_server_upgrade
-from hive import hive
-from hive_service import hive_service
-
 
 class HiveServerInteractive(Script):
     def install(self, env):
-        pass
+      import params
+      self.install_packages(env)
 
     def configure(self, env):
-        pass
-
+      pass
 
 @OsFamilyImpl(os_family=OSConst.WINSRV_FAMILY)
 class HiveServerWindows(HiveServerInteractive):
     def start(self, env):
-        pass
+      pass
 
     def stop(self, env):
-        pass
+      pass
 
     def status(self, env):
-        pass
+      pass
 
 
 @OsFamilyImpl(os_family=OsFamilyImpl.DEFAULT)
 class HiveServerDefault(HiveServerInteractive):
     def get_stack_to_component(self):
-        pass
+      return {"HDP": "hive-server2-hive2"}
 
     def start(self, env, upgrade_type=None):
-        pass
-
+      pass
 
     def stop(self, env, upgrade_type=None):
-        pass
-
+      pass
 
     def status(self, env):
-        pass
-
+      pass
 
     def pre_upgrade_restart(self, env, upgrade_type=None):
-        pass
-
+      pass
 
     def security_status(self, env):
-        pass
+      pass
 
 
 if __name__ == "__main__":

+ 18 - 1
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py

@@ -80,6 +80,11 @@ hive_bin = '/usr/lib/hive/bin'
 hive_lib = '/usr/lib/hive/lib/'
 hive_var_lib = '/var/lib/hive'
 
+# Hive Interative related paths
+hive_interactive_bin = '/usr/lib/hive2/bin'
+hive_interactive_lib = '/usr/lib/hive2/lib/'
+hive_interactive_var_lib = '/var/lib/hive2'
+
 # These tar folders were used in HDP 2.1
 hadoop_streaming_jars = '/usr/lib/hadoop-mapreduce/hadoop-streaming-*.jar'
 pig_tar_file = '/usr/share/HDP-webhcat/pig.tar.gz'
@@ -88,6 +93,7 @@ sqoop_tar_file = '/usr/share/HDP-webhcat/sqoop*.tar.gz'
 
 hive_specific_configs_supported = False
 hive_etc_dir_prefix = "/etc/hive"
+hive_interactive_etc_dir_prefix = "/etc/hive2"
 limits_conf_dir = "/etc/security/limits.d"
 
 hive_user_nofile_limit = default("/configurations/hive-env/hive_user_nofile_limit", "32000")
@@ -102,6 +108,8 @@ hive_conf_dir = status_params.hive_conf_dir
 hive_config_dir = status_params.hive_config_dir
 hive_client_conf_dir = status_params.hive_client_conf_dir
 hive_server_conf_dir = status_params.hive_server_conf_dir
+hive_interactive_client_conf_dir = status_params.hive_interactive_client_conf_dir
+hive_server_interactive_conf_dir = status_params.hive_server_interactive_conf_dir
 
 hcat_conf_dir = '/etc/hive-hcatalog/conf'
 config_dir = '/etc/hive-webhcat/conf'
@@ -122,14 +130,17 @@ if Script.is_stack_greater_or_equal("2.2"):
   hive_specific_configs_supported = True
 
   component_directory = status_params.component_directory
+  component_directory_interactive = status_params.component_directory_interactive
   hadoop_home = '/usr/hdp/current/hadoop-client'
   hive_bin = format('/usr/hdp/current/{component_directory}/bin')
+  hive_interactive_bin = format('/usr/hdp/current/{component_directory_interactive}/bin')
   hive_lib = format('/usr/hdp/current/{component_directory}/lib')
+  hive_interactive_lib = format('/usr/hdp/current/{component_directory_interactive}/lib')
 
   # there are no client versions of these, use server versions directly
   hcat_lib = '/usr/hdp/current/hive-webhcat/share/hcatalog'
   webhcat_bin_dir = '/usr/hdp/current/hive-webhcat/sbin'
-  
+
   # --- Tarballs ---
   # DON'T CHANGE THESE VARIABLE NAMES
   # Values don't change from those in copy_tarball.py
@@ -163,6 +174,7 @@ else:
   tarballs_mode = 0755
 
 execute_path = os.environ['PATH'] + os.pathsep + hive_bin + os.pathsep + hadoop_bin_dir
+execute_path_hive_interactive = os.environ['PATH'] + os.pathsep + hive_interactive_bin + os.pathsep + hadoop_bin_dir
 hive_metastore_user_name = config['configurations']['hive-site']['javax.jdo.option.ConnectionUserName']
 hive_jdbc_connection_url = config['configurations']['hive-site']['javax.jdo.option.ConnectionURL']
 
@@ -257,9 +269,11 @@ hive_server2_keytab = config['configurations']['hive-site']['hive.server2.authen
 hive_log_dir = config['configurations']['hive-env']['hive_log_dir']
 hive_pid_dir = status_params.hive_pid_dir
 hive_pid = status_params.hive_pid
+hive_interactive_pid = status_params.hive_interactive_pid
 
 #Default conf dir for client
 hive_conf_dirs_list = [hive_client_conf_dir]
+hive_interactive_conf_dirs_list = [hive_interactive_client_conf_dir]
 
 if hostname in hive_metastore_hosts or hostname in hive_server_hosts:
   hive_conf_dirs_list.append(hive_server_conf_dir)
@@ -285,6 +299,7 @@ artifact_dir = format("{tmp_dir}/AMBARI-artifacts/")
 yarn_log_dir_prefix = config['configurations']['yarn-env']['yarn_log_dir_prefix']
 
 target = format("{hive_lib}/{jdbc_jar_name}")
+target_interactive = format("{hive_interactive_lib}/{jdbc_jar_name}")
 jars_in_hive_lib = format("{hive_lib}/*.jar")
 
 
@@ -394,6 +409,8 @@ hive_use_existing_db = hive_database.startswith('Existing')
 
 
 hive_site_config = dict(config['configurations']['hive-site'])
+hive_interactive_site_config = dict(config['configurations']['hive-interactive-site'])
+
 ########################################################
 ############# Atlas related params #####################
 ########################################################

+ 13 - 3
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py

@@ -34,10 +34,12 @@ SERVER_ROLE_DIRECTORY_MAP = {
   'HIVE_SERVER' : 'hive-server2',
   'WEBHCAT_SERVER' : 'hive-webhcat',
   'HIVE_CLIENT' : 'hive-client',
-  'HCAT' : 'hive-client'
+  'HCAT' : 'hive-client',
+  'HIVE_SERVER_INTERACTIVE' : 'hive-server2-hive2'
 }
 
 component_directory = Script.get_component_from_role(SERVER_ROLE_DIRECTORY_MAP, "HIVE_CLIENT")
+component_directory_interactive = Script.get_component_from_role(SERVER_ROLE_DIRECTORY_MAP, "HIVE_SERVER_INTERACTIVE")
 
 config = Script.get_config()
 
@@ -49,7 +51,7 @@ if OSCheck.is_windows_family():
 else:
   hive_pid_dir = config['configurations']['hive-env']['hive_pid_dir']
   hive_pid = 'hive-server.pid'
-
+  hive_interactive_pid = 'hive-interactive.pid'
   hive_metastore_pid = 'hive.pid'
 
   hcat_pid_dir = config['configurations']['hive-env']['hcat_pid_dir'] #hcat_pid_dir
@@ -75,28 +77,36 @@ else:
   hadoop_bin_dir = stack_select.get_hadoop_dir("bin")
   webhcat_conf_dir = '/etc/hive-webhcat/conf'
   hive_etc_dir_prefix = "/etc/hive"
+  hive_interactive_etc_dir_prefix = "/etc/hive2"
   hive_conf_dir = "/etc/hive/conf"
   hive_client_conf_dir = "/etc/hive/conf"
+  hive_interactive_client_conf_dir = "/etc/hive2/conf"
 
   # !!! required by ranger to be at this location unless HDP 2.3+
   hive_server_conf_dir = "/etc/hive/conf.server"
+  hive_server_interactive_conf_dir = "/etc/hive2/conf.server"
 
   # HDP 2.2+
   if Script.is_stack_greater_or_equal("2.2"):
     webhcat_conf_dir = '/usr/hdp/current/hive-webhcat/conf'
     hive_conf_dir = format("/usr/hdp/current/{component_directory}/conf")
     hive_client_conf_dir = format("/usr/hdp/current/{component_directory}/conf")
+    hive_interactive_client_conf_dir = format("/usr/hdp/current/{component_directory_interactive}/conf")
 
   # HDP 2.3+
   if Script.is_stack_greater_or_equal("2.3"):
     # ranger is only compatible with this location on HDP 2.3+, not HDP 2.2
     hive_server_conf_dir = format("/usr/hdp/current/{component_directory}/conf/conf.server")
+    hive_server_interactive_conf_dir = format("/usr/hdp/current/{component_directory_interactive}/conf/conf.server")
 
     # this is NOT a typo.  HDP-2.3 configs for hcatalog/webhcat point to a
     # specific directory which is NOT called 'conf'
     webhcat_conf_dir = '/usr/hdp/current/hive-webhcat/etc/webhcat'
     hive_conf_dir = hive_server_conf_dir
+    hive_interactive_conf_dir = hive_server_interactive_conf_dir
 
   hive_config_dir = hive_client_conf_dir
-  if 'role' in config and config['role'] in ["HIVE_SERVER", "HIVE_METASTORE"]:
+  hive_interactive_config_dir = hive_interactive_client_conf_dir
+  if 'role' in config and config['role'] in ["HIVE_SERVER", "HIVE_METASTORE", "HIVE_SERVER_INTERACTIVE"]:
     hive_config_dir = hive_server_conf_dir
+    hive_interactive_conf_dir = hive_server_interactive_conf_dir

+ 104 - 0
ambari-server/src/main/resources/stacks/HDP/2.6/services/HIVE/metainfo.xml

@@ -112,6 +112,110 @@
         <service>PIG</service>
         <service>SLIDER</service>
       </requiredServices>
+      <osSpecifics>
+        <osSpecific>
+          <osFamily>any</osFamily>
+          <packages>
+            <package>
+              <name>mysql-connector-java</name>
+              <skipUpgrade>true</skipUpgrade>
+              <condition>should_install_mysl_connector</condition>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>redhat7,amazon2015,redhat6,suse11</osFamily>
+          <packages>
+            <package>
+              <name>hive_${stack_version}</name>
+            </package>
+            <package>
+              <name>hive_${stack_version}-hcatalog</name>
+            </package>
+            <package>
+              <name>hive_${stack_version}-webhcat</name>
+            </package>
+            <package>
+              <name>atlas-metadata_${stack_version}-hive-plugin</name>
+              <condition>should_install_hive_atlas</condition>
+            </package>
+            <package>
+              <name>hive2_${stack_version}</name>
+            </package>
+            <package>
+              <name>tez_hive2_${stack_version}</name>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>amazon2015,redhat6,suse11</osFamily>
+          <packages>
+            <package>
+              <name>mysql</name>
+              <skipUpgrade>true</skipUpgrade>
+              <condition>should_install_mysql</condition>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>redhat7</osFamily>
+          <packages>
+            <package>
+              <name>mysql-community-release</name>
+              <skipUpgrade>true</skipUpgrade>
+              <condition>should_install_mysql</condition>
+            </package>
+            <package>
+              <name>mysql-community-server</name>
+              <skipUpgrade>true</skipUpgrade>
+              <condition>should_install_mysql</condition>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>debian7,ubuntu12,ubuntu14</osFamily>
+          <packages>
+            <package>
+              <name>hive-${stack_version}</name>
+            </package>
+            <package>
+              <name>hive-${stack_version}-hcatalog</name>
+            </package>
+            <package>
+              <name>hive-${stack_version}-webhcat</name>
+            </package>
+            <package>
+              <name>atlas-metadata-${stack_version}-hive-plugin</name>
+              <condition>should_install_hive_atlas</condition>
+            </package>
+            <package>
+              <name>hive2_${stack_version}</name>
+            </package>
+            <package>
+              <name>tez_hive2_${stack_version}</name>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>amazon2015,redhat6,debian7,ubuntu12,ubuntu14</osFamily>
+          <packages>
+            <package>
+              <name>mysql-server</name>
+              <skipUpgrade>true</skipUpgrade>
+              <condition>should_install_mysql</condition>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>suse11</osFamily>
+          <packages>
+            <package>
+              <name>mysql-client</name>
+              <skipUpgrade>true</skipUpgrade>
+            </package>
+          </packages>
+        </osSpecific>
+      </osSpecifics>
     </service>
   </services>
 </metainfo>

+ 49 - 0
ambari-server/src/test/python/stacks/2.0.6/configs/default.json

@@ -385,6 +385,45 @@
             "hive.server2.transport.mode": "binary",
             "hive.optimize.mapjoin.mapreduce": "true",
             "hive.exec.scratchdir" : "/custompath/tmp/hive"
+        },
+        "hive-interactive-site": {
+            "hive.enforce.sorting": "true",
+            "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+            "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+            "hive.optimize.bucketmapjoin.sortedmerge": "true",
+            "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "fs.file.impl.disable.cache": "true",
+            "hive.auto.convert.join.noconditionaltask": "true",
+            "hive.map.aggr": "true",
+            "hive.optimize.index.filter": "true",
+            "hive.security.authorization.enabled": "false",
+            "hive.optimize.reducededuplication.min.reducer": "1",
+            "hive.optimize.bucketmapjoin": "true",
+            "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+            "hive.mapjoin.bucket.cache.size": "10000",
+            "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+            "hive.vectorized.execution.enabled": "false",
+            "javax.jdo.option.ConnectionUserName": "hive",
+            "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+            "hive.optimize.reducededuplication": "true",
+            "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+            "hive.metastore.client.socket.timeout": "60",
+            "hive.auto.convert.join": "true",
+            "hive.enforce.bucketing": "true",
+            "hive.mapred.reduce.tasks.speculative.execution": "false",
+            "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+            "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+            "hive.auto.convert.sortmerge.join": "true",
+            "fs.hdfs.impl.disable.cache": "true",
+            "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "ambari.hive.db.schema.name": "hive",
+            "hive.metastore.execute.setugi": "true",
+            "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+            "hive.server2.enable.doAs": "true",
+            "hive.server2.authentication": "NOSASL",
+            "hive.server2.transport.mode": "binary",
+            "hive.optimize.mapjoin.mapreduce": "true",
+            "hive.exec.scratchdir" : "/custompath/tmp/hive"
         },
 		"ranger-hive-plugin-properties": {
             "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900",
@@ -961,6 +1000,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -1027,6 +1073,9 @@
         "hive-site": {
             "tag": "version1"
         },
+        "hive-interactive-site": {
+            "tag": "version1"
+        },
         "hdfs-log4j": {
             "tag": "version1"
         },

+ 48 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/default_client.json

@@ -401,7 +401,44 @@
             "hive.server2.enable.doAs": "true",
             "hive.server2.transport.mode": "binary",
             "hive.optimize.mapjoin.mapreduce": "true"
-        }, 
+        },
+        "hive-interactive-site": {
+            "hive.enforce.sorting": "true",
+            "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+            "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+            "hive.optimize.bucketmapjoin.sortedmerge": "true",
+            "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "fs.file.impl.disable.cache": "true",
+            "hive.auto.convert.join.noconditionaltask": "true",
+            "hive.map.aggr": "true",
+            "hive.optimize.index.filter": "true",
+            "hive.security.authorization.enabled": "false",
+            "hive.optimize.reducededuplication.min.reducer": "1",
+            "hive.optimize.bucketmapjoin": "true",
+            "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+            "hive.mapjoin.bucket.cache.size": "10000",
+            "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+            "hive.vectorized.execution.enabled": "false",
+            "javax.jdo.option.ConnectionUserName": "hive",
+            "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+            "hive.optimize.reducededuplication": "true",
+            "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+            "hive.metastore.client.socket.timeout": "60",
+            "hive.auto.convert.join": "true",
+            "hive.enforce.bucketing": "true",
+            "hive.mapred.reduce.tasks.speculative.execution": "false",
+            "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+            "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+            "hive.auto.convert.sortmerge.join": "true",
+            "fs.hdfs.impl.disable.cache": "true",
+            "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "ambari.hive.db.schema.name": "hive",
+            "hive.metastore.execute.setugi": "true",
+            "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+            "hive.server2.enable.doAs": "true",
+            "hive.server2.transport.mode": "binary",
+            "hive.optimize.mapjoin.mapreduce": "true"
+        },
         "yarn-site": {
             "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25", 
             "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor", 
@@ -680,6 +717,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -716,6 +760,9 @@
         "hive-site": {
             "tag": "version1"
         },
+        "hive-interactive-site": {
+            "tag": "version1"
+        },
         "hdfs-log4j": {
             "tag": "version1"
         },

+ 50 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/default_hive_nn_ha.json

@@ -212,7 +212,46 @@
             "hive.server2.transport.mode": "binary",
             "hive.optimize.mapjoin.mapreduce": "true",
             "hive.exec.scratchdir" : "hdfs://c6402.ambari.apache.org:8020/tmp/hive"
-        }, 
+        },
+        "hive-interactive-site": {
+          "hive.enforce.sorting": "true",
+          "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+          "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true",
+          "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+          "fs.file.impl.disable.cache": "true",
+          "hive.auto.convert.join.noconditionaltask": "true",
+          "hive.map.aggr": "true",
+          "hive.optimize.index.filter": "true",
+          "hive.security.authorization.enabled": "false",
+          "hive.optimize.reducededuplication.min.reducer": "1",
+          "hive.optimize.bucketmapjoin": "true",
+          "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+          "hive.mapjoin.bucket.cache.size": "10000",
+          "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+          "hive.vectorized.execution.enabled": "false",
+          "javax.jdo.option.ConnectionUserName": "hive",
+          "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+          "hive.optimize.reducededuplication": "true",
+          "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+          "hive.metastore.client.socket.timeout": "60",
+          "hive.auto.convert.join": "true",
+          "hive.enforce.bucketing": "true",
+          "hive.mapred.reduce.tasks.speculative.execution": "false",
+          "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+          "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+          "hive.auto.convert.sortmerge.join": "true",
+          "fs.hdfs.impl.disable.cache": "true",
+          "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+          "ambari.hive.db.schema.name": "hive",
+          "hive.metastore.execute.setugi": "true",
+          "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+          "hive.server2.enable.doAs": "true",
+          "hive.server2.authentication": "NOSASL",
+          "hive.server2.transport.mode": "binary",
+          "hive.optimize.mapjoin.mapreduce": "true",
+          "hive.exec.scratchdir" : "hdfs://c6402.ambari.apache.org:8020/tmp/hive"
+        },
         "ranger-hive-plugin-properties": {
             "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", 
             "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", 
@@ -510,6 +549,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -546,6 +592,9 @@
         "hive-site": {
             "tag": "version1"
         },
+        "hive-interactive-site": {
+          "tag": "version1"
+        },
         "hdfs-log4j": {
             "tag": "version1"
         },

+ 50 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/default_hive_nn_ha_2.json

@@ -214,7 +214,46 @@
             "hive.server2.transport.mode": "binary",
             "hive.optimize.mapjoin.mapreduce": "true",
             "hive.exec.scratchdir" : "hdfs://mycluster/tmp/hive2"
-        }, 
+        },
+        "hive-interactive-site": {
+          "hive.enforce.sorting": "true",
+          "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+          "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true",
+          "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+          "fs.file.impl.disable.cache": "true",
+          "hive.auto.convert.join.noconditionaltask": "true",
+          "hive.map.aggr": "true",
+          "hive.optimize.index.filter": "true",
+          "hive.security.authorization.enabled": "false",
+          "hive.optimize.reducededuplication.min.reducer": "1",
+          "hive.optimize.bucketmapjoin": "true",
+          "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+          "hive.mapjoin.bucket.cache.size": "10000",
+          "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+          "hive.vectorized.execution.enabled": "false",
+          "javax.jdo.option.ConnectionUserName": "hive",
+          "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+          "hive.optimize.reducededuplication": "true",
+          "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+          "hive.metastore.client.socket.timeout": "60",
+          "hive.auto.convert.join": "true",
+          "hive.enforce.bucketing": "true",
+          "hive.mapred.reduce.tasks.speculative.execution": "false",
+          "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+          "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+          "hive.auto.convert.sortmerge.join": "true",
+          "fs.hdfs.impl.disable.cache": "true",
+          "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+          "ambari.hive.db.schema.name": "hive",
+          "hive.metastore.execute.setugi": "true",
+          "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+          "hive.server2.enable.doAs": "true",
+          "hive.server2.authentication": "NOSASL",
+          "hive.server2.transport.mode": "binary",
+          "hive.optimize.mapjoin.mapreduce": "true",
+          "hive.exec.scratchdir" : "hdfs://mycluster/tmp/hive2"
+        },
         "ranger-hive-plugin-properties": {
             "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", 
             "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", 
@@ -512,6 +551,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -548,6 +594,9 @@
         "hive-site": {
             "tag": "version1"
         },
+        "hive-interactive-site": {
+          "tag": "version1"
+        },
         "hdfs-log4j": {
             "tag": "version1"
         },

+ 50 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/default_hive_non_hdfs.json

@@ -378,7 +378,46 @@
             "hive.server2.transport.mode": "binary",
             "hive.optimize.mapjoin.mapreduce": "true",
             "hive.exec.scratchdir" : "/custompath/tmp/hive"
-        }, 
+        },
+        "hive-interactive-site": {
+            "hive.enforce.sorting": "true",
+            "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+            "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+            "hive.optimize.bucketmapjoin.sortedmerge": "true",
+            "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "fs.file.impl.disable.cache": "true",
+            "hive.auto.convert.join.noconditionaltask": "true",
+            "hive.map.aggr": "true",
+            "hive.optimize.index.filter": "true",
+            "hive.security.authorization.enabled": "false",
+            "hive.optimize.reducededuplication.min.reducer": "1",
+            "hive.optimize.bucketmapjoin": "true",
+            "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+            "hive.mapjoin.bucket.cache.size": "10000",
+            "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+            "hive.vectorized.execution.enabled": "false",
+            "javax.jdo.option.ConnectionUserName": "hive",
+            "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+            "hive.optimize.reducededuplication": "true",
+            "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+            "hive.metastore.client.socket.timeout": "60",
+            "hive.auto.convert.join": "true",
+            "hive.enforce.bucketing": "true",
+            "hive.mapred.reduce.tasks.speculative.execution": "false",
+            "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+            "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+            "hive.auto.convert.sortmerge.join": "true",
+            "fs.hdfs.impl.disable.cache": "true",
+            "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "ambari.hive.db.schema.name": "hive",
+            "hive.metastore.execute.setugi": "true",
+            "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+            "hive.server2.enable.doAs": "true",
+            "hive.server2.authentication": "NOSASL",
+            "hive.server2.transport.mode": "binary",
+            "hive.optimize.mapjoin.mapreduce": "true",
+            "hive.exec.scratchdir" : "/custompath/tmp/hive"
+        },
 		"ranger-hive-plugin-properties": {
             "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", 
             "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", 
@@ -926,6 +965,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -986,6 +1032,9 @@
         "hive-site": {
             "tag": "version1"
         },
+        "hive-interactive-site": {
+            "tag": "version1"
+        },
         "hdfs-log4j": {
             "tag": "version1"
         },

+ 51 - 2
ambari-server/src/test/python/stacks/2.0.6/configs/default_no_install.json

@@ -380,7 +380,46 @@
             "hive.server2.transport.mode": "binary",
             "hive.optimize.mapjoin.mapreduce": "true",
             "hive.exec.scratchdir" : "/custompath/tmp/hive"
-        }, 
+        },
+        "hive-interactive-site": {
+            "hive.enforce.sorting": "true",
+            "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+            "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+            "hive.optimize.bucketmapjoin.sortedmerge": "true",
+            "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "fs.file.impl.disable.cache": "true",
+            "hive.auto.convert.join.noconditionaltask": "true",
+            "hive.map.aggr": "true",
+            "hive.optimize.index.filter": "true",
+            "hive.security.authorization.enabled": "false",
+            "hive.optimize.reducededuplication.min.reducer": "1",
+            "hive.optimize.bucketmapjoin": "true",
+            "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+            "hive.mapjoin.bucket.cache.size": "10000",
+            "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+            "hive.vectorized.execution.enabled": "false",
+            "javax.jdo.option.ConnectionUserName": "hive",
+            "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+            "hive.optimize.reducededuplication": "true",
+            "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+            "hive.metastore.client.socket.timeout": "60",
+            "hive.auto.convert.join": "true",
+            "hive.enforce.bucketing": "true",
+            "hive.mapred.reduce.tasks.speculative.execution": "false",
+            "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+            "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+            "hive.auto.convert.sortmerge.join": "true",
+            "fs.hdfs.impl.disable.cache": "true",
+            "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "ambari.hive.db.schema.name": "hive",
+            "hive.metastore.execute.setugi": "true",
+            "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+            "hive.server2.enable.doAs": "true",
+            "hive.server2.authentication": "NOSASL",
+            "hive.server2.transport.mode": "binary",
+            "hive.optimize.mapjoin.mapreduce": "true",
+            "hive.exec.scratchdir" : "/custompath/tmp/hive"
+        },
         "ranger-hive-plugin-properties": {
             "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", 
             "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", 
@@ -735,6 +774,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -771,6 +817,9 @@
         "hive-site": {
             "tag": "version1"
         },
+        "hive-interactive-site": {
+            "tag": "version1"
+        },
         "hdfs-log4j": {
             "tag": "version1"
         },
@@ -840,7 +889,7 @@
         ], 
         "supervisor_hosts": [
             "c6401.ambari.apache.org", 
-            "c6402.ambari.apache.org"
+            "c6pache.org"
         ], 
         "ganglia_monitor_hosts": [
             "c6401.ambari.apache.org", 

+ 55 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/secured.json

@@ -488,7 +488,51 @@
             "hive.server2.transport.mode": "binary",
             "hive.server2.authentication.kerberos.keytab": "/etc/security/keytabs/hive.service.keytab",
             "hive.exec.scratchdir" : "/custompath/tmp/hive"
-        }, 
+        },
+        "hive-interactive-site": {
+            "hive.enforce.sorting": "true",
+            "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+            "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+            "hive.optimize.bucketmapjoin.sortedmerge": "true",
+            "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "fs.file.impl.disable.cache": "true",
+            "hive.auto.convert.join.noconditionaltask": "true",
+            "hive.server2.authentication.kerberos.principal": "hive/_HOST@EXAMPLE.COM",
+            "hive.optimize.bucketmapjoin": "true",
+            "hive.map.aggr": "true",
+            "hive.optimize.index.filter": "true",
+            "hive.security.authorization.enabled": "true",
+            "hive.optimize.reducededuplication": "true",
+            "hive.metastore.kerberos.keytab.file": "/etc/security/keytabs/hive.service.keytab",
+            "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+            "hive.mapjoin.bucket.cache.size": "10000",
+            "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+            "hive.vectorized.execution.enabled": "false",
+            "javax.jdo.option.ConnectionUserName": "hive",
+            "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+            "hive.server2.authentication": "KERBEROS",
+            "hive.metastore.sasl.enabled": "true",
+            "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+            "hive.metastore.client.socket.timeout": "60",
+            "hive.metastore.kerberos.principal": "hive/_HOST@EXAMPLE.COM",
+            "hive.optimize.reducededuplication.min.reducer": "1",
+            "hive.auto.convert.join": "true",
+            "hive.enforce.bucketing": "true",
+            "hive.mapred.reduce.tasks.speculative.execution": "false",
+            "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+            "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+            "hive.auto.convert.sortmerge.join": "true",
+            "fs.hdfs.impl.disable.cache": "true",
+            "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "ambari.hive.db.schema.name": "hive",
+            "hive.metastore.execute.setugi": "true",
+            "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+            "hive.server2.enable.doAs": "true",
+            "hive.optimize.mapjoin.mapreduce": "true",
+            "hive.server2.transport.mode": "binary",
+            "hive.server2.authentication.kerberos.keytab": "/etc/security/keytabs/hive.service.keytab",
+            "hive.exec.scratchdir" : "/custompath/tmp/hive"
+        },
         "yarn-site": {
             "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25", 
             "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor", 
@@ -838,6 +882,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -874,6 +925,9 @@
         "hive-site": {
             "tag": "version1389972945450"
         },
+        "hive-interactive-site": {
+            "tag": "version1389972945450"
+        },
         "hdfs-log4j": {
             "tag": "version1389972945450"
         },

+ 54 - 1
ambari-server/src/test/python/stacks/2.0.6/configs/secured_client.json

@@ -442,7 +442,50 @@
             "hive.optimize.mapjoin.mapreduce": "true",
             "hive.server2.transport.mode": "binary",
             "hive.server2.authentication.kerberos.keytab": "/etc/security/keytabs/hive.service.keytab"
-        }, 
+        },
+        "hive-interactive-site": {
+            "hive.enforce.sorting": "true",
+            "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+            "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+            "hive.optimize.bucketmapjoin.sortedmerge": "true",
+            "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "fs.file.impl.disable.cache": "true",
+            "hive.auto.convert.join.noconditionaltask": "true",
+            "hive.server2.authentication.kerberos.principal": "hive/_HOST@EXAMPLE.COM",
+            "hive.optimize.bucketmapjoin": "true",
+            "hive.map.aggr": "true",
+            "hive.optimize.index.filter": "true",
+            "hive.security.authorization.enabled": "true",
+            "hive.optimize.reducededuplication": "true",
+            "hive.metastore.kerberos.keytab.file": "/etc/security/keytabs/hive.service.keytab",
+            "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+            "hive.mapjoin.bucket.cache.size": "10000",
+            "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+            "hive.vectorized.execution.enabled": "false",
+            "javax.jdo.option.ConnectionUserName": "hive",
+            "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+            "hive.server2.authentication": "KERBEROS",
+            "hive.metastore.sasl.enabled": "true",
+            "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+            "hive.metastore.client.socket.timeout": "60",
+            "hive.metastore.kerberos.principal": "hive/_HOST@EXAMPLE.COM",
+            "hive.optimize.reducededuplication.min.reducer": "1",
+            "hive.auto.convert.join": "true",
+            "hive.enforce.bucketing": "true",
+            "hive.mapred.reduce.tasks.speculative.execution": "false",
+            "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+            "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+            "hive.auto.convert.sortmerge.join": "true",
+            "fs.hdfs.impl.disable.cache": "true",
+            "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "ambari.hive.db.schema.name": "hive",
+            "hive.metastore.execute.setugi": "true",
+            "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+            "hive.server2.enable.doAs": "true",
+            "hive.optimize.mapjoin.mapreduce": "true",
+            "hive.server2.transport.mode": "binary",
+            "hive.server2.authentication.kerberos.keytab": "/etc/security/keytabs/hive.service.keytab"
+        },
         "yarn-site": {
             "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25", 
             "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor", 
@@ -703,6 +746,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -739,6 +789,9 @@
         "hive-site": {
             "tag": "version1389972945450"
         },
+        "hive-interactive-site": {
+            "tag": "version1389972945450"
+        },
         "hdfs-log4j": {
             "tag": "version1389972945450"
         },

+ 16 - 0
ambari-server/src/test/python/stacks/2.0.6/hooks/after-INSTALL/test_after_install.py

@@ -88,6 +88,14 @@ class TestHookAfterInstall(RMFTestCase):
     self.assertResourceCalled('Link', '/etc/ranger/kms/conf',
         to = '/usr/hdp/current/ranger-kms/conf',)
 
+    self.assertResourceCalled('Execute', ('cp', '-R', '-p', '/etc/hive2/conf', '/etc/hive2/conf.backup'),
+                              not_if = 'test -e /etc/hive2/conf.backup',
+                              sudo = True)
+    self.assertResourceCalled('Directory', '/etc/hive2/conf',
+                            action = ['delete'])
+    self.assertResourceCalled('Link', '/etc/hive2/conf',
+                            to = '/usr/hdp/current/hive-server2-hive2/conf')
+
     self.assertResourceCalled('Execute', ('cp', '-R', '-p', '/etc/zookeeper/conf', '/etc/zookeeper/conf.backup'),
         not_if = 'test -e /etc/zookeeper/conf.backup',
         sudo = True)
@@ -325,6 +333,14 @@ class TestHookAfterInstall(RMFTestCase):
     self.assertResourceCalled('Link', '/etc/ranger/kms/conf',
         to = '/usr/hdp/current/ranger-kms/conf',)
 
+    self.assertResourceCalled('Execute', ('cp', '-R', '-p', '/etc/hive2/conf', '/etc/hive2/conf.backup'),
+                              not_if = 'test -e /etc/hive2/conf.backup',
+                              sudo = True)
+    self.assertResourceCalled('Directory', '/etc/hive2/conf',
+                              action = ['delete'])
+    self.assertResourceCalled('Link', '/etc/hive2/conf',
+                              to = '/usr/hdp/current/hive-server2-hive2/conf')
+
     self.assertResourceCalled('Execute', ('cp', '-R', '-p', '/etc/zookeeper/conf', '/etc/zookeeper/conf.backup'),
         not_if = 'test -e /etc/zookeeper/conf.backup',
         sudo = True)

+ 48 - 1
ambari-server/src/test/python/stacks/2.1/configs/default.json

@@ -522,7 +522,44 @@
             "hive.server2.enable.doAs": "true",
             "hive.server2.transport.mode": "binary",
             "hive.optimize.mapjoin.mapreduce": "true"
-        }, 
+        },
+        "hive-interactive-site": {
+            "hive.enforce.sorting": "true",
+            "javax.jdo.option.ConnectionPassword": "aaa",
+            "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+            "hive.optimize.bucketmapjoin.sortedmerge": "true",
+            "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "fs.file.impl.disable.cache": "true",
+            "hive.auto.convert.join.noconditionaltask": "true",
+            "hive.map.aggr": "true",
+            "hive.optimize.index.filter": "true",
+            "hive.security.authorization.enabled": "false",
+            "hive.optimize.reducededuplication.min.reducer": "1",
+            "hive.optimize.bucketmapjoin": "true",
+            "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+            "hive.mapjoin.bucket.cache.size": "10000",
+            "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+            "hive.vectorized.execution.enabled": "false",
+            "javax.jdo.option.ConnectionUserName": "hive",
+            "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+            "hive.optimize.reducededuplication": "true",
+            "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+            "hive.metastore.client.socket.timeout": "60",
+            "hive.auto.convert.join": "true",
+            "hive.enforce.bucketing": "true",
+            "hive.mapred.reduce.tasks.speculative.execution": "false",
+            "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+            "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+            "hive.auto.convert.sortmerge.join": "true",
+            "fs.hdfs.impl.disable.cache": "true",
+            "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+            "ambari.hive.db.schema.name": "hive",
+            "hive.metastore.execute.setugi": "true",
+            "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+            "hive.server2.enable.doAs": "true",
+            "hive.server2.transport.mode": "binary",
+            "hive.optimize.mapjoin.mapreduce": "true"
+        },
         "yarn-site": {
             "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25", 
             "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor", 
@@ -816,6 +853,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -852,6 +896,9 @@
         "hive-site": {
             "tag": "version1"
         },
+        "hive-interactive-site": {
+            "tag": "version1"
+        },
         "hdfs-log4j": {
             "tag": "version1"
         },

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 161 - 1
ambari-server/src/test/python/stacks/2.1/configs/hive-metastore-upgrade.json


+ 54 - 1
ambari-server/src/test/python/stacks/2.1/configs/secured.json

@@ -494,7 +494,50 @@
             "hive.optimize.mapjoin.mapreduce": "true",
             "hive.server2.transport.mode": "binary",
             "hive.server2.authentication.kerberos.keytab": "/etc/security/keytabs/hive.service.keytab"
-        }, 
+        },
+        "hive-interactive-site": {
+          "hive.enforce.sorting": "true",
+          "javax.jdo.option.ConnectionPassword": "asd",
+          "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true",
+          "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+          "fs.file.impl.disable.cache": "true",
+          "hive.auto.convert.join.noconditionaltask": "true",
+          "hive.server2.authentication.kerberos.principal": "hive/_HOST@EXAMPLE.COM",
+          "hive.optimize.bucketmapjoin": "true",
+          "hive.map.aggr": "true",
+          "hive.optimize.index.filter": "true",
+          "hive.security.authorization.enabled": "true",
+          "hive.optimize.reducededuplication": "true",
+          "hive.metastore.kerberos.keytab.file": "/etc/security/keytabs/hive.service.keytab",
+          "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+          "hive.mapjoin.bucket.cache.size": "10000",
+          "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+          "hive.vectorized.execution.enabled": "false",
+          "javax.jdo.option.ConnectionUserName": "hive",
+          "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+          "hive.server2.authentication": "KERBEROS",
+          "hive.metastore.sasl.enabled": "true",
+          "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+          "hive.metastore.client.socket.timeout": "60",
+          "hive.metastore.kerberos.principal": "hive/_HOST@EXAMPLE.COM",
+          "hive.optimize.reducededuplication.min.reducer": "1",
+          "hive.auto.convert.join": "true",
+          "hive.enforce.bucketing": "true",
+          "hive.mapred.reduce.tasks.speculative.execution": "false",
+          "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+          "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+          "hive.auto.convert.sortmerge.join": "true",
+          "fs.hdfs.impl.disable.cache": "true",
+          "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+          "ambari.hive.db.schema.name": "hive",
+          "hive.metastore.execute.setugi": "true",
+          "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+          "hive.server2.enable.doAs": "true",
+          "hive.optimize.mapjoin.mapreduce": "true",
+          "hive.server2.transport.mode": "binary",
+          "hive.server2.authentication.kerberos.keytab": "/etc/security/keytabs/hive.service.keytab"
+        },
         "yarn-site": {
             "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25", 
             "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor", 
@@ -801,6 +844,13 @@
           "javax.jdo.option.ConnectionDriverName": "true",
           "hive.optimize.bucketmapjoin.sortedmerge": "true"
         }
+      },
+      "hive-interactive-site": {
+        "final": {
+          "javax.jdo.option.ConnectionPassword": "true",
+          "javax.jdo.option.ConnectionDriverName": "true",
+          "hive.optimize.bucketmapjoin.sortedmerge": "true"
+        }
       }
     },
     "configurationTags": {
@@ -837,6 +887,9 @@
         "hive-site": {
             "tag": "version1389972945450"
         },
+        "hive-interactive-site": {
+          "tag": "version1389972945450"
+        },
         "hdfs-log4j": {
             "tag": "version1389972945450"
         },

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 155 - 0
ambari-server/src/test/python/stacks/2.2/configs/hive-upgrade.json


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio