Aggiunta di rappresentazione Trino a un cluster
È possibile configurare un cluster Hadoop per consentire all'utente o all'entità principale in esecuzione di Trino di rappresentare gli utenti che si collegano a Trino.
Quando si utilizza l'autenticazione del metastore Kerberos con rappresentazione, il principal specificato dalla proprietà hive.metastore.client.principal deve essere in grado di rappresentare l'utente Trino corrente. La rappresentazione in Hadoop viene configurata nel file core-site.xml.
-
Per utilizzare la rappresentazione, è necessario che il cluster Hadoop sia configurato in modo da consentire all'utente o al principal in esecuzione di Trino di rappresentare gli utenti che si collegano a Trino. La rappresentazione in Hadoop è configurata nel file
core-site.xml:hadoop.proxyuser.trino.groups = * hadoop.proxyuser.trino.hosts = * -
Aggiungere le proprietà di rappresentazione Trino alla proprietà
connectors.to.add:- Accedi ad Apache Ambari.
- Nella barra degli strumenti laterale, in Servizi selezionare Trino.
- Selezionare Config.
-
Nella sezione Connettori, aggiungere quanto segue a
connectors.to.add:{'hive':['connector.name=hive','hive.metastore.thrift.impersonation.enabled=true', 'hive.hdfs.impersonation.enabled=true', 'hive.metastore.uri=thrift://server-mn1.oraclevcn.com:9083', 'hive.metastore.authentication.type=KERBEROS', 'hive.metastore.service.principal=hive/_HOST@BDSCLOUDSERVICE.ORACLE.COM', 'hive.metastore.client.principal=trino/_HOST@BDSCLOUDSERVICE.ORACLE.COM', 'hive.metastore.client.keytab=/etc/security/keytabs/trino.service.keytab', 'hive.hdfs.authentication.type=KERBEROS', 'hive.hdfs.trino.principal=trino/_HOST@BDSCLOUDSERVICE.ORACLE.COM', 'hive.hdfs.trino.keytab=/etc/security/keytabs/trino.service.keytab', 'hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml',]}Il file del connettore Hive viene popolato con le configurazioni precedenti in
/etc/trino/conf/catalog/hive.properties.Nota
Un controllo dell'accesso di sistema applica l'autorizzazione a livello globale, prima di qualsiasi autorizzazione a livello di connettore. Con questo controllo dell'accesso predefinito, tutte le operazioni sono consentite, ad eccezione della rappresentazione dell'utente e dell'attivazione della chiusura Graceful. Per maggiori informazioni, vedere System Access Control.
-
Aggiungere allow-all a
access-control.properties:# pwd /etc/trino/conf # cat access-control.properties access-control.name=allow-allNota
Per Big Data Service precedente alla 3.023, è necessario creare/etc/trino/conf/access-control.properties. -
Verificare i log di avvio del server Trino. Esempio:
2024-02-08T12:58:40.908Z INFO main io.trino.security.AccessControlManager -- Loading system access control etc/access-control.properties -- 2024-02-08T12:58:40.909Z INFO main io.trino.security.AccessControlManager -- Loaded system access control allow-all -- [...] 2024-02-08T12:58:41.201Z INFO main io.trino.server.Server ======== SERVER STARTED ======== -
La conferma della rappresentazione funziona correttamente. Esempio:
[root@server-un1 conf]# /usr/lib/trino/bin/trino-cli --server https://server-un1.oraclevcn.com:7778 --krb5-principal trino/server-un1.oraclevcn.com@BDSCLOUDSERVICE.ORACLE.COM --krb5-keytab-path /etc/security/keytabs/trino.service.keytab --krb5-remote-service-name trino --truststore-path=/etc/security/serverKeys/truststore.jks --user <username> --session-user <username> --debug trino> show catalogs; Catalog --------- hive system tpch (3 rows) Query 20240208_125940_00002_vdzw6, FINISHED, 1 node https://server-un1.oraclevcn.com:7778/ui/query.html?20240208_125940_00002_vdzw6 Splits: 19 total, 19 done (100.00%) CPU Time: 0.0s total, 0 rows/s, 0B/s, 33% active Per Node: 0.1 parallelism, 0 rows/s, 0B/s Parallelism: 0.1 Peak Memory: 0B 0.37 [0 rows, 0B] [0 rows/s, 0B/s]