资讯专栏INFORMATION COLUMN

Polardb-o三节点安装部署规范

IT那活儿 / 2886人阅读
Polardb-o三节点安装部署规范

点击上方“IT那活儿”,关注后了解更多精彩内容!!!




安装前规划
1. 硬件需求
1.1 日志节点:

1.2 数据节点:

2. 软件需求

安装PolarDB-O数据库操作系统应具备基本的软件要求。



安装环境配置

1. 关闭透明大页

cp /etc/default/grub /etc/default/grub.bak.`date +%Y%m%d`
echo GRUB_CMDLINE_LINUX="transparent_hugepage=never" >> /etc/default/grub
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak.`date +%Y%m%d`
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot # 适合的时候重启,重启后⽤下⾯命令检查验证是否成功关闭透明⼤⻚
cat /sys/kernel/mm/transparent_hugepage/enabled

2. 修改内核参数

vi /etc/sysctl.conf增加以下内容
fs.aio-max-nr=1048576
fs.file-max=76724600
fs.nr_open=20480000
kernel.sem=4096 2147483647 2147483646 512000
kernel.shmall=107374182
kernel.shmmax=274877906944
kernel.shmmni=819200
net.core.netdev_max_backlog=10000
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.somaxconn=4096
net.core.wmem_default=262144
net.core.wmem_max=4194304
net.ipv4.ip_local_port_range=40000 65535
net.ipv4.tcp_fin_timeout=5
net.ipv4.tcp_keepalive_intvl=20
net.ipv4.tcp_keepalive_probes=3
net.ipv4.tcp_keepalive_time=60
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.tcp_max_tw_buckets=262144
net.ipv4.tcp_mem=8388608 12582912 16777216
net.ipv4.tcp_rmem=8192 87380 16777216
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_wmem=8192 65536 16777216
vm.dirty_background_bytes=409600000
vm.dirty_expire_centisecs=3000
vm.dirty_ratio=80
vm.dirty_writeback_centisecs=100
vm.mmap_min_addr=65536
vm.nr_hugepages=0
vm.nr_overcommit_hugepages=1000000
vm.overcommit_memory=0
vm.overcommit_ratio=90
vm.swappiness=0
vm.zone_reclaim_mode=0

sysctl -p使之生效

3. 关闭SELINUX服务

vi /etc/selinux/config
SELINUX=disabled
root执行setenforce 0

4. 修改用户资源限制

创建 /etc/security/limits.d/polardb_limits.conf 文件,新增如下内容:
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft memlock unlimited
* hard memlock unlimited
* soft core unlimited
* hard core unlimited

5. yum安装依赖包

挂载对应的yum源后,安装必要的依赖包。

yum install -y openssh-server openssh-clients firewalld vim 
python sudo dnf-data dnf-plugins-core dnf-automatic  libdnf
python-devel.x86_64

6. 主备数据节点和日志节点配置root免密

6.1 三台主机分别先生成密钥。
ssh-keygen -t dsa
ssh-keygen -t rsa
6.2 把2,3 主机生成的文件传到1主机。
scp 192.168.0.2:/root/.ssh/id_dsa.pub /root/.ssh/id_dsa.pub.2
scp 192.168.0.3:/root/.ssh/id_dsa.pub /root/.ssh/id_dsa.pub.3
scp 192.168.0.2:/root/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub.2
scp 192.168.0.3:/root/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub.3
6.3 把三台主机的密钥追加到/root/.ssh/authorized_keys 文件中。
cat /root/.ssh/id_dsa.pub >>/root/.ssh/authorized_keys
cat /root/.ssh/id_dsa.pub.2>>/root/.ssh/authorized_keys
cat /root/.ssh/id_dsa.pub.3>>/root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub.2>>/root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub.3>>/root/.ssh/authorized_keys
scp 192.168.0.1:/root/.ssh/authorized_keys /root/.ssh/authorized_keys
6.4 修改权限。
chmod 600 /root/.ssh/authorized_keys
ssh 192.168.0.x date检测互通性



集群管理工具安装与配置

1. 集群管理工具安装

1.1 上传软件包,放到安装目录下。
/u01/softwarepdbcli-0.5.1-SNAPSHOT-asset-202111190226.tar.gz
pdbcli-0.5.1-SNAPSHOT-bin-202111190226.tar.gz
1.2 创建工作目录。
export version=0.5.1
mkdir -p pdbcli-${version}/
1.3 执行以下命令,解压安装文件。
tar -C pdbcli-${version}/ -xf pdbcli-0.5.1-SNAPSHOT-asset-202111190226.tar.gz
tar -C pdbcli-${version}/ -xf pdbcli-0.5.1-SNAPSHOT-bin-202111190226.tar.gz
1.4 执行以下 install.sh  命令进入工作目录并开始安装,该命令需要sudo权限。
cd pdbcli-${version}/ && ./scripts/install.sh
1.5 安装完成后,执行以下命令,确认安装的版本,版本无误即表明安装正确。
pdbcli version


2. 集群管理工具配置

配置安装所需要的排至文件config.yaml。
all:
## 填写所有主机的信息,包括主机名称、IP地址等。需确保各主机之间可以使⽤SSH通过root⽤⼾免密码登录。
hosts:
## 主机名称按照 hostNN 来命名,例如host01。
host01:
ansible_host: 10.XX.XX.1
host02:
ansible_host: 10.XX.XX.2
host03:
ansible_host: 10.XX.XX.3
vars:
## 如下为具体的集群配置。
## 设置PolarDB-O数据库引擎的安装根⽬录,默认为:/var/local/polardb
# polardb_data_root_dir: /var/local/polardb
## 设置PolarDB-O CM(Cluster Manager)的安装根⽬录,默认为:/var/local/polardb
# polardb_cm_root_dir: /var/local/polardb_cluster_manager
## 【必填】设置cluster_id,即集群ID。该设置会影响安装⽂件夹。
## 警告:在数据库集群创建后,请勿修改该ID。
cluster_id: mycluster
## 【必填】设置external_storage_path,即数据存储路径。
## 填写绝对路径,该⽬录必须不存在或者为空。数据库集群创建后,请勿修改该外部存储路径。external_storag
e_path: /mnt/polardb_cluster_mycluster
## 设置主库节点。如果未指定,则默认指定all.children.db[0]作为主库。
primary_db_host: host01
## 系统参数设置
## 开启或关闭firewalld防⽕墙服务,默认为false,即关闭状态。如果开启,则还需要⼿动打开服务对应端⼝。
firewalld_enabled: false
## 数据库参数设置
## 设置监听端⼝,默认值为1521。
# polardb_port: 1521
## 设置最⼤连接数,默认为2048。
# polardb_max_connections: 2048
## PolarDB replication账⼾设置
## 警告:数据库集群创建后,请勿修改该账⼾设置。
## 设置PolarDB replication⽤⼾名,默认为user_rep。
# polardb_rep_username: user_rep
## 设置PolarDB replication密码,默认为pgsql。
# polardb_rep_password: pgsq
## CM参数设置
## CM服务 HTTP 监听端⼝,默认为5000。
# cm_service_port: 5500
## CM服务 HTTPS 监听端⼝,默认为5001。
# cm_tls_service_port: 5501
## CM consensus服务监听端⼝,默认为5002。
# cm_consensus_port: 5502
## CM是否开启TLS,默认不开启,即false。当前版本暂不⽀持开启。
# cm_tls_enabled: false
## proxy参数设置
## PolarDB Proxy⼯作并发数,默认为2。
# polardb_proxy_concurrency: 2
## PolarDB Proxy服务端⼝,默认为12366。
# polardb_proxy_port: 12366
## PolarDB Proxy管理服务端⼝,默认为12367。
# polardb_proxy_admin_port: 12367
## RW_TYPE为1时有效。主节点是否参与读请求的负载均衡。默认为true。如果设置为false,则读请求不发往主库。
# polardb_proxy_master_accept_ready: true
## 是否开启事务拆分。默认为true。如果设置为false,事务所有请求路由到主库;如果设置为true,则事务中写之
前的读请求可以路由到只读库。写之后的读还是路由到主库。
# polardb_proxy_trx_split: true
## 是否开启会话⼀致性。默认为true。如果设置为false,不保证会话内读写⼀致性;如果设置为true,保证会话⼀
致性。效果为同⼀个连接内,读请求⼀定能读到这个连接之前写⼊的数据。
# polardb_proxy_casual_reads: true
## 是否开启读写分离。设置为false时,所有请求路由到主库
# polardb_proxy_rw_split: true
## agent参数设置
## Node Driver服务端⼝,默认为12355。
# ue_node_driver_service_port: 12355
## 为主机列表中的主机设置不同的⻆⾊。
children:
## db:数据库集群主机的分组
## cm:Cluster Manager集群管理主机的分组
## proxy:Proxy集群主机的分组
db hosts:
## db host可包含以下选项:
# 【必填】polardb_polar_hostid, 保证主机索引唯⼀
# external_storage_path:
# polardb_proxy_aux_db_readonly:enable readonly for aux db instance
# polardb_dma_node_type:logger or learner
host01:
polardb_polar_hostid: 1
host02:
polardb_polar_hostid: 2
# host03:
polardb_polar_hostid: 2
vars:
## polardb_custom_params为⽤⼾⾃定义参数。格式为: = 。等号前后必须各有⼀个空格。val
ue若为字符串类型,则必须使⽤单引号。
## 例如:polar_datadir = /1739656-1/data
## 如果⽆需配置⾃定义参数,可留空(polardb_custom_params: []),或者使⽤注释符号将其屏蔽。
# polardb_custom_params: []
# - archive_mode = off
# - archive_command =
## CM节点分组。将要安装CM服务的节点列在此处。当前仅⽀持配置为1个或3个节点作为CM节点。
cm:
## 若此处CM节点分组包含三个主机,则会配置为三节点⾼可⽤模式。
hosts:
host01:
host02:
host03:
var:
## proxy节点分组。将要安装proxy服务的节点列在此处。
proxy:
## proxy节点分组中,建议包含⾄少两个节点以保障⾼可⽤及负载均衡。如果不需要proxy组件,hosts设置为空即可。
hosts:
host01:
host02:
var:

3. 安装和部署PolarDB-O数据库集群

3.1 执行以下命令,通过pdbcli工具一键安装或卸载所有组件的软件。
pdbcli install/uninstall cluster --config=config.yaml
3.2 执行以下命令,通过pdbcli运维工具一键部署或删除数据库集群。
pdbcli create/delete cluster --config=config.yaml

4. 集群状态检查

4.1 执行以下命令,通过pdbcli工具检查集群状态。
pdbcli status --config=config.yaml
4.2 正常状态如下:

本 文 原 创 来 源:IT那活儿微信公众号(上海新炬王翦团队)


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129718.html

相关文章

  • 使用BenchmarkSQL对Polardb数据库进行TPCC测试

    使用BenchmarkSQL对Polardb数据库进行TPCC测试 img{ display:block; margin:0 auto !important; width:100%; } body{ width:...

    IT那活儿 评论0 收藏547
  • shipyard研发系列(1)-shipyard安装指南

    摘要:之安装指南一前言最近在研究的容器管理平台,在研究过程发现自己对基础理解还存在一定的欠缺,为了更好的理解,将我对项目的理解共享给爱好者,也系统的形成一份研发日志。启动界面容器详细情况镜像节点 Docker之shipyard安装指南 一、前言:最近在研究shipyard的docker容器管理平台,在研究过程发现自己对docker基础理解还存在一定的欠缺,为了更好的理解docker,将我对s...

    Kylin_Mountain 评论0 收藏0
  • 魅族大数据运维平台实践

    摘要:一大数据平台介绍大数据平台架构演变如图所示魅族大数据平台架构演变历程年底,我们开始实践大数据,并部署了测试集群。因此,大数据运维的目标是以解决运维复杂度的自动化为首要目标。大数据运维存在的问题大数据运维存在的问题包括部署及运维复杂。 一、大数据平台介绍 1.1大数据平台架构演变  showImg(https://segmentfault.com/img/bVWDPj?w=1024&h=...

    appetizerio 评论0 收藏0
  • 五阿哥钢铁电商平台Docker容器云平台建设实践——你想知道的都在这里!

    摘要:容器云架构方案。容器云架构方案基于容器技术,运维技术团队开发了五阿哥网站的容器云平台。多云对接私有云和公有云进行统一托管,包含网络区域配置,实例开通及的环境初始化配置等。技术选型及实践镜像标准众所周知,的镜像是分层的。 前言 五阿哥钢铁电商平台(www.wuage.com)是由钢铁行业第一的中国五矿与互联网第一的阿里巴巴联手打造,并充分运用双方股东优势资源,即:阿里巴巴在大数据、电商运...

    jeffrey_up 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<