GaussDB Database Manager 安装指南

举报
社会主义的一块砖 发表于 2020/02/12 16:26:50 2020/02/12
【摘要】 Database Manager是一款基于Web的数据库监控工具,提供丰富的界面展示,可有效监控多个集群数据库。通过管理员用户和普通用户区分查看和操作权限,对集群数据库进行安全的监控和运维操作。

简介

Database Manager是一款基于Web的数据库监控工具,提供丰富的界面展示,可有效监控多个集群数据库。通过管理员用户和普通用户区分查看和操作权限,对集群数据库进行安全的监控和运维操作。Database Manager提供的主要功能包括: 

导入并监控集群

集群、主机和实例运行监控

数据库运行监控

故障诊断分析和上报

告警分析和上报


1、安装环境准备

系统要求

硬件环境:

 CPU:4核

 内存:8G

本次测试使用vmwareworkstations 14

软件环境:

Os:redhat7.57.5-x86_64 (RedHat7.5)

 JDKjdk-8u231-linux-x64.tar.gz

DM:Database_Manager_RHEL.tar.gz

PythonPython 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版本:

pythonversion

[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版本:

javaversion

[root@localhost dminstalluer]#  javaversion

需要安装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登录工具登录待安装DMLinux机器;

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:dminstalluerR/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.打开浏览器,输入WebURL

https://<Web-ip>:<Web-port>/APW

显示Database Manager登录界面,即安装成功。

image.png


用户名/密码:

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被锁住

image.png

解锁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就可以了。

image.png


原来密码Passw0rd@1234

新密码:Admin@2020,用户名:admin

【注意】

新密码必须和旧密码至少有两个处不同,才满足要求


image.png


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]$




转自墨天轮

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。