GaussDB Database Manager 安装指南
简介
Database Manager是一款基于Web的数据库监控工具,提供丰富的界面展示,可有效监控多个集群数据库。通过管理员用户和普通用户区分查看和操作权限,对集群数据库进行安全的监控和运维操作。Database Manager提供的主要功能包括:
导入并监控集群
集群、主机和实例运行监控
数据库运行监控
故障诊断分析和上报
告警分析和上报
1、安装环境准备
系统要求
硬件环境:
CPU:4核
内存:8G
本次测试使用vmwareworkstations 14
软件环境:
Os:redhat7.5(7.5-x86_64 (RedHat7.5))
JDK:jdk-8u231-linux-x64.tar.gz
DM:Database_Manager_RHEL.tar.gz
Python:Python 2.7.5
地址规划:
IP:192.168.100.10
【说明】
1、GaussDB 100仅支持2.7版本;
2、Java:没有使用系统自带JAVA,安装了新版本的Java
软件下载地址:
https://support.huawei.cn/enterprise/zh/software/250590642-ESW2000136086
【注意】
•安装用户可以由Database Manager用户自定义。本文中的用户名和用户目录仅做示例说明。
•HA安装场景要同时主机、备机上完成准备。
•如果集群内核安装在RedHat上,请确保集群所有节点都安装了目标软件。
安装DMServer前需准备以下事宜:
1.Database Manager安装包需单独存放至一个目录,并且目录中不能包含任何其他文件。
2.安装DMServer及相关组件的目录(例如,日志目录)必须不是根目录。如果安装目录为/home/<user>,需将其挂载到非根目录;
3.DMServer的安装用户已创建;管理员、root和supervisor用户不能作为Database Manager安装用户,因为安装用户需限定最小权限。可以将安装用户添加到任意组。
4.磁盘空间不得低于35 GB。
执行以下命令查看磁盘空间:
df –P
安装Database Manager的所有节点必须安装Python 2.6.x或Python 2.7.x版本。
执行以下命令查看Python版本:
python–version
[root@localhost dminstalluer]#python --version
Python 2.7.5
5.安装Database Manager的所有节点必须安装Java 1.8+或Java 11.0.1版本,不包括 JDK 1.8.0_162(8U162),因为该版本存在漏洞。
执行以下命令查看Java版本:
java–version
[root@localhost dminstalluer]# java–version
需要安装JAVA
6.通过dminstalluser用户在Database Manager服务器上将PATH变量设为JDK路径,具体操作如下:
使用root用户登录待安装DMServer的主机,切换为dminstalluser用户。
su - dminstalluer
输入如下内容,设置Java环境变量:
vi~/.bashrc
export JAVA_HOME=/home/dminstalluer/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dminstalluer/dmserver/primdb/server/lib/"
其中,JAVA_HOME为JDK路径,该路径仅做示例,需输入实际路径;CLASSPATH和PATH路径,输入以上内容即可。
%2.按Esc键退出编辑模式,并输入以下内容保存并退出:
:wq
%2.执行如下命令激活Java环境变量:
source~/.bashrc
【说明:】
用户可以在bash_profile或bashrc文件中配置Java环境变量,需注意以下事项:
%3.保留其中一个文件即可。
%3.如果上述两个文件都存在,优先使用bash_profile文件。
%3.基本服务清单如下:
oPrimary Info Store
o指标 Info Store
oWebUI
oAPS_InfraZuul
oAPS_InfraProxy
oAPS_AutoPilotAudit
oAPS_AutoPilotPlatformMgmt
oAPS_AutoPilotUser
oAPS_InfraEureka
oAPS_AutoPilotConfig
oAPS_Monitoring
oAPS_InfraProcessing
oAPS_InfraCollection
oAPS_InfraHAService
【说明:】
•Primary Info Store服务用于保存所有用户数据以及DM WebUI操作所需要的配置和数据。
•Metric Info Store服务用于保存所有从数据库获取的统计信息,助力DM分析和显示。
重新安装Database Manager时请确保已卸载之前的Database Manager,否则重装可能会失败。
2、安装步骤:
创建用户和组
使用putty等远程SSH登录工具登录待安装DM的Linux机器;
将Database Manager软件包与JDK软件包上传至服务器;
解压Database Manager软件包。
1.创建用户
安装DMServer之前需要创建DM用户组及其相应的用户。
执行以下步骤创建一个用户组并给该组添加用户:
1.%2创建用户组
打开Linux终端执行以下命令:
groupadd <group_name>
其中,<group_name>表示用户组的名称,例如,dm_group或dminstalluer。
[root@localhost ~]#groupadd dminstalluer
2.%2创建dminstalluser用户并将该用户添加到新创建的用户组
执行以下命令将该用户添加到用户组:
useradd -d <home/user_directory> -g <group_name> -m <user_name>
其中,
<home/user_directory>表示用户的HOME目录。
-m用于在HOME目录不存在时创建HOME目录。
<user_name>表示用户名称,即,dminstalluer。
[root@localhost ~]# useradd -d home/dminstalluer -g dminstalluer -m dminstalluer
设置密码。
执行以下命令为该用户设置密码:
[root@localhost ~]#passwd dminstalluer
Changing password for user dminstalluer.
New password:root123
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:root123
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
chowndminstalluer:dminstalluer–R/home/dminstalluer
【说明】
dminstalluser用户必须能够执行以下OS命令:
opython --version
ojava -version
odf -P
ocat proc/sys/net/IPv4/ip_local_port_range
onetstat -antp
oiostat -k
onetstat -i
oless proc/vmstat
oless proc/meminfo
ohead -1 proc/stat
可以切换用户,测试。
2.上传并解压软件包
解压软件包获取安装文件,并解压缩。
2.1使用dminstalluser用户登录安装DMServer的主机。
2.2将软件包复制到/home/dminstalluser文件夹。
打开复制的目的文件夹。
cd home/dminstalluer
2.3执行以下命令解压软件包。
[root@localhost dminstalluer]#tar -zxvf Database_Manager_RHEL.tar.gz
解压后得到如下文件夹和文件:
oscript:Database Manager各组件,及相应安装脚本
osoftware:
•Agent
- APA_InfraAgent.tar.gz:DMAgent安装文件
•cert:keystore信息
•haproxy: HA高可用Proxy服务器
•keyParts:key信息
•metricdb:仓库数据库
•openas:Web服务器
•primdb:元数据仓库数据库
•services:所有应用服务的软件包
•tools:Database Manager密码工具
•web:WebUI软件包
oconn_test_w_pass.sh:HA安装场景下,建立互信必需
oconn_test_w_trust.sh:HA安装场景下,建立互信必需
oCopyright Notice.docx: 版权详情
odmserverInfo.json:Database Manager版本详情
ogenerate_remote_keys.sh:HA安装场景下,建立互信必需
oinstall.py:Database Manager各组件的安装脚本
oinstall_default.conf:Database Manager安装的默认配置
oremote_install_agent.py:前端脚本,用于执行远程安装,支持和本地/远程脚本交互
otrust_ltop.sh:HA安装场景下,建立互信必需
oupdate.conf: 配置文件,用于跨版本升级
3.安装过程(单机模式)
DMServer预安装
安装DMServer
3.1配置DMServer安装参数
•进入软件包所在目录。
cd home/dminstalluer
•打开install-default.conf文件进行参数设置。
vi install-default.conf
将如下参数设置为待安装DMServer的主机业务平面IP地址,其他参数建议保持默认值。
webui.listen.ip =192.168.100.10
3.2DMServer预安装
为DM准备安装环境:
•配置preinstall_default.cfg文件中的参数。
root@localhost ~]#cd home/dminstalluer/
[root@localhost dminstalluer]#ls
conn_test_w_pass.sh generate_remote_keys.sh remote_install_agent.py
conn_test_w_trust.sh install-default.conf script
Copyright Notice.docx install.py software
Database_Manager_RHEL.tar.gz preinstall_default.cfg trust_ltop.sh
dmServerInfo.json preinstall_dm.py update.conf
[root@localhost dminstalluer]#vim preinstall_default.cfg
[pre_install]
dm_user = dmserver # user for DM server installation
dm_group = dmserver # user group for the DM server user
home_dir = home/dmserver # home path for the DM server user
#jdk_path = # Path for JDK package, to be used for installation(in local and remote machine) if JAVA is not configured.
#peer_ip = # Peer machine IP for HA installation
修改为:
[pre_install]
dm_user =dminstalluer # user for DM server installation
dm_group =dminstalluer # user group for the DM server user
home_dir =/home/dminstalluer # home path for the DM server user
#jdk_path = # Path for JDK package, to be used for installation(in local and remote machine) if JAVA is not configured.
#peer_ip = # Peer machine IP for HA installation
•以root用户执行以下命令,准备DM安装环境:
python preinstall_dm.py
【说明】:
•必须将配置文件和预安装文件保存到同一文件夹。
•HA安装模式下,执行命令会提示用户输入远程机器密码。用户需要在每次提示时都输入密码。
•该命令执行包括以下步骤:
1.如果没有组,创建组。
2.如果没有用户,创建用户。
3.如果用户没有cron访问权限,添加该权限。
4.为该用户查找Java兼容版本。如果没有发现,从该用户获取JDK软件包进行安装。
5.如果是HA模式,在每台远程机器重复步骤1-4
Group Check | OK | Group already exists
User Check | OK | User already exists
User-Group Check | OK |
Cron Access Check | OK | All users have cron access.
Java Compatibility Check | Not OK | Compatible Java is not available for DM Server. JDK Package not supplied.
【解决】
需要下载jdk,安装jdk,修改环境变量。
dminstalluer用户 上传到/home/dminstalluer目录,
[dminstalluer@localhost ~]$tar -zxvf jdk-8u231-linux-x64.tar.gz
[root@localhost dminstalluer]#vim .bashrc
[root@localhost dminstalluer]# pwd
/home/dminstalluer
[root@localhost dminstalluer]# cat .bashrc
# .bashrc
# Source global definitions
if [ -f etc/bashrc ]; then
. etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
export JAVA_HOME=/home/dminstalluer/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@localhost dminstalluer]#source~/.bashrc
检查java:
[dminstalluer@localhost ~]$echo $JAVA_HOME
/home/dminstalluer/jdk1.8.0_231
[dminstalluer@localhost ~]$ ls
1 dmServerInfo.json jdk-8u231-linux-x64.tar.gz software
conn_test_w_pass.sh generate_remote_keys.sh preinstall_default.cfg trust_ltop.sh
conn_test_w_trust.sh install-default.conf preinstall_dm.py update.conf
Copyright Notice.docx install.py remote_install_agent.py
Database_Manager_RHEL.tar.gz jdk1.8.0_231 script
[dminstalluer@localhost ~]$which java
~/jdk1.8.0_231/bin/java
[dminstalluer@localhost ~]$java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
[dminstalluer@localhost ~]$
再次进行与检查:
[dminstalluer@localhost ~]$ su root
Password:root123
[root@localhost dminstalluer]#python preinstall_dm.py
config file | OK | JDK path not updated. Only JAVA compatibility check will be performed.
config file | OK | Peer IP not updated. Pre-install will be executed in standalone mode.
Enter Password for the DM Server user:Passw0rd@1234
Retype password:Passw0rd@1234
Group Check | OK | Group already exists
User Check | OK | User already exists
User-Group Check | OK |
Cron Access Check | OK | All users have cron access.
Java Compatibility Check | OK |
DM Preinstall Check | COMPLETE |
[root@localhost dminstalluer]# pwd
/home/dminstalluer
[root@localhost dminstalluer]#
Java问题解决;
3.3安装DMServer
•执行以下命令安装DMServer:
python install.py install
[dminstalluer@localhost ~]$python install.py install
[DMIE-1033] Insufficient Available Memory (Required: 25GB, Available: 1GB).
[DMIE-1113] DM Install Pre-check failed.
[dminstalluer@localhost ~]$
如果要在系统资源较少的计算机上安装DMServer用于调试或演示,执行以下命令跳过磁盘和内存检查:
python install.py install --config install-default.conf --skip-disk-check --skip-memory-check
[dminstalluer@localhost ~]$python install.py install --config install-default.conf --skip-disk-check --skip-memory-check
•输入主数据库和指标数据库的密码,并再次输入密码。
Enter password for Primary & Metric Database:
Retype password:Passw0rd@1234
Note:Remember the Primary & Metric Database password, it helps to
1. Resetting Admin Password.
2. Unlocking Admin User.
【说明】
用户需记住主数据库和指标数据库的密码,以便后续进行以下操作:
%2.重置Admin密码。
%2.解锁Admin用户。
•如果选择输入Yes,则继续输入Database Manager管理员账户admin的密码,并确认该密码。
安装成功后,系统显示信息如下:
Do you want create Database Manager Admin password (Yes/No)?y
Enter Database Manager Admin password:Passw0rd@1234
Retype password:Passw0rd@1234
【注意:】默认密码为Admin@2019,此处没有采用默认密码。用户名为:admin
[26/26] Pre Check for installation - COMPLETED
[26/26] Preparing installation - COMPLETED
[26/26] Deploying - COMPLETED
[26/26] Configuring - COMPLETED
[26/26] Starting - COMPLETED
[26/26] Verify Start - COMPLETED
[26/26] Cleaning up temporary files - COMPLETED
Registering services...
. . . . . . . . . . . . . . . . . . . .
Some Service Registrations are pending, check the status after few minutes.
If status is still unsuccessful, refer to troubleshooting.
Database Manager has been installed successfully.
Access the below URL to start...
https://192.168.100.10:7070/APW
[dminstalluer@localhost ~]$
登录密码:admin/Passw0rd@1234
•如果选择输入No,则系统将使用admin的默认密码,并在安装后更改默认密码。
【说明】:
如果管理员密码包含特殊字符,需要给该字符前添加一个反斜杠()。否则,系统将显示“-bash:< given password>: 事件 not found”错误消息。
错误输入:Admin!123
错误消息:-bash:Admin!123: 事件 not found
正确输入:Admin@123
3.4安装验证
请根据部署场景选择具体操作步骤:
单机模式
1.打开$HOME文件夹。
cd home/dminstalluer/dmserver/bin
2.执行以下命令检查DMServer状态:
python dmserver.py status
[dminstalluer@localhost ~]$cd home/dminstalluer/dmserver/bin
[dminstalluer@localhost bin]$python dmserver.py status
-----------------------------------------------------------------
Component | Status | Eureka Status
-----------------------------------------------------------------
Primary Info Store | UP | Not Applicable
Metric Info Store | UP | Not Applicable
WebUI | UP | Not Applicable
APS_InfraProcessing | UP | REGISTERED
APS_InfraHAService | UP | REGISTERED
APS_AutoPilotAudit | UP | REGISTERED
APS_InfraEureka | UP | REGISTERED
APS_InfraProxy | UP | REGISTERED
APS_AutoPilotUser | UP | REGISTERED
APS_AutoPilotConfig | UP | REGISTERED
APS_Monitoring | UP | REGISTERED
APS_InfraCollection | UP | REGISTERED
APS_InfraZuul | UP | REGISTERED
APS_AutoPilotPlatformMgmt | UP | REGISTERED
-----------------------------------------------------------------
命令回显包括Web、Info Store和DMServices的状态。
【补充说明】此处不需要做,仅供参考
执行以下命令启动微服务:
source~/.dmbashrc
cd $DM_HOME/services/APS_InfraHAService
shAPS_InfraHAServicestart
具体如下:
source~/.dmbashrc
cd $DM_HOME/services/APS_InfraHAService
[dminstalluer@localhost APS_InfraHAService]$pwd
/home/dminstalluer/dmserver/services/APS_InfraHAService
[dminstalluer@localhost APS_InfraHAService]$sh APS_InfraHAService start
APS_InfraHAService [alreadyRunning]
3.执行以下命令停止微服务:
shAPS_InfraHAServicestop
4.执行以下命令检查微服务状态:
shAPS_InfraHAServicestatus
APS_InfraHAService [alreadyRunning]
3.5启动Database Manager
Database Manager是一个Web应用程序,允许用户登录、管理并监控数据库集群。
操作步骤
启动DMWeb应用程序并登录,Web组件为Database Manager提供用户界面。为了保证安全,首次登录时需要更改密码。
1.打开浏览器,输入Web的URL。
https://<Web-ip>:<Web-port>/APW
显示Database Manager登录界面,即安装成功。
用户名/密码:
admin/Passw0rd@1234
图示应该是admin,不是Admin。
请使用Database Manager的管理员用户admin登录,密码为安装阶段输入的密码:Passw0rd@1234。注意:默认密码为Admin@2019
登录成功后,将显示Database Manager主页。
【问题】此处我遇到该问题:如果安装DMServer期间输入的keystore密码不正确,登录页面可能会显示“服务不可用”。
【解决】
首先卸载DMServer,然后使用正确的密码以及最新的DMServer软件包重新安装。
【补充说明】:
oDatabase Manager仅支持内网接入。为了保证安全,建议在浏览器弹窗提示是否保存密码的时候选择拒绝。
o用户可设置系统弹出验证码前允许连续登录失败(若用户名/密码输入错误)的次数。若需更改次数,配置application.properties of APS_AutoPilotUser 服务中的captchaAttempts参数值即可。
o若captchaAttempts的值被改变,则需重启AutoPilotUser服务。
•默认值:3,若系统未显示该配置参数,默认允许登录失败3次。
•最小值:1
•最大值:4
•若设置的值小于等于1,则参数值以1为准。
•若设置的值大于4,则参数值以4为准。
【遇到问题】admin被锁住
解锁admin账户
本节介绍如何解锁admin账户。
1.以dminstalluser用户执行以下命令连接到Info Store:
gsql -d primdb -p 22202 -U apprim
说明:
端口号默认为22202,若有更改,可在DM安装包存储目录中查看安装配置文件,命令:cat install-default.conf
2.执行如下命令解锁admin账户。
UPDATE USER_MANAGEMENT.GA_PL_AU_USER SET LOCKED_DATE='', LOCK_STATUS=0, LOGIN_ATTEMPT=0, LOCKED_REASON='' WHERE USERNAME='admin';
【admin密码不对】
重置admin账户密码
本节介绍如何重置Admin账户密码。
1.执行以下命令生成一个新的加密密码:
python dmserver.py encryptpasswd --irevers-algo=PBKDF2
cd/home/dminstalluer/dmserver/bin
[dminstalluer@localhost bin]$python dmserver.py encryptpasswd --irevers-algo=PBKDF2
Enter the password to encrypt:Passw0rd@1234
Retype password:Passw0rd@1234
{u'IV': u'3d1d7dad55b4be8d', u'ENCPWD': u'SIyBZdFvBvQrYHJ59Nvb0niKcly80ocjZo6VIjlaDhE='}
生成加密密码和加盐密码。
2.以dminstalluer用户执行以下命令连接到Info Store:
gsql -d primdb -p 22202 -U apprim
说明:
端口号默认为22202,若有更改,可在DM安装包存储目录中查看安装配置文件,命令:cat install-default.conf
3.执行以下命令将密码重置为步骤1生成的密码:
UPDATE USER_MANAGEMENT.GA_PL_AU_USER SET PASSWORD = '<Encrypted Password from output of Step 1>', IV = '<Encrypted Password Salt from output of Step 1>' WHERE USERNAME = 'admin';
UPDATE USER_MANAGEMENT.GA_PL_AU_USER SET PASSWORD = 'Passw0rd@1234', IV = 'Passw0rd@1234' WHERE USERNAME = 'admin';
[dminstalluer@localhost bin]$./gsql -d primdb -p 22202 -U apprim
Password for user apprim:
gsql (9.2.4)
Type "help" for help.
PRIMDB=#UPDATE USER_MANAGEMENT.GA_PL_AU_USER SET PASSWORD = 'Passw0rd@1234', IV = ' Passw0rd@1234' WHERE USERNAME = 'admin';
UPDATE 1
PRIMDB=#
【说明】
我登录不进去UI,修改admin的密码,没有生效,还是登不上去;
【解决】卸载重新安装dm就可以了。
原来密码Passw0rd@1234
新密码:Admin@2020,用户名:admin
【注意】
新密码必须和旧密码至少有两个处不同,才满足要求
3.6卸载Database Manager
[dminstalluer@localhost services]$ cd /home/dminstalluer/dmserver
[dminstalluer@localhost dmserver]$ ls
bin clusterlogs log primdb software
cert installed_summary.json metricdb1 services web
[dminstalluer@localhost dmserver]$ cd bin
[dminstalluer@localhost bin]$ ls
backupRestore.sh dmserver_ha.py logs
conn_test_w_pass.sh dmserver.py remote_install_agent.py
conn_test_w_trust.sh dmuninstall.log script
default_service_list.cfg generate_remote_keys.sh trust_ltop.sh
[dminstalluer@localhost bin]$ python dmserver.py uninstall
Do you want to Un-Install (Yes/No)? yes
Default uninstallation log path:/home/dminstalluer/dmuninstall.log
[26/26] Pre Check for Uninstall - COMPLETED
[26/26] Stopping - COMPLETED
[26/26] Verify stop - COMPLETED
[26/26] Uninstalling - COMPLETED
[26/26] Cleaning up residual files - COMPLETED
Database Manager has been uninstalled successfully.
[dminstalluer@localhost bin]$
转自墨天轮
- 点赞
- 收藏
- 关注作者
评论(0)