主题
单机安装及启动
本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。
在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。
准备工作
请参考安装环境文档准备安装环境。
配置用户与安装目录。 在操作前请检查您是否有 sudo 权限或 root 权限,如果没有请先获取相应的权限,再进行下面的操作。 请不要使用 root 安装,推荐建立一个拥有 sudo 权限的用户安装、运行 HENGSHI SENSE,并配置安装路径。本文示例中以 hengshi 用户举例,安装路径为/opt/hengshi,下面示例中介绍如何创建 hengshi 用户及设置安装目录和权限。
shellgrep hengshi /etc/passwd > /dev/null || sudo useradd -m hengshi #建立 henghsi 用户 sudo mkdir -p /opt/hengshi && sudo chown hengshi:hengshi /opt/hengshi #设置安装目录及权限
服务端 sshd 监听非22端口。 以下2种情况 需要在部署用户 ~/.ssh/config 中配置各个 host 的实际端口。 否则请忽略直接安装
- 如果部署 hengshi 的机器 SSH 端口不是默认的22端口
- 如果部署 engine 的 segments 的机器与 hengshi 服务不在一个机器上且 SSH 端口不是默认的22端口
例如: 本机配置 hostname 为 localhost,并且 HS_ENGINE_SEGMENTS=(Node-A),对应的监听端口都为122。 在.ssh/config 配置文件中需要包含以下配置:
shellHost localhost Port 122 Host Node-A Port 122
安装 HENGSHI SENSE
执行以下步骤完成安装。
- 切换到执行安装的用户,示例中用户名为 hengshi。
shell
sudo su - hengshi
- 进入安装包解压后的目标目录。
shell
cd ~/pkgs/hengshi-sense-[version]
- 执行安装命令。
shell
./hs_install -p /opt/hengshi
提示
如果在使用服务时替换了衡石 metadb,需要确保 export HS_PG_IF_EXTERNAL=false
变量的值为 true,可在配置文件 conf/hengshi-sense-env.sh 更改,这样在升级过程中将不会要求停止此服务进行安装升级。
- 安装成功时,提示以下信息。
shell
SUCCESSED! installed to xxxxx
配置系统
启动服务前,请阅读配置文件对相关的配置进行设置。 如内置引擎类型要求为 Doris,请阅读Doris 引擎配置。
启动服务
请按照如下步骤启动服务。
- 切换到启动服务的用户,示例中的用户名为 hengshi。
shell
sudo su - hengshi
- 进入安装目录。
shell
cd /opt/hengshi
- 初始化 OS,执行前请确认用户有 sudo 权限。
shell
bin/hengshi-sense-bin init-os all
提示
离线环境在将依赖安装后执行 bin/hengshi-sense-bin init-os all-offline 跳过依赖包安装
- 初始化 HENGSHI SENSE。
shell
bin/hengshi-sense-bin init all
- 启动 HENGSHI SENSE 服务。
shell
bin/hengshi-sense-bin start all
- 当服务启动成功后,提示以下信息,模块的状态为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
通过浏览器访问服务地址,默认地址:
http://localhost:8080
使用 HENGSHI SENSE 服务。如果不能访问,请检查配置文件 conf/hengshi-sense-env.sh 中的服务端口 HS_HENGSHI_PORT 是否对外开放。如需配置 nginx 请参考: 安装与启动常见 FAQ 中的1.1.3 如何通过80和443端口进行服务
启动服务后相关操作
当 HENGSHI SENSE 服务运行时,需要定时备份数据防止数据丢失,及时清理无用日志释放存储空间。
定时备份数据
建议每日对数据库 metadb 进行备份,可以备份到本地设备也可以备份到远程设备。定时备份建议在非业务高峰期进行,比如凌晨,避免影响用户使用服务。 下面示例是每日零时将数据备份到远程设备的执行命令,参数详细说明请参考数据备份。
shell0 0 * * * /opt/hengshi/bin/dbbackup.sh -m metadb -l /BACKUP/PATH -h $REMOTE_IP -r /BACKUP/PATH
定时清理日志
运行过程中,HENGSHI SENSE 会产生运行日志,这些日志需要定时清理释放存储空间。下面示例是每日定时清理内部数据库的滚动日志的命令。
shell0 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