在未联网计算机中部署Archiver Appliance(以Rocky Linux 8系统为例)

2023-05-16

由于计算机未联网,而利用 epicsarchiverap-env 工具进行安装的过程中需要一些联网下载安装包的操作步骤,因此以下会给出相应的解决方法。
总体思路就是:
对于一般性网址如 GitHub 等,提前下载好安装包并 U 盘拷贝到计算机上;
对于系统镜像中具备的依赖包,通过跳板机和对yum源的设置,从 192.168.206.234:8888 服务器上获取安装包(详见在未联网的计算机中部署 yum 源和 EPICS 环境)。

1. 提前下载好相关的包并 U 盘拷贝到工作站

【epicsarchiverap-env-1.2.0.tar.gz】 https://github.com/jeonghanlee/epicsarchiverap-env
这是一个用来安装 Archiver Appliance 的懒人安装工具

【epicsarchiverap-1.1.0.zip】 https://github.com/slacmshankar/epicsarchiverap
Archiver Appliance 的安装包

【apache-tomcat-9.0.65.tar.gz】 https://archive.apache.org/dist/tomcat/
注意,此处版本号应和 epicsarchiverap-env/configure/CONFIG_TOMCAT文件中定义的 TOMCAT_MAJOR_VER 和 TOMCAT_MINOR_VER一致。

【svg_viewer-66e9473943991ff5cf9a786e7b51aa95605f508e.zip】 https://github.com/slacmshankar/svg_viewer
retrieval 相关的web页面文件。直接下载的epicsarchiverap/svg_viewer/下为空。

2. 安装

根据 Archiver Appliance for ONLY Rocky 8 的指导,并结合未联网情况来进行安装。

2.1 将安装包放在合适位置(取代 make init)

tar -zxf epicsarchiverap-env-1.2.0.tar.gz /home/user/modules

tar -zxf epicsarchiverap-master.zip epicsarchiverap-env-1.2.0/epicsarchiverap-src

cp apache-tomcat-9.0.65.tar.gz epicsarchiverap-env-1.2.0/

tar -zxf svg_viewer-66e9473943991ff5cf9a786e7b51aa95605f508e.zip epicsarchiverap-env-1.2.0/epicsarchiverap-src/svg_viewer

2.2 安装依赖包(取代 make install.pkgs)

cd epicsarchiverap-env-1.2.0
sudo dnf install -y gcc libgcc wget sudo git unzip curl make tree sed which java-11-openjdk ant mariadb-server chrony

su
echo 1 | update-alternatives --config java # 选择Java默认版本,只能以root身份执行
su user

暂时不需要安装 epel-release 和启动 powertools 软件仓库。
Enable PowerTools Repository on Rocky Linux 8

2.3 启动数据库服务

sudo systemctl start mariadb
sudo systemctl status mariadb

2.4 创建关于 Archiver Appliance 的数据库用户和表

make db.secure
make db.addAdmin # 添加 admin 用户
make db.show # 以 admin 用户显示 databases
make db.create # 创建 archappl 用户和数据库
make db.show

通过mysql --version命令可以查看mariadb版本。
我们通过yum安装的mariadb的版本是5.5.68,因此需做一些设置:

mysql -uroot
MariaDB [(none)]> set global innodb_large_prefix=1;
MariaDB [(none)]> set global innodb_file_format=BARRACUDA;
MariaDB [(none)]> set global innodb_file_per_table=true;

给每个CREATE TABLE的语句末尾、ENGINE=InnoDB之前加上ROW_FORMAT=DYNAMIC:

vi epicsarchiverap-src/src/main/org/epics/archiverappliance/config/persistence/archappl_mysql.sql 

继续执行:

make sql.fill # 在 archappl 数据库中创建 Archiver Appliance 的 4 个 table
make sql.show # 显示 Archiver Appliance 的 4 个 table

2.5 个性化定制

修改epicsarchiverap-env/site-template/siteid/template_changes.html文件:

<span id="siteimages"><a href="http://web.ihep.ac.cn/"><img src="comm/img/IHEPLogo.jpg" height="96px"></img></a></span>
<link rel="icon" type="image/png" href="comm/img/ihep.ico" />

<p>This is the Institute of High Energy Physics of Chinese Academy of Sciences(IHEP) customized EPICS Archiver Appliance. If one has technical issues, please contact dongxuewei@ihep.ac.cn or at <a href="https://github.com/slacmshankar/epicsarchiverap/issues">the EPICS Archiver Appliance Issues</a> directly. </p>

修改epicsarchiverap-env/site-template/siteid/css/main.css和mgmt.css,来调整页面样式:

.pageheader {
    height: 96px;
}
.apptitle {
    padding-left: 0.1em;
    padding-top: 0.6em;
		……
    color: #00313C;
    font-size: 3em;
		…….
}
#siteimages{
    float: right;
    height: 96px;
}

修改epicsarchiverap-env/site-template/siteid/build.xml文件:
把其中的Advanced Light Source (ALS-U)改为Institute of High Energy Physics of Chinese Academy of Sciences(IHEP);
ALS改为IHEP;
als改为ihep

sed -i "s/Advanced Light Source (ALS-U)/Institute of High Energy Physics of Chinese Academy of Sciences(IHEP)/g" build.xml 
sed -i "s/ALS/IHEP/g" build.xml 
sed -i "s/als/ihep/g" build.xml

将IHEPLogo.jpg、ihep.ico图片复制到site-template/siteid/img/下
在epicsarchiverap-env/下执行make build及后续步骤

2.6 配置 Java、tomcat 相关的环境变量

make rocky8.conf

2.7 将 tomcat 安装到/opt/tomcat9/下,并做一些配置修改(取代make tomcat)

make tomcat.install # 创建 tomcat:tomcat 用户、组;解压安装包到/opt/tomcat9/下;更改文件权限等
make tomcat.update # 更改服务端口配置

2.8 创建 4 个 war 包和一个 tar.gz 压缩包到 epicsarchiverap-env/wars/下

make build # 包含个性化定制

2.9 将 Archiver Appliance 的 4 个 war 包及相关配置文件安装到/opt/epicsarchiverap/下,并部署成 system service

make install

确认安装完成:

make exist

2.10 启动 Archiver Appliance 系统服务

make sd_start
make sd_status

2.11 打开 Archiver Appliance 自带 web 界面

http://localhost:17665/mgmt/

http://localhost:17665/mgmt/ui/index.html

3. 安装和使用过程中遇到的问题

  1. 权限问题
    当设置了PV存储路径为非 /arch 下的其他路径时,archappl_service.log 中有可能报错如下:

    113367 [MgmtArchivePVWorkflow1] WARN  edu.stanford.slac.archiverappliance.PlainPB.PlainPBStoragePlugin  - Plain PB plugin: The root folder specified does not exist - /home/user/arch/mts/ArchiverStore. Creating it
    113368 [MgmtArchivePVWorkflow1] ERROR org.epics.archiverappliance.mgmt.archivepv.CapacityPlanningBPL  - Exception during capacity planning, returning this appliance
    java.nio.file.AccessDeniedException: /home/user/arch/mts
    	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
    

    这是因为 epicsarchiverap.service 系统服务默认的运行用户为 tomcat:

    [Service]
    #
    User=tomcat
    Group=tomcat
    #
    

    而 tomcat 用户没有进入 /home/user 目录的权限。

    解决方式:将该系统服务的运行用户改为 root,则可以任意设置 PV 的存储路径。

  2. mariadb版本问题
    若mariadb版本低于5.7,且make sql.fill之前按前述步骤对mariadb进行设置,则会报错“Specified key was too long; max key length is 767 bytes”。

    5.6版本的innodb大长度前缀默认是关闭的,而5.7之后大文件前缀默认是开启的。

    MySQL 建索引时遇到 Specified key was too long; max key length is 767 bytes
    MySQL 经典案例分析:Specified key was too long
    mysql字符集 utf8 和utf8mb4 的区别

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在未联网计算机中部署Archiver Appliance(以Rocky Linux 8系统为例) 的相关文章

  • ROS:geometry_msgs中 Point32 , Point ,PointStamped 的定义和转换

    ROS geometry msgs中Point32 Point PointStamped 的定义和转换 Point32和Point的定义Point32和Point的转换PointStamped 的定义和转换 本文所用ROS为kinetic版
  • ROS:回调函数不执行

    最近在写一个接收图片消息的节点时 xff0c 遇到了两次回调函数不调用的情况 xff0c 记录一下 循环中有continue被跳过了 具体代码如下 xff1a while ros ok if mat data 61 61 nullptr s
  • Python猜拳游戏

    关键点在于 user input 43 1 3与computer input的值进行比较 xff0c 这样就省掉了对于边界值0和2的单独判断 xff0c 简化了代码 from random import choice def finger
  • ROS:节点发布消息无对应话题名称

    最近在写一个发布里程的节点的时候遇到了 xff0c 发布了消息 xff0c 在ros却没有对应话题情况 通过rostopic list 和 rosnode info 节点名 命令查看 xff0c 均没有对应话题 xff0c 大致代码如下 x
  • 【python安全攻防】python简易端口扫描器

    文章目录 socket套接字optparse模块socket解析主机进行连接获取bannerthreading多线程端口扫描器python nmap端口扫描 对自己看python绝技的一次学习记录 socket套接字 与TCP端口进行交互
  • ROS中geometry_msgs常用消息类型

    官方文档 xff1a geometry msgs Msg Srv Documentation geometry msgs里面所有的消息数据类型 xff1a 节点之间仅支持使用消息通讯 Accel AccelStamped AccelWith
  • 【docker ros】docker 开启自启运行容器中的程序

    前言 xff1a 使用docker大规模部署应用 xff0c 而又需要开机自启 xff0c 自动启动容器中的程序 xff0c 这里以docker ros为例子 xff0c 使用systemctl服务 xff0c 结合shell脚本 xff0
  • 网络协议与网络编程(双电脑串口通讯)

    C C 43 43 网络编程 双电脑串口通讯 在阅读本文前 请确保先查看这篇文章 xff0c 学习有关TCP网编与单电脑信息传输实践 文章目录 C C 43 43 网络编程 双电脑串口通讯 1 让两台电脑连接同一个局域网2 查询IP地址3
  • Linux shell的数组详解

    Linux shell的数组详解 前提变量数组数组声明声明索引数组声明关联数组 数组赋值数组引用数组中常用的变量数组中的其它操作 示例 前提 程序是指 指令 43 数据 的组合 指令 xff1a bash脚本中的代码 xff08 函数 调用
  • cannot find trajectory file at ./examples/trajectory.txt

    slam十四讲 3 7显示运动轨迹的程序 trajectory txt文件路径修改 string trajectory file 61 34 examples trajectory txt 34 改为 string trajectory f
  • slam14讲,李代数库Sophus遇到的问题及解决办法

    首先遇到sophus安装问题是在第4章时 xff0c 高博虽然书上说 我们使用带模板的Sophus库 xff0c 但实际的代码使用的是非模板库 高博在git上给的sophus库文件我在make的时候报错 xff0c 找不到解决办法 xff0
  • PX4添加新的msg和topic

    本人也是初次接触PX4固件没几天 xff0c 学习了msg的一些知识后写下这个以供自己以后参考 一 首先在 PX4 Autopilot msg文件夹下新建一个 msg文件 xff1a 这里我添加的是Data link msg msg 在 m
  • 物理机安装LINUX后的网卡配置问题

    基础材料 xff1a CentOS7 物理服务器 背景说明 xff1a 安装完LINUX操作系统的网卡配置让主机连通网络 xff0c 对于系统管理员来说是再常见不过的事情 xff0c 而且基本上也没什么难度 xff0c 但凡做过系统管理员的
  • PX4添加新的库(lib)

    就在前一两天 xff0c PX4源代码更新了 xff0c 固件库的名称从Firmware变成了PX4 Autopilot 一 首先在lib下新建一个文件夹并添加 cpp hpp和CMakeLists txt 其中 cpp和 hpp是自己写的
  • PX4添加新的应用

    研究了四天怎么添加新的应用程序 xff0c 前几天都尝试着添加 cpp文件的应用程序 xff0c 跟着网上的方法都失败了 xff0c 结果今天试着添加一个 c文件的应用程序居然成功了 先把 c的添加方法写一写 xff0c 以后学会了怎么添加
  • PX4应用程序开机自启动

    修改启动脚本 新版本的PX4固件这些rc文件位置为 xff1a PX4 Autopilot ROMFS px4fmu common init d文件夹中 1 以rc为开头的都是飞控的启动脚本的文件 xff0c 通过这些文件决定那些应用程序应
  • 自由链表(free list)——SGI STL的空间配置器(allocator)第二级配置器维护方法

    参考 xff1a STL源码剖析 以及 STL空间配置器之第二级配置器的free list详解 span class token comment free list的节点 span span class token keyword unio
  • 【C语言 Linux系统开发 视频课程学习笔记】

    学习的课程在b站 xff1a 史上最强最细腻的linux嵌入式C语言学习教程 李慧芹老师 感谢李老师 xff01 感谢up主 xff01 本篇博客只是收集一下学习过程中遇到的函数和其他知识点 xff0c 并不会详细展开 某个函数的具体情况还
  • pthread线程私有数据TSD 几点测试结果

    更加详细的内容查看man手册或百度 xff0c 这里只是几个实际测试的结果 仅代表实验现象 xff0c 并不考虑实现原理 pthread key t key可以定义为全局变量 xff0c 全局变量属于所有线程共有的 在不同的线程中可以用pt
  • 【muduo库】server端流程图

    1 首先是根据陈硕老师的muduo库手册p11的类图 xff0c 结合自己的学习所得画的一个更详细的流程 xff0c 使用IO线程池与计算线程池 xff08 1 xff09 计算线程中 xff0c task 调用TcpConnection

随机推荐

  • std::bind实现在类外访问类私有成员函数

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 树莓派(linux)安装scipy

    这里写目录标题 成功案例失败案例1 xff08 使用pip直接安装 xff09 失败案例2 xff08 使用pip安装依赖 xff09 命令安装yum使用alien 失败案例3 xff08 whl 43 setup py安装 xff09 查
  • 计算机的基本组成

    一个完整的计算机系统包括硬件系统和软件系统两大部分 xff1a 硬件系统 xff1a 是我们肉眼所见的实体 如 xff1a 电源 显示器 主机箱等 软件系统 xff1a 是我们使用的程序 xff0c 如 xff1a 微信 QQ音乐 浏览器等
  • pycharm关闭拼写检查

    pycharm默认会对函数名 xff0c 类名进行拼写检查 xff0c 不符合规则的会有一些提示和警告 xff0c 虽然不会影响程序运行 xff0c 但是看着还是比较不爽 xff0c 所以写一下关闭拼写检查的方法 打开pycharm xff
  • ROS基础——tf相关

    service和srv 我们有一个节点A会计算出右臂逆向关节运动学坐标 xff0c 我们有一个节点B xff0c 不会经常用到 xff0c 但是偶尔会用到节点A的这个坐标 假设我们用主题来通信 xff0c 那么我们的节点A要不停的来发布消息
  • EPICS的学习过程

    在此之前 xff0c 最好先学习下Linux系统的基本操作 一 了解什么是EPICS 了解EPICS base Channel Access IOC OPI 的概念 高能所内网可参考这些材料 xff1b 打开USPAS xff0c 熟悉其大
  • CentOS 7下ArchiveViewer的安装与使用

    1 下载 安装jdk 下载安装包https www oracle com java technologies downloads java8 xff1b 解压 xff1b 将 JAVA HOME bin路径添加到 PATH中 注意 xff1
  • CentOS7 安装 Archiver Appliance 的 Grafana服务

    1 安装 Grafana 7 采用rpm的安装方式 xff1a span class token function wget span https dl grafana com enterprise release grafana ente
  • AA中策略文件的使用

    一 AA策略文件 AA中关于存储策略设置的文件主要有两个 xff1a policies py archappl properties 每个appliance只有一个archappl properties和policies py文件 xff0
  • AA的管理

    1 AA的整体代码结构 AA代码的设计遵循了MVC模式 xff0c 将模型层 xff08 数据端 xff09 视图层 xff08 web客户端 xff09 控制层分离 数据端 xff08 M xff09 利用StoragePlugin接口建
  • CentOS 7下 VNC 服务的配置和开启、常见问题

    文章目录 1 X server Xvnc 和 VNC serverX Window SystemX ServerX ClientX Window ManagerDisplay ManagerX Window启动方式方式一 xff1a sta
  • AA部署中,修改Context属性造成的问题

    此处利用了https github com jeonghanlee epicsarchiverap env将AA安装在 opt epicsarchiverap 下 xff0c 并以系统服务的方式启停 问题产生原因 地球人都知道 xff0c
  • CentOS 7 下安装 Olog-es(Phoebus-olog)

    介绍报告 Olog es 服务端安装包 GitHub Olog phoebus olog Online logbook for experimental and industrial logging web服务端安装包 GitHub Olo
  • 视频监控系统安装和使用过程中的常见问题

    1 视频卡顿 花屏 当已确定POE供电距离在何时范围内时 xff0c 有可能是网线接线不规范或是网线损坏导致 对于POE供电距离较远 网络带宽较大的 xff0c 尽量连接在POE交换机的红口 xff08 红口保障 xff09 2 NVR的初
  • 关于CIDR地址的计算方法

    CIDR无类域间路由 xff0c 打破了原本的ABC类地址的规划限定 xff0c 使用地址段分配更加灵活 xff0c 日常工作中也经常使用 xff0c 也正是因为其灵活的特点使我们无法一眼辨认出网络号 广播地址 网络中的第一台主机等信息 x
  • EPICS CA请求能否成功的影响因素

    1 子网和广播域 子网掩码和广播域互为互补的网段 例如 xff1a 10 0 2 235的掩码为255 255 0 0 xff0c 则它所在的子网为10 0 0 0 xff0c 广播域为10 0 255 255 xff1b 192 168
  • 服务器采购和选型

    1 CPU 双路CPU xff0c 0号位和1号位 xff0c 只要0号位CPU正常 xff0c 服务器就能工作 xff0c 若1号位CPU故障 xff0c 服务器会报警 若0号位CPU故障 xff0c 1号位CPU正常 xff0c 服务器
  • CentOS 7自定义系统服务(以Phoebus-Olog为例)

    需要开启的服务 xff1a MongoDBElasticSearchPhoebus Olog后端服务Phoebus Olog web client前端服务 配置系统服务的方式 xff1a systemd 把spring boot项目配置为L
  • 在未联网的计算机中部署 yum 源和 EPICS 环境

    1 基本背景 EPICS 软件仓库 xff1a 192 168 206 234 8888 安装方式 xff1a yum 2 配置跳板机 跳板机功能 xff1a 借助ssh 隧道服务进行端口转发 xff0c 使未联网的计算机能够访问软件仓库
  • 在未联网计算机中部署Archiver Appliance(以Rocky Linux 8系统为例)

    由于计算机未联网 xff0c 而利用 epicsarchiverap env 工具进行安装的过程中需要一些联网下载安装包的操作步骤 xff0c 因此以下会给出相应的解决方法 总体思路就是 xff1a 对于一般性网址如 GitHub 等 xf