更新时间:2024-11-29 GMT+08:00

从零开始使用HetuEngine

本章节指导用户从零开始使用HetuEngine对接Hive数据源,并通过HetuEngine查询本集群Hive数据源的数据库表。

前提条件

  • 集群已安装HetuEngine、Hive服务及其所依赖的服务(DBService、KrbServer、Zookeeper、HDFS、Yarn、MapReduce)且运行正常。
  • 如集群已启用Kerberos认证,需提前创建HetuEngine的用户并授予相关权限,具体操作请参见创建HetuEngine用户。且需要通过Ranger为该用户配置操作数据源的数据库、表、列的管理权限,具体操作请参考添加HetuEngine的Ranger访问权限策略
  • 已安装集群客户端,例如安装目录为“/opt/client”。

操作步骤

  1. 创建并启动HetuEngine计算实例。

    1. 使用HetuEngine管理员用户登录FusionInsight Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
    2. 在概览页签下的“基本信息”区域单击“HSConsole WebUI”后的链接,进入HSConsole界面。
    3. 选择“计算实例 > 创建配置”。
      1. 在“基本配置”区域中,选择“所属租户”为用户所关联的租户,配置“实例部署超时时间(秒)”和“实例数量”。
      2. 根据实际资源规划配置“Coordinator容器资源配置”、“Worker容器资源配置”以及“高级配置”区域相关参数,参数详情可参考创建HetuEngine计算实例章节或保持默认值即可。

        创建计算实例时的默认配置只申请极少量的资源,仅供基本功能测试。用户需要根据实际业务需求和可用资源进行参数配置,可参考配置资源组配置Worker节点数量

      3. 配置完成后将“立即启动”置为“是”,单击“确定”等待实例配置完成。

  2. 登录安装有HetuEngine客户端的节点,执行以下命令,切换到客户端安装目录。

    cd /opt/client

  3. 执行以下命令,配置环境变量。

    source bigdata_env

  4. 认证或指定用户。

    • 安全模式集群:执行以下命令认证用户

      kinit HetuEngine组件操作用户

      例如:

      kinit hetu_test

      根据提示输入用户密码,首次登录需重置密码。

    • 普通模式集群:执行以下命令指定用户

      hetu-cli --user HetuEngine组件操作用户

      例如:

      hetu-cli --user hetu_test

  5. 执行以下命令,登录数据源的catalog。支持通过使用“--mode”参数来选择通过ZooKeeper连接或HSFabric连接方式登录数据源。

    • 通过ZooKeeper连接(不指定“--mode”参数则默认为该方式)

      hetu-cli --catalog 数据源名称

      例如执行以下命令:

      hetu-cli --catalog hive

    • 通过HSFabric连接(需确保已安装HSFabric实例)

      hetu-cli --mode hsfabric --catalog 数据源名称

      例如执行以下命令:

      hetu-cli --mode hsfabric --catalog hive

    • 本集群的Hive数据源名称默认为“hive”。如需对接集群外部的数据源,可参考配置数据源进行操作,在HSConsole界面配置外部数据源。
    • --mode:(可选)指定登录数据源方式。
    • --catalog:(可选)指定的数据源名称。
    • --tenant:(可选)指定集群启动的租户资源队列,不指定为租户的默认队列。使用此参数时,业务用户需要具有该租户对应角色的权限。
    • --schema:(可选)指定要访问数据源下的schema名称。
    • --user:(普通模式下必选)指定要登录客户端执行业务的用户名称,该用户至少需要具有“--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. 执行以下命令,查看数据库信息:

    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]