Updated on 2024-11-29 GMT+08:00

Using HetuEngine from Scratch

This section describes how to use HetuEngine to connect to the Hive data source and query database tables of the Hive data source of the cluster through HetuEngine.

Prerequisites

  • The HetuEngine and Hive services and their dependent services (DBService, KrbServer, ZooKeeper, HDFS, Yarn, and MapReduce) have been installed in the cluster and are running properly.
  • If Kerberos authentication has been enabled for the cluster, you need to create a HetuEngine user and grant related permissions to the user in advance. For details, see Creating a HetuEngine User. In addition, you need to configure the permissions to manage the databases, tables, and columns of the data source for the user using Ranger. For details, see Adding a Ranger Access Permission Policy for HetuEngine.
  • The cluster client has been installed in a directory, for example, /opt/client.

Procedure

  1. Create and start a HetuEngine compute instance.

    1. Log in to FusionInsight Manager as a HetuEngine administrator and choose Cluster > Services > HetuEngine. The HetuEngine service page is displayed.
    2. In the Basic Information area on the Dashboard tab page, click the link next to HSConsole WebUI. The HSConsole page is displayed.
    3. Click Compute Instance then Create Configuration.
      1. In the Basic Configuration area, set Tenant to the tenant associated with the user and configure Instance Deployment Timeout Period (s) and Node Count.
      2. Configure parameters in the Coordinator Container Resource Configuration, Worker Container Resource Configuration, and Advanced Configuration areas based on the actual resource plan. For details about the parameter configuration, see Creating a HetuEngine Compute Instance or retain the default values.

        When you create a compute instance, you only need to apply for a few resources to test basic functions. You need to configure parameters based on actual service requirements and available resources. For details, see Configuring Resource Groups and Configuring the Number of Worker Nodes.

      3. Set Start Now to Yes, click OK, and wait until the instance configuration is complete.

  2. Log in to the node where the HetuEngine client is installed and run the following command to switch to the client installation directory:

    cd /opt/client

  3. Run the following command to configure environment variables:

    source bigdata_env

  4. Authenticate or specify a user.

    • For a cluster in security mode, run the following command to authenticate the user:

      kinit HetuEngine operation user

      Example:

      kinit hetu_test

      Enter the password as prompted and change the password upon your first login.

    • For a cluster in normal mode, run the following command to authenticate the user:

      hetu-cli --user HetuEngine operation user

      Example:

      hetu-cli --user hetu_test

  5. Run the following command to log in to the catalog of the data source. You can choose to log in to the data source through ZooKeeper or HSFabric by configuring the --mode parameter.

    • Through ZooKeeper (This mode is used by default if --mode is not configured.)

      hetu-cli --catalog Data source name

      For example, run the following command:

      hetu-cli --catalog hive

    • Through HSFabric (Ensure that HSFabric instances exist.)

      hetu-cli --mode hsfabric --catalog Data source name

      For example, run the following command:

      hetu-cli --mode hsfabric --catalog hive

    • The default name of the Hive data source of the cluster is hive. To connect to data sources outside the cluster, configure external data sources on HSConsole by referring to Configuring Data Sources.
    • --mode: Optional. The mode used to log in to a data source.
    • --catalog: Optional. The name of a specified data source.
    • --tenant: Optional. The tenant resource queue started by the cluster. If this parameter is not specified, the default tenant queue is used. If this parameter is used, service users must have the permissions of the role corresponding to the tenant.
    • --schema: Optional. The name of the schema of the data source to be accessed.
    • --user: Mandatory in normal mode. The name of the user who logs in to the client to execute services. The user must have at least the role of the queue specified by --tenant.
    java -Djava.security.auth.login.config=/opt/client/HetuEngine/hetuserver/conf/jaas.conf -Dzookeeper.sasl.clientconfig=Client -Dzookeeper.auth.type=kerberos -Djava.security.krb5.conf=/opt/client/KrbClient/kerberos/var/krb5kdc/krb5.conf -Djava.util.logging.config.file=/opt/client/HetuEngine/hetuserver/conf/hetuserver-client-logging.properties -jar /opt/client/HetuEngine/hetuserver/jars/hetu-cli-*-executable.jar --catalog hive --deployment-mode on_yarn --server https://10.112.17.189:24002,10.112.17.228:24002,10.112.17.150:24002?serviceDiscoveryMode=zooKeeper&zooKeeperNamespace=hsbroker --krb5-remote-service-name HTTP --krb5-config-path /opt/client/KrbClient/kerberos/var/krb5kdc/krb5.conf
    hetuengine> 

  6. Run the following command to view the database information:

    show schemas;
         Schema
    --------------------
     default
     information_schema
    (2 rows)
    Query 20230228_064136_00023_9kpap@default@HetuEngine, FINISHED, 3 nodes
    Splits: 36 total, 36 done (100.00%)
    0:02 [2 rows, 35B] [0 rows/s, 15B/s]