当前位置: 首页 > news >正文

衡石分析平台使用手册-单机安装及启动

单机安装及启动​

本文讲述如何在单机环境下进行 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  #设置安装目录及权限

    1
    2

  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 localhostPort 122
    Host Node-APort 122

    1
    2
    3
    4

安装 HENGSHI SENSE​

执行以下步骤完成安装。

  1. 切换到执行安装的用户,示例中用户名为 hengshi。

shell

sudo su - hengshi

1

  1. 进入安装包解压后的目标目录。

shell

cd ~/pkgs/hengshi-sense-[version]

1

  1. 执行安装命令。

shell

./hs_install -p /opt/hengshi

1

提示

如果在使用服务时替换了衡石 metadb,需要确保 export HS_PG_IF_EXTERNAL=false 变量的值为 true,可在配置文件 conf/hengshi-sense-env.sh 更改,这样在升级过程中将不会要求停止此服务进行安装升级。

  1. 安装成功时,提示以下信息。

shell

SUCCESSED! installed to xxxxx

1

配置系统​

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

启动服务​

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

  1. 切换到启动服务的用户,示例中的用户名为 hengshi。

shell

sudo su - hengshi

1

  1. 进入安装目录。

shell

cd /opt/hengshi

1

  1. 初始化 OS,执行前请确认用户有 sudo 权限。

shell

bin/hengshi-sense-bin init-os all

1

提示

离线环境在将依赖安装后执行 bin/hengshi-sense-bin init-os all-offline 跳过依赖包安装

  1. 初始化 HENGSHI SENSE。

shell

bin/hengshi-sense-bin init all

1

  1. 启动 HENGSHI SENSE 服务。

shell

bin/hengshi-sense-bin start all

1

  1. 当服务启动成功后,提示以下信息,模块的状态为IS ACTIVE

shell

 IS ACTIVE! : [metadb] @127.0.0.1:54320/hengshiIS ACTIVE! : [engine] @127.0.0.1:15432/hengshiIS ACTIVE! : [minio] minio server /opt/hengshi/minio-dataIS ACTIVE! : [redis] redis-server .*:6379IS ACTIVE! : [flink] /opt/hengshi/lib/flinkIS 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.ctlIS ACTIVE! : [hengshi] jar /opt/hengshi/lib/bootstrap-4.4-SNAPSHOT.jarIS 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

    1

  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

    1
    2

提示

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

停止服务​

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

shell

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

1
2
3

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

shell

 NOT ACTIVE! : [metadb] @127.0.0.1:54320/hengshiNOT ACTIVE! : [engine] @127.0.0.1:15432/hengshiNOT ACTIVE! : [minio] minio server /opt/hengshi/minio-dataNOT ACTIVE! : [redis] redis-server .*:6379NOT ACTIVE! : [flink] /opt/hengshi/lib/flinkNOT 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.ctlNOT ACTIVE! : [hengshi] jar /opt/hengshi/lib/bootstrap-4.4-SNAPSHOT.jarNOT 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/hengshiNOT ACTIVE! : [engine] @127.0.0.1:15432/hengshiNOT ACTIVE! : [minio] minio server /opt/hengshi/minio-dataNOT ACTIVE! : [redis] redis-server .*:6379NOT ACTIVE! : [flink] /opt/hengshi/lib/flinkNOT 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.ctlNOT ACTIVE! : [hengshi] jar /opt/hengshi/lib/bootstrap-4.4-SNAPSHOT.jarNOT ACTIVE! : [watchdog] /opt/hengshi/bin/hengshi-watchdog.sh

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue3实现打飞机(雷电)
  • HTML 超链接
  • 常见的正则化方法以及L1,L2正则化的简单描述
  • ELK学习笔记(三)——使用Filebeat8.15.0收集日志
  • 【大模型理论篇】大模型周边自然语言处理技术(NLP)原理分析及数学推导(Word2Vec、TextCNN、FastText)
  • 常见的pytest二次开发功能
  • 垃圾回收概述及算法
  • 机器学习之 PCA降维
  • 外排序之文件归并排序实现
  • 解锁 macOS 剪贴板历史记录,高效复制、粘贴技巧
  • Maven项目父模块POM中不应包含实际依赖(dependency)
  • 【Clickhouse】Clickhouse数据库简介
  • 如何选择web服务
  • Spring Boot Admin集成与自定义监控告警
  • HOT100(九)多维动态规划
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Android Volley源码解析
  • CSS盒模型深入
  • JavaScript设计模式系列一:工厂模式
  • JavaScript新鲜事·第5期
  • JAVA之继承和多态
  • Meteor的表单提交:Form
  • PHP面试之三:MySQL数据库
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 蓝海存储开关机注意事项总结
  • 聊聊sentinel的DegradeSlot
  • 延迟脚本的方式
  • 回归生活:清理微信公众号
  • ​ssh免密码登录设置及问题总结
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #Lua:Lua调用C++生成的DLL库
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #控制台大学课堂点名问题_课堂随机点名
  • (2)STM32单片机上位机
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)模仿学习-完成后台管理页面查询
  • (一)Docker基本介绍
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)菜鸟学数据库(三)——存储过程
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .gitignore文件使用
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net IOC框架入门之一 Unity
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • @media screen 针对不同移动设备