소스 검색

AMBARI-8883. Removing mysql-connector-java removes also a lot of hadoop packages.(vbrodetskyi)

Vitaly Brodetskyi 10 년 전
부모
커밋
3029048b54

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

@@ -30,9 +30,6 @@ from mysql import mysql_configure
 class MysqlServer(Script):
   def install(self, env):
     import params
-    Package('mysql-connector-java', action = "remove")
-    if os.path.exists(params.mysql_jdbc_driver_jar):
-      File(params.mysql_jdbc_driver_jar, action = "delete")
     self.install_packages(env, exclude_packages=params.hive_exclude_packages)
     self.configure(env)
 

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

@@ -255,6 +255,7 @@ hive_authorization_enabled = config['configurations']['hive-site']['hive.securit
 
 mysql_jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
 hive_use_existing_db = hive_database.startswith('Existing')
+hive_exclude_packages = []
 
 # There are other packages that contain /usr/share/java/mysql-connector-java.jar (like libmysql-java),
 # trying to install mysql-connector-java upon them can cause packages to conflict.
@@ -263,8 +264,8 @@ if hive_use_existing_db:
 else:
   if 'role' in config and config['role'] != "MYSQL_SERVER":
     hive_exclude_packages = ['mysql','mysql-server']
-  else:
-    hive_exclude_packages = []
+  if os.path.exists(mysql_jdbc_driver_jar):
+    hive_exclude_packages.append('mysql-connector-java')
 
 ########################################################
 ########### WebHCat related params #####################

+ 1 - 1
ambari-server/src/main/resources/custom_actions/scripts/check_host.py

@@ -172,7 +172,7 @@ class CheckHost(Script):
     # download and install java if it doesn't exists
     if not os.path.isfile(java_exec):
       jdk_name = config['commandParams']['jdk_name']
-      jdk_url = "{}/{}".format(jdk_location, jdk_name)
+      jdk_url = "{0}/{1}".format(jdk_location, jdk_name)
       jdk_download_target = os.path.join(agent_cache_dir, jdk_name)
       java_dir = os.path.dirname(java64_home)
       try:

+ 0 - 3
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/mysql_server.py

@@ -28,9 +28,6 @@ class MysqlServer(Script):
 
   def install(self, env):
     import params
-    Package('mysql-connector-java', action = "remove")
-    if os.path.exists(params.mysql_jdbc_driver_jar):
-      File(params.mysql_jdbc_driver_jar, action = "delete")
     self.install_packages(env, exclude_packages=params.hive_exclude_packages)
     self.configure(env)
 

+ 4 - 2
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/params.py

@@ -20,6 +20,7 @@ limitations under the License.
 
 from resource_management import *
 import status_params
+import os
 
 # server configurations
 config = Script.get_config()
@@ -87,14 +88,15 @@ hive_use_existing_db = hive_database.startswith('Existing')
 
 
 mysql_jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
+hive_exclude_packages = []
 
 if hive_use_existing_db:
   hive_exclude_packages = ['mysql-connector-java','mysql','mysql-server']
 else:
   if 'role' in config and config['role'] != "MYSQL_SERVER":
     hive_exclude_packages = ['mysql','mysql-server']
-  else:
-    hive_exclude_packages = []
+  if os.path.exists(mysql_jdbc_driver_jar):
+    hive_exclude_packages.append('mysql-connector-java')
 
 #Starting hiveserver2
 start_hiveserver2_script = 'startHiveserver2.sh'