4.3 PTK方式安装

简介: 4.3 PTK方式安装

一、通过PTK安装数据库

本文介绍如何使用PTK安装 MogDB 数据库。

 

PTK (Provisioning Toolkit)是一款针对MogDB 数据库开发的软件安装和运维工具,旨在帮助用户更便捷地安装部署MogDB数据库。

 

可执行如下命令查看PTK支持安装MogDB的操作系统。

```s
[root@hostname ~]ptk candidate os
  software |               version                
-----------+--------------------------------------
  OS       | CentOS 7 (x86_64)                    
           | CentOS 8 (arm64)                     
           | CentOS 8 (x86_64)                    
           | EulerOS 2 (arm64)                    
           | EulerOS 2 (x86_64)                   
           | Kylin V10 (arm64)                    
           | Kylin V10 (x86_64)                   
           | NeoKylin V7 (x86_64)                 
           | Oracle Linux 7 (x86_64)              
           | Oracle Linux 8 (x86_64)              
           | Red Hat Enterprise Linux 7 (x86_64)  
           | Red Hat Enterprise Linux 8 (x86_64)  
           | Rocky Linux 7 (x86_64)               
           | Rocky Linux 8 (x86_64)               
           | SLES 12 (arm64)                      
           | UOS 20 (arm64)                       
           | UOS 20 (x86_64)                      
           | Ubuntu 18 (x86_64)                   
           | openEuler 20 (arm64)                 
           | openEuler 20 (x86_64)                
           | openEuler 22 (arm64)                 
           | openEuler 22 (x86_64)  
```

注意:PTK工具本身可以在多种操作系统中运行,支持LinuxmacOSWindows,但是由于 MogDB 目前仅支持在Linux 系统中运行,因此需确保要运行MogDB数据库的服务器为 Linux 操作系统。

 

1. 安装准备

有关环境要求和操作系统配置详情,请参见[环境要求](https://docs.mogdb.io/zh/mogdb/v3.0/environment-requirement)[操作系统配置](https://docs.mogdb.io/zh/mogdb/v3.0/os-configuration)

 

下载安装 PTK

有关PTK安装,请访问[安装PTK](https://docs.mogdb.io/zh/ptk/v0.4/install)

 

2. 通过PTK安装MogDB

准备拓扑配置文件

PTK安装需要用户提供配置文件config.yamlPTK支持单节点安装以及多节点安装。下面以单节点安装和一主一备节点安装为例。

 

单节点安装

```yaml
config.yaml
global:
   cluster_name: mogdb1
    user: omm
    group: omm
    base_dir: /opt/mogdb
db_servers:
    host: 127.0.0.1
      db_port: 26000
```

如果全部使用默认值,则PTK 执行以下操作:

 

在本机安装数据库;

运行数据库的操作系统用户为omm ,用户组名称也是omm,该用户没有默认密码;

数据库安装在 /opt/mogdb目录下,在该目录下会创建4个目录:app, data, log, tool,分别用于存储数据库软件、数据文件、数据库日志和数据库相关工具;

数据库监听端口为26000

主备节点安装

```yaml
config.yaml
global:
   cluster_name: mogdb_cluster1
    user: omm
    group: omm
    base_dir: /opt/mogdb
db_servers:
    host: 192.168.0.1
      db_port: 26000
      role: primary
     ssh_option:
        port: 22
        user: root
        password: [此处填写SSH登录密码]
    host: 192.168.0.2
      db_port: 26000
      role: standby
     ssh_option:
        port: 22
        user: root
       password: [此处填写SSH登录密码]
```

3. 检查本机系统

```s
ptk checkos -f config.yaml
```

确保输出的检查结果均为 OK 或者 Warning ,如果有 Abnormal ExecuteError出现,需用户根据日志提示先修正系统参数。

 

4. 执行安装

```s
ptk install -f config.yaml
```

默认会安装当前已经正式发布的 MogDB 最新版本,版本号可以在MogDB 官网下载页面查询。安装过程中会提示用户输入数据库初始用户的密码,请用户自行记录并安全保存。PTK 自动完成所有安装操作后,会启动数据库实例。

 

PTK 也支持自定义安装包,可以通过手工下载安装包,指定安装。例如执行以下命令,将使用当前目录下的该安装包进行数据库安装。

```s
ptk install -f config.yaml --pkg ./MogDB-3.0.1-openEuler-arm64.tar.gz
```

安装成功后,可以通过 ptk ls 来查看安装的实例信息。

```s
[root@hostname]ptk ls
  cluster_name |     instances      | user |    data_dir    | db_version   
---------------+--------------------+------+-----------------+--------------
  mogdb1       | 172.16.0.127:26000 | omm  | /opt/mogdb/data | MogDB-3.0.1  
```

5. 访问数据库

```s
su omm
gsql -d postgres -p 26000
```

6. 通过PTK卸载MogDB

```s
注意:数据库卸载后无法恢复,请谨慎操作。
```

执行如下命令卸载数据库:

```s
ptk uninstall (-f CONFIG.YAML|--name CLUSTER_NAME)
```

在卸载前,PTK 会交互式的询问用户,以确认要删除的数据库信息,确认是否要连带删除系统用户,以及确认是否要连带删除数据库数据。请在回答每一个问题时,确认你的回答,避免由于误操作导致不可恢复的数据丢失!

 

PTK 执行数据库卸载操作时,如果用户指定了删除数据目录,PTK仅会删除数据目录,不会删除数据目录所在的父目录,需用户手动清理父目录。

 

卸载成功后,将提示如下信息:

```s
[root@hostname]ptk uninstall -n mogdb1
=============================
global:
  cluster_name: mogdb1
  user: omm
  group: omm
  app_dir: /opt/mogdb/app
  data_dir: /opt/mogdb/data
  log_dir: /opt/mogdb/log
  tool_dir: /opt/mogdb/tool
  tmp_dir: /opt/mogdb/tmp
db_servers:
host: 172.16.0.127
  db_port: 26000
  role: primary
  az_name: AZ1
  az_priority: 1
=============================
Do you really want to uninstall this cluster? Please confirm carefully[Y|Yes](default=N) y
Do you want to delete db data '/opt/mogdb/data'?[Y|Yes](default=N) y
Do you want to delete user 'omm'?[Y|Yes](default=N) y
INFO[2022-07-08T10:27:42.820] check db dirs owner                           host=172.16.0.127
INFO[2022-07-08T10:27:42.828] clean crontab                                host=172.16.0.127
INFO[2022-07-08T10:27:42.894] kill omm's processes                         host=172.16.0.127
INFO[2022-07-08T10:27:42.970] remove files /opt/mogdb/app,/opt/mogdb/tool,/opt/mogdb/cm,/opt/mogdb/tmp,/opt/mogdb/data,/opt/mogdb/log  host=172.16.0.127
INFO[2022-07-08T10:27:43.073] delete os user omm                            host=172.16.0.127
INFO[2022-07-08T10:27:43.213] clearing /etc/cron.allow                     host=172.16.0.127
INFO[2022-07-08T10:27:43.217] clearing /etc/security/limits.conf           host=172.16.0.127
```

注意:使用配置文件来卸载的前提是配置文件还存在。使用集群名称来指定的前提是ptk ls 可以正常查询到该集群。

 

相关页面

有关PTK工具详细使用手册,请访问关于[PTK](https://docs.mogdb.io/zh/ptk/v0.4/overview)

目录
相关文章
|
数据可视化 Java Nacos
OpenFeign + Sentinel 实现微服务熔断限流实战
本文介绍如何在Spring Cloud微服务架构中,结合OpenFeign与阿里巴巴开源组件Sentinel,实现服务调用的熔断、降级与限流。通过实战步骤搭建user-service与order-service,集成Nacos注册中心与Sentinel Dashboard,演示服务异常熔断、QPS限流控制,并支持自定义限流响应。借助Fallback降级机制与可视化规则配置,提升系统稳定性与高可用性,助力构建健壮的分布式应用。
459 155
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
人工智能 搜索推荐 数据挖掘
企业内训|阅读行业产品运营实战训练营-某运营商数字娱乐公司
近日,TsingtaoAI公司为某运营商旗下数字娱乐公司组织的“阅读行业产品运营实战训练营”在杭州落下帷幕。此次训练营由TsingtaoAI资深互联网产品专家程靖主持。该公司的业务骨干——来自内容、市场、业务、产品与技术等跨部门核心岗位、拥有8-10年实战经验的中坚力量——全情投入,从数据驱动决策、跨部门协作、全链条产品规划到短剧改编宣发策略,多维度构建起一套真正匹配数字内容生态趋势的运营方法论。
291 10
|
Java Maven
zwdd-sdk-java
zwdd-sdk-java
1152 0
|
运维 数据可视化 数据挖掘
HDBSCAN,一个强大的 Python 层次聚类算法库!
HDBSCAN,一个强大的 Python 层次聚类算法库!
900 1
|
自然语言处理 搜索推荐 API
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
1157 0
|
关系型数据库 MySQL 数据库连接
Python+SQLite数据库实现服务端高并发写入
Python中使用SQLite内存模式实现高并发写入:创建内存数据库连接,建立表格,通过多线程并发写入数据。虽然能避免数据竞争,但由于SQLite内存模式采用锁机制,可能在高并发时引发性能瓶颈。若需更高性能,可选择MySQL或PostgreSQL。
702 0
|
算法 调度
FreeRTOS入门教程(互斥锁的概念和函数使用)
FreeRTOS入门教程(互斥锁的概念和函数使用)
967 0
|
监控 Linux
Linux 安装性能监控检测工具sysstat
Linux 安装性能监控检测工具sysstat
340 0
|
关系型数据库 数据安全/隐私保护 PostgreSQL
基于Docker快速搭建 PostgreSQL 高可用方案
基于Docker快速搭建 PostgreSQL 高可用方案