m6米乐安卓版下载-米乐app官网下载
4

mogdb数据库更好用的安装部署及管理工具-m6米乐安卓版下载

多米爸比 2022-08-19
1014

本文将使用ptk工具演示如何快速安装部署一套mogdb集群、缩容删除一个节点及扩容增加一个节点。

一、ptk简介

ptk是针对mogdb数据库开发的软件安装和运维工具,旨在帮助用户更便捷地安装部署mogdb数据库。

ptk的唯一官方地址为:

熟悉opengauss的朋友应该知道gs_om工具,它依赖python3,安装配置有些复杂,主要分为root预安装和omm安装两个子操作。

root用户预安装使用gs_preinstall命令

gs_preinstall -u omm -g dbgrp -x clusterconfig.xml 

omm用户安装使用gs_preinstall命令

gs_install -x /opt/software/clusterconfig.xml \
--gsinit-parameter="--encoding=utf8" \
--gsinit-parameter="--dbcompatibility=pg" \
--gsinit-parameter="--pwpasswd=admin@1234"

初次接触使用om安装的人可能会遇到不少问题…

在此背景下,ptk应时而生,通过ptk --help命令可以看到它支持的主要功能:

第一部分是安装前的命令,包括打印支持的操作系统版本、在线下载合适的安装包、检查操作系统依赖包、加密配置文件项、显示参考的配置模板

pre install commands:
  candidate   print software version list which ptk supported
  download    download mogdb package online
  checkos     check cluster servers os dependencies
  encrypt     provides a convenient way to encrypt your text/password
  template    print template of configuration

第二部分是正式安装或者卸载命令

install commands:
  install     install the mogdb database cluster based on topology configuration
  uninstall   uninstall a mogdb database cluster

第三部分是安装后的集群列表查询及集群管理(服务启停、查看状态、安装插件、扩缩容)

post install commands:
  ls          list mogdb clusters
  cluster     operations for manage database cluster

二、ptk安装

ptk软件并不需要安装到数据库服务器本地,可以独立安装并管理多套集群。

ptk的安装可以参考

本文通过离线下载,解压安装到/opt/ptk

# /opt/ptk/ptk --version
ptk version: v0.3.2
go version: go1.17.1
build date: 2022-08-05t09:11:42z
git hash: a1358c6

本文环境使用两节点虚机192.168.137.131和192.168.137.132,1g内存 1cpu,ptk直接使用其中一台机器。

生产环境推荐采用独立的服务器安装ptk。

三、ptk安装卸载

ptk的使用需要root用户操作,需要做一些系统依赖及操作系统参数调优等工作。

由于之前安装过mogdb集群,可以通过ls命令查看

# /opt/ptk/ptk ls 
  cluster_name |      instances       | user |      data_dir      |          db_version          |     create_time      
--------------- ---------------------- ------ -------------------- ------------------------------ ----------------------
  mymogdb      | 192.168.137.131:3000 | omm  | /opt/mogdb301/data | mogdb 3.0.1 (build 1a363ea9) | 2022-08-16 15:57:17  
               | 192.168.137.132:3000 |      |                    |                              |                      

操作之前也应该优先使用ls命令进行检查

测试卸载

之前已安装过mogdb集群,先测试卸载

注意:卸载之前先需要关闭集群服务

# /opt/ptk/ptk uninstall -n mymogdb
=============================
global:
  cluster_name: mymogdb
  user: omm
  group: dbgrp
  app_dir: /opt/mogdb301/app
  data_dir: /opt/mogdb301/data
  log_dir: /opt/mogdb301/log
  tool_dir: /opt/mogdb301/tool
  tmp_dir: /opt/mogdb301/tmp
  cm_server_port: 15300
db_servers:
- host: 192.168.137.131
  db_port: 3000
  role: primary
  az_name: az1
  az_priority: 1
- host: 192.168.137.132
  db_port: 3000
  role: standby
  az_name: az1
  az_priority: 1
=============================
do you really want to uninstall this cluster? please confirm carefully[y|yes](default=n) 

根据操作交互提示进行操作,即可顺利完成卸载。

测试安装

安装一主一备

checkos
[root@mogdb1 ~]# /opt/ptk/ptk checkos
...                    
# check results
                item                |  level    
------------------------------------ -----------
  a1.check_os_version               | ok        
  a2.check_kernel_version           | ok        
  a3.check_unicode                  | ok        
  a4.check_timezone                 | ok        
  a5.check_swap_memory_configure    | warning   
  a6.check_sysctl_parameter         | ok        
  a7.check_filesystem_configure     | ok        
  a8.check_disk_configure           | ok        
  a9.check_blockdev_configure       | ok        
  a9.check_logical_block            | ok        
  a10.check_io_request              | warning   
  a10.check_asynchronous_io_request | ok        
  a10.check_io_configure            | ok        
  a11.check_network_configure       | ok        
  a12.check_time_consistency        | ok        
  a13.check_firewall_service        | ok        
  a14.check_thp_service             | ok        
  a15.check_dependent_package       | ok        
  a16.check_cpu_instruction_set     | abnormal  
  a17.check_port                    | ok        
total count 20, abnormal count 1, warning count 2
failed to check os, can’t perform installation unless fix all the abnormal items
you can use 'ptk checkos -i item --detail' to see detail message
please check root_fix_os.[timestamp].sh for commands to resolve.

生产环境需要根据fix脚本把warning和abnormal项修复成功之后,再进行安装。

本文虚拟机暂时不执行操作系统参数fix的脚本,重点关注a16项:

# /opt/ptk/ptk checkos -i a16 --detail
...
...                    
# check results
              item              |  level   |                               message                                 
-------------------------------- ---------- -----------------------------------------------------------------------
  a16.check_cpu_instruction_set | abnormal | [192.168.137.131] [ptk-508001] not found cpu instruction set: [bmi2]  
total count 1, abnormal count 1, warning count 0
failed to check os, can’t perform installation unless fix all the abnormal items
you can use 'ptk checkos -i item --detail' to see detail message
please check root_fix_os.[timestamp].sh for commands to resolve.

提示是缺bmi2指令集,bmi2是做位操作的cpu指令集,需要安装。

生产环境对checkos检查发现的问题应该逐个修复再进行安装,本文主要演示ptk功能,下面安装时通过参数临时忽略。

生成模板配置文件

如果已有模板配置文件,可以直接使用

 /opt/ptk/ptk template \
--base-dir=/opt/mogdb301 \
--cluster-name=mymogdb \
--user=omm \
--group=dbgrp \
--port=3000 \
−−cluster > config.yaml 

对config.yaml 可以进行敏感内容加密,比如数据库初始用户密码、ssh密码等。

# /opt/ptk/ptk encrypt admin
admin: ptk6y2q4mznmymq8rd1fptxaptgzsdbztgdry1vuvmvhd0s0luhrtznynw5qnfhkatfrndi4rnn5vw52ywm=

编辑好的配置文件config.yaml 如下:

global:
  cluster_name: "mymogdb"
  user: "omm"
  group: "dbgrp"
  user_password: "ptk6ndm4yjk3nja8rdxcpuq8rdvyd2vfvdffnzu3wetwukv2yu5yrhfsvlvczfbwlv8ybkzabfy3vjjutja="
  db_password: "ptk6mde1zmq3ztg8rdxcpum/rvnkuzqtne10s2h0ngz3exrpmxltwurdwgdvsutnedzvrznwrhk0m09luek="
  db_port: 3000
  cm_server_port: 15300
  base_dir: "/opt/mogdb301"
  app_dir: "/opt/mogdb301/app"
  log_dir: "/opt/mogdb301/log"
  data_dir: "/opt/mogdb301/data"
  tool_dir: "/opt/mogdb301/tool"
  cm_dir: "/opt/mogdb301/cm"
  # tmp_dir: "/tmp"
  # core_file_dir: ""
  ssh_option:
      port: 22
      user: root
      password: "ptk6zda2nmfmotq8rdxcpunbp19nsnvkvfv1efj6sg5woelmvc1us3pqbwndsgh1bfjznezqshlgqtrurws="
      conn_timeout: "5s"
      exec_timeout: "1m"
db_servers:
  - host: "192.168.137.131"
    db_port: 3000
    ha_port: 3001
    role: "primary"
    replication_type: 1
    gs_initdb_opts:
    - "--encoding=utf-8"
    - "--dbcompatibility=pg"
  - host: "192.168.137.132"
    db_port: 3000
    ha_port: 3001
    role: "standby"
    replication_type: 1
安装
/opt/ptk/ptk install --assumeyes \
--pkg /opt/software/mogdb-3.0.1-centos-x86_64.tar.gz \
--skip-check-distro --skip-check-os --skip-create-user \
--file=config.yaml

本文使用–skip-check-distro --skip-check-os参数做了临时跳过,生产环境应该逐个处理修复。
–skip-create-user跳过创建用户,因为做了手工创建。

安装过程简略如下:

...
info[2022-08-19t10:55:02.420] time elapsed: 1m45s                          
  cluste_name |      host       | user | port | stage  |    status     | message  
-------------- ----------------- ------ ------ -------- --------------- ----------
  mymogdb     | 192.168.137.131 | omm  | 3000 | launch | start_success | success  
              | 192.168.137.132 | omm  | 3000 | launch | start_success | success  
查看状态

安装完查看状态正常

# /opt/ptk/ptk cluster status -n mymogdb
[   cluster state   ]
database_version			: mogdb-mogdb
cluster_name				: mymogdb
cluster_state   			: normal
current_az      			: az_all
[  datanode state   ]
   id  |       ip        | port | user | instance | db_role | state   
------- ----------------- ------ ------ ---------- --------- ---------
  6001 | 192.168.137.131 | 3000 | omm  | dn_6001  | primary | normal  
  6002 | 192.168.137.132 | 3000 | omm  | dn_6002  | standby | normal  

四、ptk扩缩容

扩缩容使用scale-in、scale-out命令进行操作,操作前先使用cluster status查看确认集群,参考上一步。

测试缩容

对刚才安装的一主一备进行节点删除,删除备节点缩容后将变成单机。

使用scale-in指定要删除备机的ip进行缩容

# /opt/ptk/ptk cluster -n mymogdb scale-in -h 192.168.137.132 
...
would you want delete directory(appdir,datadir,tooldir,logdir)?[y|yes](default=n) y
would you want clear the env?[y|yes](default=n) y
would you want delete the user?[y|yes](default=n) n
...
scale success.

缩容完查看集群状态已经变为单机

# /opt/ptk/ptk cluster status -n mymogdb
[   cluster state   ]
database_version			: mogdb-mogdb
cluster_name				: mymogdb
cluster_state   			: normal
current_az      			: az_all
[  datanode state   ]
   id  |       ip        | port | user | instance | db_role | state   
------- ----------------- ------ ------ ---------- --------- ---------
  6001 | 192.168.137.131 | 3000 | omm  | dn_6001  | normal  | normal  

测试扩容

使用scale-out接着对单机扩容,增加一个备节点,扩容成一主一备。

scale-out需要接收一个新增节点配置的文件,使用–gen-template生产,然后修改为具体的配置

/opt/ptk/ptk cluster -n mymogdb scale-out --gen-template > add.yaml

修改完的add.yaml文件内容如下:

- host: 192.168.137.132
  db_port: 3000
  role: standby
  ssh_option:
    host: 192.168.137.132
    port: 22
    user: root
    password: "ptk6zda2nmfmotq8rdxcpunbp19nsnvkvfv1efj6sg5woelmvc1us3pqbwndsgh1bfjznezqshlgqtrurws="

使用scale-out命令进行缩容

# /opt/ptk/ptk cluster -n mymogdb --skip-check-os --skip-create-user scale-out -c add.yaml 
scale [stage=precheck]
...
scale success.

注意这里进行扩容时会联网去下载mogdb安装包,本文是在离线环境进行,可以在.ptk目录的cache子目录把安装包提前拷贝进去。

# ll /root/.ptk/cache/
total 136004
-rw-r--r-- 1 omm dbgrp 139264406 aug  6 11:30 mogdb-3.0.1-centos-x86_64.tar.gz

拷贝时需要覆盖,可能会存在一个零字节的文件,因为联网下载没有成功。

缩容完检查状态

# /opt/ptk/ptk cluster status -n mymogdb
[   cluster state   ]
database_version			: mogdb-mogdb
cluster_name				: mymogdb
cluster_state   			: normal
current_az      			: az_all
[  datanode state   ]
   id  |       ip        | port | user | instance | db_role | state   
------- ----------------- ------ ------ ---------- --------- ---------
  6001 | 192.168.137.131 | 3000 | omm  | dn_6001  | primary | normal  
  6002 | 192.168.137.132 | 3000 | omm  | dn_6002  | standby | normal  

总结

ptk进行安装、卸载、扩缩容非常便捷,期待下一版本支持数据库升级的功能。

「喜欢文章,快来给作者赞赏墨值吧」
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图