liweiquan il y a 2 ans
Parent
commit
d6038ba83d
1 fichiers modifiés avec 3 ajouts et 2 suppressions
  1. 3 2
      app/core/datasource/hive.py

+ 3 - 2
app/core/datasource/hive.py

@@ -26,7 +26,7 @@ def create_hive_plain_transport(host, port, username, password, timeout=10):
 
     return TSaslClientTransport(sasl_factory, sasl_auth, socket)
 
-def create_hive_kerberos_plain_transport(host, port, timeout=10):
+def create_hive_kerberos_plain_transport(host, port, kerberos_service_name, timeout=10):
     socket = TSocket(host, port)
     socket.setTimeout(timeout * 1000)
 
@@ -35,7 +35,7 @@ def create_hive_kerberos_plain_transport(host, port, timeout=10):
     def sasl_factory():
         sasl_client = sasl.Client()
         sasl_client.setAttr('host', host)
-        sasl_client.setAttr('service', 'hive')
+        sasl_client.setAttr('service', kerberos_service_name)
         sasl_client.init()
         return sasl_client
 
@@ -103,6 +103,7 @@ class HiveDS(DataSourceBase):
                     thrift_transport=create_hive_kerberos_plain_transport(
                         host=self.host,
                         port=self.port,
+                        kerberos_service_name=self.kerberos_service_name,
                         timeout=10
                     ),
                     auth="KERBEROS", kerberos_service_name=self.kerberos_service_name, database=self.database_name