Kaynağa Gözat

KERBEROS 超时

liweiquan 2 yıl önce
ebeveyn
işleme
b3fd7394fa
1 değiştirilmiş dosya ile 5 ekleme ve 3 silme
  1. 5 3
      app/core/datasource/hive.py

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

@@ -26,15 +26,16 @@ 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)
 
-    sasl_auth = 'PLAIN'
+    sasl_auth = 'GSSAPI'
 
     def sasl_factory():
         sasl_client = sasl.Client()
         sasl_client.setAttr('host', host)
+        sasl_client.setAttr('service', kerberos_service_name)
         sasl_client.init()
         return sasl_client
 
@@ -102,9 +103,10 @@ 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
+                    auth="KERBEROS", database=self.database_name
                 )