Adicionando a Representação do Trino a um Cluster
Você pode configurar um cluster do Hadoop para permitir que o usuário ou o principal que o Trino está executando personifique os usuários que acessam o Trino.
Ao usar a autenticação do metastore Kerberos com representação, o principal especificado pela propriedade hive.metastore.client.principal deve ser ativado para representar o usuário Trino atual. A representação no Hadoop é configurada no arquivo core-site.xml.
-
Para usar a personificação, o cluster do Hadoop deve ser configurado para permitir que o usuário ou o principal que o Trino está executando personifique os usuários que acessam o Trino. A personificação no Hadoop é configurada no arquivo
core-site.xml:hadoop.proxyuser.trino.groups = * hadoop.proxyuser.trino.hosts = * -
Adicione propriedades de representação Trino à propriedade
connectors.to.add:- Acesse o Apache Ambari.
- Na barra de ferramentas lateral, em Serviços, selecione Trino.
- Selecione Configurações.
-
Na seção Conectores, adicione o seguinte ao
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',]}O arquivo do conector do Hive é preenchido com as configurações acima em
/etc/trino/conf/catalog/hive.properties.Observação
Um controle de acesso do sistema impõe a autorização em um nível global, antes de qualquer autorização no nível do conector. Com esse controle de acesso padrão, todas as operações são permitidas, exceto a representação do usuário e o desligamento Gracioso. Para obter mais informações, consulte Controle de Acesso do Sistema.
-
Adicione allow-all a
access-control.properties:# pwd /etc/trino/conf # cat access-control.properties access-control.name=allow-allObservação
Para o Big Data Service anterior à versão 3.023, crie/etc/trino/conf/access-control.properties. -
Verifique os logs de inicialização do servidor Trino. Por exemplo:
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 ======== -
Confirmar Representação funciona corretamente. Por exemplo:
[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]