Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

luoyulong před 2 roky
rodič
revize
fc4a0751c7

+ 1 - 1
app/core/datasource/hive.py

@@ -46,7 +46,7 @@ class HiveDS(DataSourceBase):
                 conn = hive.Connection(host=self.host, port=self.port, username=self.username, database=self.database_name)
             else:
                 get_kerberos_to_local(self.keytab)
-                file_name = './configs/'+self.keytab.split("/")[-1]
+                file_name = './assets/kerberos/'+self.keytab.split("/")[-1]
                 os.system(f'kinit -kt {file_name} {self.principal}')
                 conn = hive.Connection(host=self.host, database=self.database_name, port=self.port,  auth="KERBEROS", kerberos_service_name=self.kerberos_service_name)
 

+ 8 - 3
app/crud/job_jdbc_datasource.py

@@ -25,10 +25,15 @@ def _format_datasource(db: Session, item: schemas.JobJdbcDatasourceBase, ds_id:
 
     ds = DataSrouceFactory.create(item.datasource, {'port': port, 'host': host, 'username': item.jdbc_username,
                                                     'password': item.jdbc_password,
-                                                    'database_name': item.database_name})
+                                                    'database_name': item.database_name,
+                                                    'kerberos': item.kerberos,
+                                                    'keytab': item.keytab,
+                                                    'krb5config': item.krb5config,
+                                                    'kerberos_service_name': item.kerberos_service_name,
+                                                    'principal':item.principal})
     item.jdbc_url = ds.jdbc_url
-    item.jdbc_username = ds.jdbc_username
-    item.jdbc_password = ds.jdbc_password
+    item.jdbc_username = ds.jdbc_username if item.kerberos == 0 else None
+    item.jdbc_password = ds.jdbc_password if item.kerberos == 0 else None
     return ds, item
 
 

+ 2 - 2
app/utils/get_kerberos.py

@@ -5,9 +5,9 @@ from app.common.minio import minio_client
 
 def get_kerberos_to_local(uri: str):
     file_name = uri.split("/")[-1]
-    f_exists = os.path.exists('./configs/'+file_name)
+    f_exists = os.path.exists('./assets/kerberos/'+file_name)
     if not f_exists:
         res = minio_client.get_file(uri)
-        with open('./configs/'+file_name,'wb') as f:
+        with open('./assets/kerberos/'+file_name,'wb') as f:
             f.write(res)
         logger.info(f'{file_name}不存在, 已通过minio下载至本地')

+ 0 - 0
configs/krb5.conf → assets/test/krb5.conf


+ 0 - 0
configs/user.keytab → assets/test/user.keytab


binární
configs/1665836013_user.keytab


+ 2 - 2
production.ini

@@ -23,8 +23,8 @@ username = hive
 password = hive
 database_name = default
 kerberos = 1
-keytab = configs/user.keytab
-krb5config = configs/krb5.conf
+keytab = assets/test/user.keytab
+krb5config = assets/test/krb5.conf
 kerberos_service_name = hadoop
 principal = ailab@EMR-5XJSY31F
 

+ 0 - 2
server.py

@@ -8,7 +8,6 @@ import app.routers.job_log as router_job_log
 import app.routers.datax_json as router_datax
 import app.routers.data_management as router_data_management
 import app.routers.files as router_files
-import app.routers.intermediate as router_intermediate
 import app.routers.jm_homework as router_jm_homework
 import app.routers.dag as router_dag
 import app.routers.code_check as router_code_check
@@ -43,7 +42,6 @@ app.include_router(router_job_log.router)
 app.include_router(router_data_management.router)
 app.include_router(router_datax.router)
 app.include_router(router_files.router)
-app.include_router(router_intermediate.router)
 app.include_router(router_jm_homework.router)
 app.include_router(router_dag.router)
 app.include_router(router_af_task)