Browse Source

AMBARI-8862. Install failed with default Hive DB on 1.3 stack.(vbrodetskyi)

Vitaly Brodetskyi 10 years ago
parent
commit
afbbf51ecd

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

@@ -196,7 +196,7 @@ def crt_file(name):
 def jdbc_connector():
   import params
 
-  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list:
+  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list and params.hive_use_existing_db:
     environment = {
       "no_proxy": format("{ambari_server_hostname}")
     }
@@ -213,3 +213,12 @@ def jdbc_connector():
             creates=params.target,
             path=["/bin", "/usr/bin/"],
             sudo = True)
+
+  else:
+    #for default hive db (Mysql)
+    Execute(('cp', format('/usr/share/java/{jdbc_jar_name}'), params.target),
+            not_if=format("test -f {target}"),
+            creates=params.target,
+            path=["/bin", "/usr/bin/"],
+            sudo=True
+    )

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

@@ -254,10 +254,11 @@ mysql_user = 'mysql'
 hive_authorization_enabled = config['configurations']['hive-site']['hive.security.authorization.enabled']
 
 mysql_jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
+hive_use_existing_db = hive_database.startswith('Existing')
 
 # 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.
-if hive_database.startswith('Existing'):
+if hive_use_existing_db:
   hive_exclude_packages = ['mysql-connector-java','mysql','mysql-server']
 else:
   if 'role' in config and config['role'] != "MYSQL_SERVER":

+ 10 - 1
ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/package/scripts/hive.py

@@ -161,7 +161,7 @@ def crt_file(name):
 def jdbc_connector():
   import params
 
-  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list:
+  if params.hive_jdbc_driver in params.hive_jdbc_drivers_list and params.hive_use_existing_db:
     environment = {
       "no_proxy": format("{ambari_server_hostname}")
     }
@@ -178,3 +178,12 @@ def jdbc_connector():
             creates=params.target,
             path=["/bin", "/usr/bin/"],
             sudo = True)
+
+  else:
+    #for default hive db (Mysql)
+    Execute(('cp', format('/usr/share/java/{jdbc_jar_name}'), params.target),
+            not_if=format("test -f {target}"),
+            creates=params.target,
+            path=["/bin", "/usr/bin/"],
+            sudo=True
+    )

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

@@ -83,11 +83,12 @@ if 'role' in config and config['role'] in ["HIVE_SERVER", "HIVE_METASTORE"]:
 #hive-site
 hive_database_name = config['configurations']['hive-env']['hive_database_name']
 hive_database = config['configurations']['hive-env']['hive_database']
+hive_use_existing_db = hive_database.startswith('Existing')
 
 
 mysql_jdbc_driver_jar = "/usr/share/java/mysql-connector-java.jar"
 
-if hive_database.startswith('Existing'):
+if hive_use_existing_db:
   hive_exclude_packages = ['mysql-connector-java','mysql','mysql-server']
 else:
   if 'role' in config and config['role'] != "MYSQL_SERVER":

+ 2 - 14
ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_metastore.py

@@ -165,15 +165,9 @@ class TestHiveMetastore(RMFTestCase):
     self.assertNoMoreResources()
 
   def assert_configure_default(self):
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )
@@ -236,15 +230,9 @@ class TestHiveMetastore(RMFTestCase):
     )
 
   def assert_configure_secured(self):
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )

+ 2 - 14
ambari-server/src/test/python/stacks/1.3.2/HIVE/test_hive_server.py

@@ -214,15 +214,9 @@ class TestHiveServer(RMFTestCase):
                               kinit_path_local = "/usr/bin/kinit",
                               action = ['create'],
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )
@@ -313,15 +307,9 @@ class TestHiveServer(RMFTestCase):
                               kinit_path_local = '/usr/bin/kinit',
                               action = ['create'],
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )

+ 2 - 14
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_metastore.py

@@ -209,15 +209,9 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               group = 'hadoop',
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )
@@ -331,15 +325,9 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               group = 'hadoop',
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )

+ 2 - 14
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py

@@ -328,15 +328,9 @@ class TestHiveServer(RMFTestCase):
                               owner = 'hive',
                               group = 'hadoop',
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )
@@ -481,15 +475,9 @@ class TestHiveServer(RMFTestCase):
                               owner = 'hive',
                               group = 'hadoop',
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )

+ 2 - 14
ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py

@@ -187,15 +187,9 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               group = 'hadoop',
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-                              environment = {'no_proxy': 'c6401.ambari.apache.org'},
-                              path = ['/bin', '/usr/bin/'],
-                              sudo = True,
-                              not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-                              )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               path = ['/bin', '/usr/bin/'],
+                              creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
                               sudo = True,
                               not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
                               )
@@ -288,15 +282,9 @@ class TestHiveMetastore(RMFTestCase):
                               owner = 'hive',
                               group = 'hadoop',
                               )
-    self.assertResourceCalled('Execute', ('curl', '-kf', '-x', "", '--retry', '10', u'http://c6401.ambari.apache.org:8080/resources//mysql-jdbc-driver.jar', '-o', '/usr/share/java/mysql-connector-java.jar'),
-        environment = {'no_proxy': 'c6401.ambari.apache.org'},
-        path = ['/bin', '/usr/bin/'],
-        sudo = True,
-        not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
-    )
     self.assertResourceCalled('Execute', ('cp', '/usr/share/java/mysql-connector-java.jar', '/usr/lib/hive/lib//mysql-connector-java.jar'),
-        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
         path = ['/bin', '/usr/bin/'],
+        creates = '/usr/lib/hive/lib//mysql-connector-java.jar',
         sudo = True,
         not_if = 'test -f /usr/lib/hive/lib//mysql-connector-java.jar',
     )