暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

MogDB学习笔记-PTK方式主从搭建

1049

写在前面

本来已经开始慢慢进入MogDB的世界,突然出现一个小插曲,由于我上一个主从环境是按照手动安装模式安装的,我在后续学习过程中发现很多命令都是通过gs_om。手动安装没有这个可执行程序,就从别的包里找了一个,发现不可用,咨询官方大大说手动安装命令不支持gs_om,建议使用PKT的方式安装主从,好吧,撸起袖子重新干,重新安装虚拟机,MogDB踩的第一坑。

建议把gs_om从安装包中独立出来,可以独立部署使用,毕竟是一个出现频率比较高的管理工具,毕竟官网有这么一句话(在某些安装程序尚未支持的操作系统上,安装程序(比如OM)会报操作系统不支持的错误,此时可以通过手动方式安装MogDB)。

环境规划

NODE1(主库)

NODE2(从库)

Hostname

pkt_mogdb1

pkt_mogdb2

IP

10.80.9.249

10.80.9.250

磁盘

20G

20G

内存

2G

2G

安装Centos7

详见我的第一篇笔记https://www.modb.pro/db/452286,此处略

配置环境

此步骤需要在node1、node2都需要执行

  1. 配置hostname

Node1

hostnamectl set-hostname pkt_mogdb1

Node2

hostnamectl set-hostname pkt_mogdb2

  1. 配置IP地址

Node1

nmcli connection modify enp0s3 ipv4.addresses 10.80.9.249/24 ipv4.gateway 10.80.0.1 ipv4.method manual autoconnect yes

Node2

nmcli connection modify enp0s3 ipv4.addresses 10.80.9.250/24 ipv4.gateway 10.80.0.1 ipv4.method manual autoconnect yes

三、配置yum源 node1、node2都要执行

挂载磁盘镜像

[root@mogdb ~]# mount /dev/cdrom /mnt

编辑yum文件

[root@mogdb ~]# cd /etc/yum.repos.d/

[root@mogdb ~]# cp CentOS-Base.repo local.repo

[root@mogdb ~]# vi local.repo

[local]

name=local

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

baseurl=file:///mnt

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[root@mogdb ~]# yum repolist all

  1. 安装依赖包

由于安装操作系统的时候使用了极简安装,因此很多管理包也不存在,导致很多管理命令无法执行,先安装以下三个yum组

yum group install "System Administration Tools" \

--setopt=group_package_types=mandatory,default,optional

yum group install "System Management" \

--setopt=group_package_types=mandatory,default,optional

yum group install "Basic Web Server"

安装MogDB的依赖包

yum install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel expect openSSH

四、关闭防火墙

[root@mogdb ~]# systemctl status firewalld.service

[root@mogdb ~]# systemctl stop firewalld.service

[root@mogdb ~]# systemctl status firewalld.service

[root@mogdb ~]# systemctl disable firewalld.service

五、关闭seLinux

[root@mogdb ~]# vi /etc/selinux/config

修改“SELINUX”的值“disabled”

需要重启生效,也可以临时生效

[root@mogdb ~]# setenforce 0

六、设置网卡MTU值

[root@mogdb ~]# ifconfig enp0s3 mtu 8192

七、其他环境配置请参考官方文档

https://docs.mogdb.io/zh/mogdb/v3.0/os-configuration

其他的我暂时没有设置,先安装试一下

八、上传软件包并解压

[root@mogdb1 software]# mkdir -p /opt/mogdb/data

[root@mogdb1 software]# mkdir -p /opt/mogdb/software

[root@mogdb1 software]# pwd

/opt/mogdb/software

[root@mogdb1 software]# ll

-rw-r--r--. 1 root root 139152523 Aug 8 17:27 MogDB-3.0.0-CentOS-x86_64.tar.gz

-rw-r--r--. 1 root root 4974994 Aug 8 17:27 ptk_linux_x86_64.tar.gz

  1. 解压ptk

[root@localhost software]# tar -zxvf ptk_linux_x86_64.tar.gz

安装

  1. 编辑安装概要文件

[root@localhost software]# cat config.yaml

global:

cluster_name: mogdb_cluster1

user: omm

group: omm

#MogDB会默认在base_dir指定的路径下面再创建一个data文件夹

base_dir: /opt/mogdb/data

db_servers:

- host: 10.80.9.249

db_port: 26000

role: primary

ssh_option:

port: 22

user: root

password: password

- host: 10.80.9.250

db_port: 26000

role: standby

ssh_option:

port: 22

user: root

password: password

注意:配置文件中的密码不允许是明文,需要使用ptk工具转换成密文代替,生成密文的命令如下:

[root@localhost software]# ./ptk encrypt password

password: pTk6NGM1YjMzZjE8RDxEPUM/QmU5NXp4R3Uxd3NMbXpQU3VoanZ5WEZCUXV0UEJLZU5Rc0RlemloLUJCSG8=

把打印出的password替换到文件中

[root@localhost software]# cat config.yaml

global:

cluster_name: mogdb_cluster1

user: omm

group: omm

base_dir: /opt/mogdb/data

db_servers:

- host: 10.80.9.249

db_port: 26000

role: primary

ssh_option:

port: 22

user: root

password: pTk6NGM1YjMzZjE8RDxEPUM/QmU5NXp4R3Uxd3NMbXpQU3VoanZ5WEZCUXV0UEJLZU5Rc0RlemloLUJCSG8=

- host: 10.80.9.250

db_port: 26000

role: standby

ssh_option:

port: 22

user: root

password: pTk6NGM1YjMzZjE8RDxEPUM/QmU5NXp4R3Uxd3NMbXpQU3VoanZ5WEZCUXV0UEJLZU5Rc0RlemloLUJCSG8=

  1. 检查操作系统

此步骤会报错,主要关注lever级别是Abnormal。检查会生成一个修复脚本,执行脚本就可以了

按照提示执行root_fix_os.....sh,以下是脚本内容

#!/usr/bin/env bash

local_ips=$(ip addr | grep 'inet' | grep -v 'inet6\|127.0.0.1' | grep -v grep | awk -F '/' '{print $1}' | awk '{print $2}')

# fix suggestions for host: 10.80.9.249

for ip in ${local_ips}; do

if [[ "${ip}" == "10.80.9.249" ]]; then

# item Check_THP_Service

[ -f /sys/kernel/mm/transparent_hugepage/enabled ] && echo 'never' | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

# item Check_Dependent_Package

yum install -y numactl

exit 0

fi

done

需要把脚本复制到从库环境执行,注意要修改IP地址

再次检查

还有一个中断项

A16.Check_CPU_Instruction_Set | Abnormal

然后仍然提供了一个脚本

执行ptk checkos -i A16 --detail查看检查详细信息

我的虚拟机不支持

bmi2指令集(CentOS)

执行lscpu | grep bmi2命令查看是否支持bmi2指令集

我搭建主从就是因为这个检查项没有通过,所以决定使用手动安装,但是发现用不了gs_om,呜呼哀哉。

  1. 安装Mogdb

因为cpu指令检查不通过,跳过系统检查

[root@mogdb soft]# ptk install -f config.yaml --pkg ./MogDB-3.0.0-CentOS-x86_64.tar.gz --skip-check-os

安装会让你再次确认概要文件有没有问题,如果没有问题输入Y继续

接下来输入db密码

我输入的是P@ssw0rd,怕忘了记录一下

输出以下界面表示安装成功

  1. 主备库分别连接数据库

连接成功

  1. 检查主备库信息

  1. 试一下让我重新安装的gs_om命令

[omm@pkt_mogdb1 data]$ gs_om --help

报错提示/usr/bin/env: python3: No such file or directory。看来需要安装python3的包

yum install python3

查看MogDB运行信息,看一查看那个节点运行的是主节点,那个节点是从节点,这次安装期待的就是这一点了,拨开云雾见青天。

gs_om -t status --detail

最后

大功告成,继续学习吧。从重新安装到记录笔记也用了一下午的时间。

最后修改时间:2022-08-16 14:10:29
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论