Skip to content

单机安装及启动

本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。

在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。

准备工作

  1. 请参考安装环境文档准备安装环境。

  2. 配置用户与安装目录。 在操作前请检查您是否有 sudo 权限或 root 权限,如果没有请先获取相应的权限,再进行下面的操作。 请不要使用 root 安装,推荐建立一个拥有 sudo 权限的用户安装、运行 HENGSHI SENSE,并配置安装路径。本文示例中以 hengshi 用户举例,安装路径为/opt/hengshi,下面示例中介绍如何创建 hengshi 用户及设置安装目录和权限。

    shell
    grep hengshi /etc/passwd > /dev/null || sudo useradd -m hengshi         #建立 henghsi 用户
    sudo mkdir -p /opt/hengshi && sudo chown hengshi:hengshi /opt/hengshi  #设置安装目录及权限
  3. 服务端 sshd 监听非22端口。 以下2种情况 需要在部署用户 ~/.ssh/config 中配置各个 host 的实际端口。 否则请忽略直接安装

    1. 如果部署 hengshi 的机器 SSH 端口不是默认的22端口
    2. 如果部署 engine 的 segments 的机器与 hengshi 服务不在一个机器上且 SSH 端口不是默认的22端口

    例如: 本机配置 hostname 为 localhost,并且 HS_ENGINE_SEGMENTS=(Node-A),对应的监听端口都为122。 在.ssh/config 配置文件中需要包含以下配置:

    shell
    Host localhost
      Port 122
    Host Node-A
      Port 122

安装 HENGSHI SENSE

执行以下步骤完成安装。

  1. 切换到执行安装的用户,示例中用户名为 hengshi。
shell
sudo su - hengshi
  1. 进入安装包解压后的目标目录。
shell
cd ~/pkgs/hengshi-sense-[version]
  1. 执行安装命令。
shell
./hs_install -p /opt/hengshi

提示

如果在使用服务时替换了衡石 metadb,可添加参数 -e all 指定服务类型,这样在升级过程中将不会要求停止此服务进行安装升级。

  1. 安装成功时,提示以下信息。
shell
SUCCESSED! installed to xxxxx

配置系统

启动服务前,请阅读配置文件对相关的配置进行设置。 如内置引擎类型要求为 Doris,请阅读Doris 引擎配置

启动服务

请按照如下步骤启动服务。

  1. 切换到启动服务的用户,示例中的用户名为 hengshi。
shell
sudo su - hengshi
  1. 进入安装目录。
shell
cd /opt/hengshi
  1. 初始化 OS,执行前请确认用户有 sudo 权限。
shell
bin/hengshi-sense-bin init-os all   # 离线环境在将依赖安装后执行 bin/hengshi-sense-bin init-os all -k 跳过依赖包安装
  1. 初始化 HENGSHI SENSE。
shell
bin/hengshi-sense-bin init all
  1. 启动 HENGSHI SENSE 服务。
shell
bin/hengshi-sense-bin start all
  1. 当服务启动成功后,提示以下信息,模块的状态为IS ACTIVE
shell
 IS ACTIVE! : [metadb] @127.0.0.1:54320/hengshi
 IS ACTIVE! : [engine] @127.0.0.1:15432/hengshi
 IS ACTIVE! : [minio] minio server /opt/hengshi/minio-data
 IS ACTIVE! : [redis] redis-server .*:6379
 IS ACTIVE! : [flink] /opt/hengshi/lib/flink
 IS ACTIVE! : [syslog] syslog-ng --no-caps --module-path=/opt/hengshi/lib/syslog-ng/lib/syslog-ng -f /opt/hengshi/conf/syslog-ng.conf -p /opt/hengshi/logs/syslog-ng.pid -R /opt/hengshi/logs/syslog-ng.persist -c /opt/hengshi/logs/syslog-ng.ctl
 IS ACTIVE! : [hengshi] jar /opt/hengshi/lib/bootstrap-4.4-SNAPSHOT.jar
 IS ACTIVE! : [watchdog] /opt/hengshi/bin/hengshi-watchdog.sh
  1. 通过浏览器访问服务地址,默认地址: http://localhost:8080 使用 HENGSHI SENSE 服务。如果不能访问,请检查配置文件 conf/hengshi-sense-env.sh 中的服务端口 HS_HENGSHI_PORT 是否对外开放。

  2. 如需配置 nginx 请参考: 安装与启动常见 FAQ 中的1.1.3 如何通过80和443端口进行服务

启动服务后相关操作

当 HENGSHI SENSE 服务运行时,需要定时备份数据防止数据丢失,及时清理无用日志释放存储空间。

  1. 定时备份数据

    建议每日对数据库 metadb 进行备份,可以备份到本地设备也可以备份到远程设备。定时备份建议在非业务高峰期进行,比如凌晨,避免影响用户使用服务。 下面示例是每日零时将数据备份到远程设备的执行命令,参数详细说明请参考数据备份

    shell
    0 0 * * * /opt/hengshi/bin/dbbackup.sh -m metadb -l /BACKUP/PATH -h $REMOTE_IP -r /BACKUP/PATH
  2. 定时清理日志

    运行过程中,HENGSHI SENSE 会产生运行日志,这些日志需要定时清理释放存储空间。下面示例是每日定时清理内部数据库的滚动日志的命令。

    shell
    0 0 * * * /opt/hengshi/bin/clean_engine.sh -t -r -c -g -p
    */5 * * * * /opt/hengshi/bin/clean_engine.sh -l

提示

在公网环境下,非必要场景中不要暴露衡石整体的服务端口,建议通过 nginx+域名对外提供服务。避免因组件原因造成被攻击的情况。在特殊情况下,可通过 IP+端口访问的形式使用 web 服务的端口(默认为8080)。

停止服务

通过执行以下命令停止服务。

shell
sudo su - hengshi
cd /opt/hengshi
bin/hengshi-sense-bin stop all

服务停止成功后,提示以下信息,模块状态为"NOT ACTIVE"。

shell
 NOT ACTIVE! : [metadb] @127.0.0.1:54320/hengshi
 NOT ACTIVE! : [engine] @127.0.0.1:15432/hengshi
 NOT ACTIVE! : [minio] minio server /opt/hengshi/minio-data
 NOT ACTIVE! : [redis] redis-server .*:6379
 NOT ACTIVE! : [flink] /opt/hengshi/lib/flink
 NOT ACTIVE! : [syslog] syslog-ng --no-caps --module-path=/opt/hengshi/lib/syslog-ng/lib/syslog-ng -f /opt/hengshi/conf/syslog-ng.conf -p /opt/hengshi/logs/syslog-ng.pid -R /opt/hengshi/logs/syslog-ng.persist -c /opt/hengshi/logs/syslog-ng.ctl
 NOT ACTIVE! : [hengshi] jar /opt/hengshi/lib/bootstrap-4.4-SNAPSHOT.jar
 NOT ACTIVE! : [watchdog] /opt/hengshi/bin/hengshi-watchdog.sh

检查服务状态

在服务运行过程中,可通过执行以下命令查看程序运行状态。

shell
sudo su - hengshi
cd /opt/hengshi
bin/hengshi-sense-bin status all

在程序运行状态的提示信息中,重点关注以下模块的状态信息,IS ACTIVE表示对应模块运行中,NOT ACTIVE表示对应模块停止服务。

shell
 NOT ACTIVE! : [metadb] @127.0.0.1:54320/hengshi
 NOT ACTIVE! : [engine] @127.0.0.1:15432/hengshi
 NOT ACTIVE! : [minio] minio server /opt/hengshi/minio-data
 NOT ACTIVE! : [redis] redis-server .*:6379
 NOT ACTIVE! : [flink] /opt/hengshi/lib/flink
 NOT ACTIVE! : [syslog] syslog-ng --no-caps --module-path=/opt/hengshi/lib/syslog-ng/lib/syslog-ng -f /opt/hengshi/conf/syslog-ng.conf -p /opt/hengshi/logs/syslog-ng.pid -R /opt/hengshi/logs/syslog-ng.persist -c /opt/hengshi/logs/syslog-ng.ctl
 NOT ACTIVE! : [hengshi] jar /opt/hengshi/lib/bootstrap-4.4-SNAPSHOT.jar
 NOT ACTIVE! : [watchdog] /opt/hengshi/bin/hengshi-watchdog.sh

衡石分析平台使用手册