更新时间:2024-10-28 GMT+08:00

IoTDB客户端使用实践

操作场景

该任务指导用户在运维场景或业务场景中使用IoTDB客户端。

前提条件

  • 已安装客户端。例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。
  • 各组件业务用户由MRS集群管理员根据业务需要创建。安全模式下,“机机”用户需要下载keytab文件。“人机”用户第一次登录时需修改密码。

操作步骤

  1. 以客户端安装用户,登录安装客户端的节点。
  2. 切换到IoTDB客户端安装目录,例如:/opt/client

    cd /opt/client

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

    source bigdata_env

  4. 首次登录IoTDB客户端前需执行以下步骤生成SSL客户端证书:

    1. 执行以下命令生成客户端SSL证书:

      keytool -noprompt -import -alias myservercert -file ca.crt -keystore truststore.jks

      执行该命令后需输入一个自定义密码。

    2. 将生成的“truststore.jks”文件复制到“客户端安装目录/IoTDB/iotdb/conf”目录下:

      cp truststore.jks 客户端安装目录/IoTDB/iotdb/conf

  5. 根据集群认证模式,完成IoTDB客户端登录。

    • 安全模式,执行以下命令,完成用户认证并登录IoTDB客户端。

      kinit 组件业务用户

    • 普通模式则跳过此步骤。

  6. 执行以下命令,切换IoTDB客户端运行脚本所在目录。

    cd /opt/client/IoTDB/iotdb/sbin

  7. 集群未启用Kerberos认证(普通模式)需先调用“alter-cli-password.sh”脚本修改默认用户root的默认密码:

    sh alter-cli-password.sh IoTDBServer实例节点IP RPC端口

    • IoTDBServer实例节点IP地址可在Manager界面,选择“集群 > 服务 > IoTDB > 实例”查看。
    • IoTDBServer RPC端口可在参数“IOTDB_SERVER_RPC_PORT”中自行配置。默认端口如下:
      • 开源端口默认值为:6667
      • 定制端口默认值为:22260

      端口定制/开源区分:创建LTS版本类型集群时,可以选择“组件端口”为“开源”或是“定制”,选择“开源”使用开源端口,选择“定制”使用定制端口。

    • root用户初始密码MRS 3.3.0之前版本为“root”,MRS 3.3.0及之后版本为“Iotdb@123”。
    • 修改的用户密码字符长度MRS 3.3.0之前版本至少为4位,MRS 3.3.0及之后版本至少为8位,且不能包含空格。

  8. 执行以下命令登录客户端

    ./start-cli.sh -h IoTDBServer实例节点ip -p IoTDBServer RPC端口

    运行该命令后,根据实际需求指定业务用户名:

    • 指定业务用户名,则输入“yes”,并根据提示输入业务用户名和对应的业务用户密码:

    • 不指定业务用户名,则输入“no”;此时,则使用5中的用户执行后续操作:

    • 输入其他,则退出登录:

    • 集群未启用Kerberos认证(普通模式)使用root用户登录。
    • 登录客户端时可以通过-maxRPC参数,控制执行结果一次性打印多少行,默认值是1000;如果将-maxRPC参数值设置为小于等于0,则会一次性打印所有结果,通常用于重定向SQL执行结果。
    • 登录客户端时,可选-disableISO8601参数,用于控制查询结果的时间列展示格式。不指定该参数会显示年月日时分秒格式,指定则显示时间戳。
    • 如果服务端关闭了SSL配置,则需在客户端需也关闭SSL配置才能通信,操作为:

      cd 客户端安装目录/IoTDB/iotdb/conf

      vi iotdb-client.env

      将“iotdb_ssl_enable”参数的值修改为“false”,保存并退出。

      其中,服务端SSL配置,可登录FusionInsight Manager,选择“集群 > 服务 > IoTDB > 配置”,搜索“SSL_ENABLE”查看,该参数值为“true”表示开启了SSL,为“false”则表示未开启SSL。

  9. 登录客户端成功即可执行相关SQL操作。