1、系统环境准备
本例系统OS版本采用CentOS Linux release 7.9.2009
1.1、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
1.2、关闭selinux
--永久关闭,需要重启操作系统
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
cat /etc/selinux/config|grep ^SELINUX=
--临时关闭
setenforce 0
1.3、设置字符集参数为Unicode编码
--修改字符集
cat>> /etc/profile<<EOF
export LANG=en_US.UTF-8
EOF
--检查
cat /etc/profile | grep LANG
1.4、设置时区和时间
ll /etc/localtime
--如果是不Asia/Shanghai,则执行
rm -fr /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
1.5、关闭swap交换内存(可选)
关闭swap交换内存是为了保障数据库的访问性能,避免把数据库的缓冲区内存淘汰到磁盘上。 如果服务器内存比较小,内存过载时,可打开swap交换内存保障正常运行。
如需永久关闭swap,则修改/etc/fstab文件
swapoff -a
1.6、关闭transparent_hugepage
关闭透明大页可以减少宿主机操作系统的开销,以便获得更稳定的性能。
--检测是否关闭
cat /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/default/grub
--在GRUB_CMDLINE_LINUX行末尾添加transparent_hugepage=never
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"
--重新生成grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
--重启服务器生效
1.7、安装软件包
| 软件类型 | 配置描述 |
|---|---|
| rdtscp指令集(x86) | 执行lscpu | grep rdtscp命令查看是否支持rdtscp指令集。 |
| bmi2指令集(CentOS) | 执行lscpu | grep bmi2命令查看是否支持bmi2指令集。 |
| 工具 | Huawei JDK 1.8.0、psmisc、bzip2 |
| Python | - openEuler:支持Python 3.7.X - CentOS:支持Python 3.6.X - 麒麟:支持Python 3.7.X 说明: python需要通过–enable-shared方式编译。 |
| 所需软件 | 建议版本 |
|---|---|
| libaio-devel | 建议版本:0.3.109-13 |
| flex | 要求版本:2.5.31 以上 |
| bison | 建议版本:2.7-4 |
| ncurses-devel | 建议版本:5.9-13.20130511 |
| glibc-devel | 建议版本:2.17-111 |
| patch | 建议版本:2.7.1-10 |
| redhat-lsb-core | 建议版本:4.1 |
| readline-devel | 建议版本:7.0-13 |
| libnsl(openEuler+x86环境中) | 建议版本:2.28-36 |
| openSSH | 建议版本 :8.4p1 |
| expect | 建议版本 :5.45.4 |
--检查软件依赖的包
rpm -qa libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel bzip2 python3 java-1.8.0-openjdk* openssh* psmisc expect
--执行全部安装
yum install -y lksctp*
yum install -y java-1.8.0-openjdk* psmisc bzip2 python3 python3-devel
yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel redhat-lsb-core openssh expect
2、安装过程
2.1、PTK在线安装
curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh
source ~/.bash_profile
ptk --version
2.2、PTK配置文件准备
ptk template locale>config.yaml
--PTK加密密码
ptk encrypt TEXT1
最终一主一备使用如下配置文件:
# config.yaml
global:
cluster_name: mogdb_cluster1
user: omm
group: omm
base_dir: /opt/mogdb
db_servers:
- host: 192.168.31.60
db_port: 26000
role: primary
ssh_option:
port: 22
user: root
password: pTk6ZGI5NzhmNDc8Qj1APUE9QkNtb3ZEOEU1WjNJUVFRSVRLVkREaERBcXlNa2JSNjJyRmlyanZzdDA4ZHc=
- host: 192.168.31.61
db_port: 26000
role: standby
ssh_option:
port: 22
user: root
password: pTk6ZGI5NzhmNDc8Qj1APUE9QkNtb3ZEOEU1WjNJUVFRSVRLVkREaERBcXlNa2JSNjJyRmlyanZzdDA4ZHc=
2.3、检查系统环境
ptk chekos -f config.yaml
--部分输出结果如下
# 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 | Warning
A7.Check_FileSystem_Configure | OK
A8.Check_Disk_Configure | OK
A9.Check_Logical_Block | OK
A9.Check_BlockDev_Configure | Warning
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_Status | OK
A14.Check_THP_Status | OK
A15.Check_Dependent_Package | OK
A16.Check_CPU_Instruction_Set | OK
A17.Check_Port | OK
A18.Check_Selinux | OK
A19.Check_User_Ulimit | OK
Total count 22, abnormal count 0, warning count 4
2.4、执行安装
ptk install -f config.yaml
--部分输出结果如下
cluste_name | host | user | port | status | message
-----------------+---------------+------+-------+---------------+----------
mogdb_cluster1 | 192.168.31.60 | omm | 26000 | start_success | success
| 192.168.31.61 | omm | 26000 | start_success | success
2.5、安装结果检查
[root@mogdb01 ~]# ptk ls
cluster_name | id | addr | user | data_dir | db_version | create_time | comment
-----------------+------+---------------------+------+-----------------+------------------------------+---------------------+----------
mogdb_cluster1 | 6001 | 192.168.31.60:26000 | omm | /opt/mogdb/data | MogDB 3.0.4 (build cc068866) | 2023-06-14T16:20:29 |
| 6002 | 192.168.31.61:26000 | omm | /opt/mogdb/data | | |
[root@mogdb01 ~]#
[root@mogdb01 ~]# ptk cluster status -n mogdb_cluster1 --detail
[ Cluster State ]
cluster_name : mogdb_cluster1
cluster_state : Normal
database_version : MogDB 3.0.4 (build cc068866)
[ Datanode State ]
cluster_name | id | ip | port | user | nodename | db_role | state | upstream
-----------------+------+---------------+-------+------+----------+---------+--------+-----------
mogdb_cluster1 | 6001 | 192.168.31.60 | 26000 | omm | dn_6001 | primary | Normal | -
| 6002 | 192.168.31.61 | 26000 | omm | dn_6002 | standby | Normal | -
[ DataNode Detail ]
--------------- 192.168.31.60:26000(dn_6001) ---------------
role : primary
data_dir : /opt/mogdb/data
az_name : AZ1
[Senders Info]:
sender_pid : 7004
local_role : Primary
peer_role : Standby
peer_state : Normal
state : Streaming
sender_sent_location : 0/402FE40
sender_write_location : 0/402FE40
sender_flush_location : 0/402FE40
sender_replay_location : 0/402FE40
receiver_received_location : 0/402FE40
receiver_write_location : 0/402FE40
receiver_flush_location : 0/402FE40
receiver_replay_location : 0/402FE40
sync_percent : 100%
sync_state : Sync
sync_priority : 1
sync_most_available : On
channel : 192.168.31.60:26001-->192.168.31.61:40776
--------------- 192.168.31.61:26000(dn_6002) ---------------
role : standby
data_dir : /opt/mogdb/data
az_name : AZ1
[Receiver Info]:
receiver_pid : 8266
local_role : Standby
peer_role : Primary
peer_state : Normal
state : Normal
sender_sent_location : 0/402FE40
sender_write_location : 0/402FE40
sender_flush_location : 0/402FE40
sender_replay_location : 0/402FE40
receiver_received_location : 0/402FE40
receiver_write_location : 0/402FE40
receiver_flush_location : 0/402FE40
receiver_replay_location : 0/402FE40
sync_percent,channel : 100%
[root@mogdb01 ~]#
订阅号:DongDB手记
墨天轮:https://www.modb.pro/u/231198

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




