CentOS7下安装Archiver Appliance

一、软件安装

1.1 MySQL安装

  1. 先下载安装包 mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar.gz。
  2. 解压后,安装过程应按照如下顺序进行:
    (1) mysql-community-common
    [dongxw@localhost mysql]$ sudo rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm 
    
    (2) mysql-community-libs(需先移除mariadb-libs,并先安装mysql-community-client-plugins)
    [dongxw@localhost mysql]$ sudo rpm -ivh mysql-community-client-plugins-8.0.23-1.el7.x86_64.rpm 
    [dongxw@localhost mysql]$ sudo rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm 
    
    (3) mysql-community-client(需先移除mariadb、mariadb-server)
    [dongxw@localhost mysql]$ sudo rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm 
    
    (4) mysql-community-server
    [dongxw@localhost mysql]$ sudo rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm 
    
  3. 安装完MySQL后需要一些初始化设置:
    (1)开启MySQL服务:
    [dongxw@localhost ~]$ sudo mysqld --initialize
    [dongxw@localhost ~]$ sudo chown mysql:mysql /var/lib/mysql -R		# 改变/var/lib/mysql及其子目录的用户和属组
    [dongxw@localhost ~]$ systemctl start mysqld.service		# 开启MySQL服务
    [dongxw@localhost ~]$ systemctl enable mysqld
    
    (2)更改MySQL root用户密码:
    [dongxw@localhost ~]$ sudo cat /var/log/mysqld.log |grep password		# 查看数据库root用户的密码
    2021-08-23T06:58:17.451923Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: tQ:twskNh3UD
    [dongxw@localhost ~]$ mysql -uroot -p
    Enter password: tQ:twskNh3UD
    mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
    
    之后,再次登录本机上的MySQL即可用以下命令:
    [dongxw@localhost ~]$ mysql -uroot -p123456
    
    (3)新建archappl用户和数据库:
    为Archiver Appliance创建新的MySQL用户archappl,密码为archappl:
    mysql> create user 'archappl'@'%' identified by 'archappl';       # 先创建用户
    mysql> grant all on archappl.* to 'archappl'@'%';		# 再赋予关于archappl.* database的一切权限
    mysql> create database archappl; 		# 创建archappl数据库
    

1.2 mysql-connector-java安装

其实mysql-connector-java不需安装,只需要在Archiver Appliance安装时提供mysql-connector-java-5.-bin.jar文件。所以我们下载其安装包并解压即可。
(1)获得MySQL版本:
[dongxw@localhost ~]$ mysql --version mysql Ver 8.0.23 for Linux on x86_64 (MySQL Community Server - GPL)
(2)下载安装包(https://downloads.mysql.com/archives/c-j/)后解压:
在这里插入图片描述
必须下载Platform Independent版本,因为只有该版本的安装包才有mysql-connector-java-5.-bin.jar文件,用于安装Archiver Appliance。

1.3 JDK安装

(1)下载二进制安装包
http://www.oracle.com/technetwork/java/javase/downloads/index.html
(2)解压后将其放置于/home/dongxw/jdk-16.0.2,并定义其可执行文件所在位置的环境变量:

[dongxw@localhost ~]$ vim ~/.bashrc
…
JAVA_HOME=$HOME/jdk-16.0.2
PATH=$JAVA_HOME/bin:$HOME/modules/cs-studio:$PATH:$HOME/.local/bin
export PATH
[dongxw@localhost ~]$ . ~/.bashrc

1.4 Apache Tomcat安装

下载安装包,解压后将其放置于/home/dongxw/apache-tomcat/apache-tomcat-9.0.52
http://tomcat.apache.org/

1.5 Archiver Appliance安装

1. 单机安装

(1)利用安装脚本进行安装的准备工作
利用install_scripts/single_machine_install.sh脚本安装之前,必须的安装配置步骤包括:
1) MySQL安装和新建archappl用户并赋予权限,创建archappl数据库
2) JDK安装
3) mysql-connector-java-8.0.23.tar.gz安装包(内含mysql-connector-java-5.-bin.jar文件)的下载并解压
4) apache-tomcat-9.0.52.tar.gz安装包的下载
5) 环境变量JAVA_HOME的设置
(若利用single_machine_install.sh脚本安装则无需此步骤)
6) Archiver Appliance运行目录的新建
(例如将其建立为$HOME/modules/Tomcat_instances)

(2)下载安装包:
https://github.com/slacmshankar/epicsarchiverap/releases/download/v0.0.1_SNAPSHOT_13-Nov-2019/archappl_v0.0.1_SNAPSHOT_13-November-2019T15-45-42.tar.gz
该安装包内部文件如下,若下错包,则包内不是这些文件:

[dongxw@localhost ArchiverAppliance]$ ll
total 150532
-rw-r--r--. 1 dongxw dongxw    11358 Nov 14  2019 Apache_2.0_License.txt
-rw-r--r--. 1 dongxw dongxw 37665099 Nov 14  2019 engine.war
-rw-r--r--. 1 dongxw dongxw 36181758 Nov 14  2019 etl.war
drwxr-xr-x. 2 dongxw dongxw      255 Aug 30 23:07 install_scripts
-rw-r--r--. 1 dongxw dongxw     3520 Nov 14  2019 LICENSE
-rw-r--r--. 1 dongxw dongxw 42169666 Nov 14  2019 mgmt.war
-rw-r--r--. 1 dongxw dongxw     2009 Nov 14  2019 NOTICE
-rwxr-xr-x. 1 dongxw dongxw     7991 Nov 14  2019 quickstart.sh
-rw-r--r--. 1 dongxw dongxw    43662 Nov 14  2019 RELEASE_NOTES
-rw-r--r--. 1 dongxw dongxw 38045558 Nov 14  2019 retrieval.war
drwxr-xr-x. 3 dongxw dongxw       46 Aug 30 15:11 sample_site_specific_content

(3)利用安装脚本进行安装
以上准备工作完成后,运行install_scripts/single_machine_install.sh脚本。
1) 首先选择Archiver Appliance运行目录:
在这里插入图片描述
2) 选择apache-tomcat-9.0.52.tar.gz安装包:
在这里插入图片描述
3) 选择mysql-connector-java-5.-bin.jar文件:
在这里插入图片描述
4) 确认由脚本生成ARCHAPPL_APPLIANCES环境变量:
在这里插入图片描述
5) 确定MySQL数据库的登陆用户和数据库:
在这里插入图片描述
6) 暂时不需要指定policies.py文件:
在这里插入图片描述
7) 安装成功:

[dongxw@localhost Tomcat_instances]$ ll
	total 16
	drwxrwxr-x. 9 dongxw dongxw  220 Aug 31 10:09 apache-tomcat-9.0.52
	-rw-rw-r--. 1 dongxw dongxw  484 Aug 31 10:10 appliances.xml
	-rwxrwxr-x. 1 dongxw dongxw 2232 Aug 31 10:11 deployRelease.sh
	drwxrwxr-x. 7 dongxw dongxw   69 Aug 31 10:10 engine
	drwxrwxr-x. 7 dongxw dongxw   69 Aug 31 10:10 etl
	drwxrwxr-x. 7 dongxw dongxw   69 Aug 31 10:10 mgmt
	drwxrwxr-x. 7 dongxw dongxw   69 Aug 31 10:10 retrieval
	-rwxrwxr-x. 1 dongxw dongxw 4412 Aug 31 10:11 sampleStartup.sh
2. 集群安装

Archiver Appliance具有集群功能,开启的每个Archiver Appliance服务都是一个appliance,具有一个独特的identity,这些不同的appliance可以构成集群。集群中所有appliance都具有相同的appliances.xml文件,用于定义集群中所有appliance所在的主机IP和端口号等。
向集群中新增appliance时,要注意修改集群中所有appliances.xml文件,向其中添加新增appliance的IP和端口号信息;并重启集群中所有appliance
若新增的appliance与当前appliance所在主机不同,仍可以采用上述方式在新增主机上进行安装;但若要在当前已安装了appliance的主机上新增appliance,在采用上述方式安装后,还需要额外的配置步骤:
(1)修改appliances.xml,向其中添加新增appliance的IP和端口号信息。要注意,同一主机上的不同appliance需设置不同的端口。

[user@localhost Tomcat_instances1]$ vi appliances.xml
<appliances>
   <appliance>
     <identity>appliance0</identity>
     <cluster_inetport>192.168.200.103:16670</cluster_inetport>
     <mgmt_url>http://192.168.200.103:17665/mgmt/bpl</mgmt_url>
     <engine_url>http://192.168.200.103:17666/engine/bpl</engine_url>
     <etl_url>http://192.168.200.103:17667/etl/bpl</etl_url>
     <retrieval_url>http://192.168.200.103:17668/retrieval/bpl</retrieval_url>
     <data_retrieval_url>http://192.168.200.103:17668/retrieval</data_retrieval_url>
   </appliance>
   <appliance>
     <identity>appliance1</identity>
     <cluster_inetport>192.168.200.103:16671</cluster_inetport>
     <mgmt_url>http://192.168.200.103:17675/mgmt/bpl</mgmt_url>
     <engine_url>http://192.168.200.103:17676/engine/bpl</engine_url>
     <etl_url>http://192.168.200.103:17677/etl/bpl</etl_url>
     <retrieval_url>http://192.168.200.103:17678/retrieval/bpl</retrieval_url>
     <data_retrieval_url>http://192.168.200.103:17678/retrieval</data_retrieval_url>
   </appliance>
   <appliance>
     <identity>appliance2</identity>
     <cluster_inetport>192.168.200.104:16670</cluster_inetport>
     <mgmt_url>http://192.168.200.104:17665/mgmt/bpl</mgmt_url>
     <engine_url>http://192.168.200.104:17666/engine/bpl</engine_url>
     <etl_url>http://192.168.200.104:17667/etl/bpl</etl_url>
     <retrieval_url>http://192.168.200.104:17668/retrieval/bpl</retrieval_url>
     <data_retrieval_url>http://192.168.200.104:17668/retrieval</data_retrieval_url>
   </appliance>
   <appliance>
     <identity>appliance3</identity>
     <cluster_inetport>192.168.200.104:16671</cluster_inetport>
     <mgmt_url>http://192.168.200.104:17675/mgmt/bpl</mgmt_url>
     <engine_url>http://192.168.200.104:17676/engine/bpl</engine_url>
     <etl_url>http://192.168.200.104:17677/etl/bpl</etl_url>
     <retrieval_url>http://192.168.200.104:17678/retrieval/bpl</retrieval_url>
     <data_retrieval_url>http://192.168.200.104:17678/retrieval</data_retrieval_url>
   </appliance>
 </appliances>

(2)新增appliance的运行目录为Tomcat_instances1,安装完后修改该目录下的{mgmt, engine, etl, retrieval}/conf/server.xml文件中的端口号信息,与appliance.xml中该appliance的信息匹配。以Tomcat_instances1/retrieval/conf/server.xml为例:

...
    # 将此处默认的port="17668"改为新增appliance的retrieval端口号
    <Connector connectionTimeout="20000" port="17678" protocol="HTTP/1.1" redirectPort="8443"/>	 
    <!-- A "Connector" using the shared thread pool-->
...

上述修改完后,重启集群中所有appliance。
如图所示,即为两台主机上分别各有两个appliance的集群效果:
在这里插入图片描述

3. 设置网页身份验证登录(非必需)

在 …/Tomcat_instances/mgmt/conf/tomcat-users.xml 文件的 <tomcat-users> 标签中添加:

  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin"/>

在 …/Tomcat_instances/mgmt/webapps/mgmt/WEB-INF/web.xml 或 …/Tomcat_instances/mgmt/conf/web.xml 文件的 <web-app> 标签中添加:

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>admin login</web-resource-name>
      <url-pattern>/ui/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>admin login</realm-name>
  </login-config>
  <security-role>
    <role-name>admin</role-name>
  </security-role>

web服务器专题:tomcat(三)tomcat-users.xml 配置文件
Tomcat tomcat-users.xml用户配置详解

二、安装过程中可能出现的问题

  1. 在脚本运行过程中,会调用一些python脚本或命令。由于该套安装包中涉及到python处,都利用了系统环境变量来自动搜索当前PATH中定义的python解释器,这就可能调用到python3解释器;而相应的python语句(尤其是print语句)都是以python2的形式编写的,因此可能触发语法错误。该问题有两种解决方法:
    1) 修改PATH中定义的python解释器,将python2的路径放在最前边。例如:
    export PATH=/usr/bin/: $ PATH
    ls /usr/bin/python /usr/bin/python2.7
    
    2) 将安装包中各处的python解释器指定为python2。例如:
    single_machine_install.sh,  line 333:    WARSRC_DIR=`/usr/bin/python2.7 -c …
    deployMultipleTomcats.py,  line 1:    #!/usr/bin/python2.7
    addMysqlConnPool.py,  line 1:    #!/usr/bin/python2.7
    
  2. 集群中某些appliance在自己主机上的Status显示“Working”,但在其他主机上会显示“Stopped -engine/etl/retrieval”;或自己主机上的Tomcat_instances/mgmt/logs/arch.log中报错如下:
    [http-nio-17665-exec-9] ERROR org.epics.archiverappliance.utils.ui.GetUrlContent - Exception getting contents of internal URL http://192.168.200.104:17676/engine/bpl/getApplianceMetrics
    org.apache.http.conn.HttpHostConnectException: Connect to 192.168.200.104:17676 [/192.168.200.104] failed:
    这是由于{mgmt, engine, etl, retrieval}/conf/server.xml文件中的端口号信息未与appliances.xml中该appliance的端口号信息匹配。
    apache tomcat会按照conf/server.xml文件中的端口号信息启动相应的tomcat instance,而Archiver Appliance集群按照appliances.xml的索引读取不同appliance的端口号信息。读取的端口号并未被apache tomcat启用监听时,就会产生上述错误。

三、软件运行

3.1 防火墙设置

为了使其它机器可以访问Archiver Appliance的Web操作界面,可以直接关闭RHEL7操作系统自带的防火墙,也可以在不关闭防火墙的情况下配置防火墙允许指定端口。

3.2 存储设置

(1) 创建RAMDisk作为短期存储
首先查看系统内存大小,用来确定 RAMDisk 的容量:

$ free -h	# 系统内存16GB
        total        used        free        shared      buff/cache   available
Mem:      15G        6.8G        202M        180M        8.2G        7.9G
Swap:      7.7G        139M        7.6G

分配RAMDisk容量为2GB,个数为1:

sudo modprobe brd rd_nr=1 rd_size=2097152 max_part=0

该操作可以创建路径为 /dev/ram0 的 RAMDisk。
将 /arch/sts/ArchiverStore 软链接到 /dev/ram0,作为短期存储路径:

sudo mkdir -p /arch/sts
sudo ln -s /dev/ram0 /arch/sts/ArchiverStore

(2) 创建硬盘中相应路径作为中、长期存储

sudo mkdir -p /arch/mts/ArchiverStore
sudo mkdir -p /arch/lts/ArchiverStore

3.3 使用脚本启停

利用安装后生成的 tomcat_instances/sampleStartup.sh 启停。
(1) 启动Archiver Appliance的命令如下:

./sampleStartup.sh start

(2) 停止Archiver Appliance的命令如下:

./sampleStartup.sh stop

注意:
(1) 当epics环境变量不在/opt/local/setEPICSEnv.sh 文件中时,应在运行前将脚本中下列行注释掉:

#source /opt/local/setEPICSEnv.sh。

(2) 若短期/中期/长期存储某一项未真正建立存储位置时,需要将脚本中其对应行注释掉:

#export ARCHAPPL_MEDIUM_TERM_FOLDER=/arch/mts/ArchiverStore
#export ARCHAPPL_LONG_TERM_FOLDER=/arch/lts/ArchiverStore

否则应在脚本中将其指向对应的存储位置。
(3) 启动Archiver Appliance之前应确保 MySQL 服务已开启。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值