Updated on 2024-09-23 GMT+08:00

Interconnecting Presto with OBS Using an IAM Agency

After configuring decoupled storage and compute for a cluster by referring to Interconnecting an MRS Cluster with OBS Using an IAM Agency, you can use presto_cli.sh client to create tables and store them in OBS.

Interconnecting Presto with OBS

  • For clusters with Kerberos authentication disabled
    1. Log in to the node where the client is installed as the client installation user.
    2. Run the following command to configure environment variables:

      cd Client installation directory

      source bigdata_env

    3. Run the following command to connect to the client:

      presto_cli.sh

    4. Run the following command to create a schema and set location to an OBS path:

      CREATE SCHEMA hive.demo WITH (location = 'obs://mrs-word001/presto-demo002/');

    5. Create a table in the schema. The table data is stored in the OBS file system. The following is an example:

      CREATE TABLE hive.demo.demo_table WITH (format = 'ORC') AS SELECT * FROM tpch.sf1.customer;

      Figure 1 Return result
    6. Run exit to exit the client.
  • For clusters with Kerberos authentication enabled
    1. Log in to Manager and create a role with the Hive Admin Privilege permissions, for example, prestorole. For how to create a role, see Managing MRS Cluster Roles.
    2. Create a user that belongs to the Presto and Hive groups and bind the role created in 1 to the user, for example, presto001. For how to create a user, see Creating an MRS Cluster User.
    3. Authenticate the user.

      kinit presto001

    4. Download the user credential.
      • For versions earlier than MRS 3.x, on MRS Manager, choose System > Manage User. Locate the row containing the new user, click More, and select Download Authentication Credential.
      • On FusionInsight Manager for MRS 3.x or later,, choose System > Permission > User. Locate the row containing the new user, click More, and select Download Authentication Credential.
    5. Decompress the downloaded user credential file and save the obtained krb5.conf and user.keytab files to the client directory, for example, Client installation directory/Presto/.
    6. Run the following command to obtain a user principal:

      klist -kt Client installation directory/Presto/user.keytab

    7. Run the following command to connect to the Presto server of the cluster:

      presto_cli.sh --krb5-config-path {krb5.conf file path} --krb5-principal {User principal} --krb5-keytab-path {user.keytab file path} --user {Presto username}

      • krb5.conf file path: Replace it with the file path set in 5, for example, Client installation directory/Presto/krb5.conf.
      • user.keytab file path: Replace it with the file path set in 5, for example, Client installation directory/Presto/user.keytab (/opt/Bigdata/client/Presto/user.keytab).
      • User principal: Replace it with the result returned in 6.
      • Presto username: Replace it with the username created in 2, for example, presto001.
    8. Run the following command to create a schema and set location to an OBS path:

      CREATE SCHEMA hive.demo01 WITH (location = 'obs://mrs-word001/presto-demo002/');

    9. Create a table in the schema. The table data is stored in the OBS file system. The following is an example:

      CREATE TABLE hive.demo01.demo_table WITH (format = 'ORC') AS SELECT * FROM tpch.sf1.customer;

      Figure 2 Return result
    10. Run exit to exit the client.