概述
MatrixDB 4可以安装在Redhat 7、CentOS 7、以及兼容CentOS的操作系统上。本文档描述了在多台CentOS 7服务器或者虚拟机上快速部署使用MatrixDB 4集群的步骤,以三个节点为例,主节点为mdw,两个数据节点分别为sdw1和sdw2。
软硬件信息
服务器数量:3台
CPU:2c #lscpu
内存:4GB #free -g
swap:12GB #free -g
操作系统:CentOS 7.8 #cat /etc/system-release
集群规划
192.168.247.128 mdw
192.168.247.129 sdw1
192.168.247.130 sdw2
安装前准备
修改主机名
确保所有节点上有持久不变的主机名,如果不存在,请用下述命令设置主机名,例如,在主节点可以这样设置:
hostnamectl set-hostname mdw
两个子节点也分别设置对应的主机名:
hostnamectl set-hostname sdw1
hostnamectl set-hostname sdw2
修改hosts文件
确保集群中所有节点都可以相互通过主机名、IP访问。在/etc/hosts添加记录,将主机名映射为一个本地网卡地址。例如,三个节点的/etc/hosts都包含类似这样的内容:
vim /etc/hosts #添加内容如下
192.168.247.128 mdw
192.168.247.129 sdw1
192.168.247.130 sdw2
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭SELinux
sed s/^SELINUX=.*$/SELINUX=disabled/ -i /etc/selinux/config
setenforce 0
内核参数配置
在所有节点上,通过root用户执行下列操作。
vim /etc/security/limits.d/99-matrixdb.conf
* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072
mxadmin soft core unlimited
vim /etc/sysctl.d/99-matrixdb.conf
kernel.shmall = 24565850
kernel.shmmax = 100621721600
kernel.shmmni = 4096
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
net.ipv4.ip_local_port_range = 10000 65535
kernel.sem = 500 2048000 200 4096
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
vm.dirty_background_ratio = 0
vm.dirty_ratio = 0
vm.dirty_background_bytes = 1610612736
vm.dirty_bytes = 4294967296
kernel.core_pattern = core
net.core.somaxconn=65535
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
内核参数立即生效
sysctl -p
安装准备
安装依赖
在所有节点上,通过root用户执行下列操作。
MatrixDB 4需要Python 3.6,请使用下列命令安装并将Python 3.6设为默认版本:
yum install centos-release-scl
yum install rh-python36
scl enable rh-python36 bash
安装parquet依赖
在所有节点上,通过root用户执行下列操作。
yum install -y epel-release || yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
yum install -y https://apache.jfrog.io/artifactory/arrow/centos/$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
yum install -y arrow-libs-3.0.0 parquet-libs-3.0.0
安装Python依赖包
在所有节点上,用root用户执行下述命令安装MatrixDB所依赖的python包,请注意,source greenplum_path.sh必须执行,以便可以安装正确版本的依赖包:
source /usr/local/matrixdb/greenplum_path.sh
yum install gcc python3-devel
pip3 install --upgrade setuptools
pip3 install argparse psutil pygresql pyyaml
数据库安装
在所有节点上,用root用户执行下述yum命令安装数据库RPM包,系统依赖库会一并自动安装。缺省会安装在/usr/local/matrixdb目录下:
yum install matrixdb-4.4.2.enterprise-1.el7.x86_64.rpm
注意:在实际安装过程中,请将文件名替换成最新下载的rpm包名
安装成功后,会自动启动supervisord、cylinder、mxui进程。这些后台进程用于提供图形化操作界面、管理和控制集群等。
创建用户
在所有节点上,用root用户执行
groupadd -g 531 mxadmin
useradd -u 3031 mxadmin -g mxadmin
echo 'matrixdb@2022'|passwd --stdin mxadmin
#授予sudo权限,这个权限可以不添加,这个文档为了方便用mxadmin用户进行sudo的一些操作,如果不添加sudo权限,下面用到sudo的动作需要使用root用户进行操作
echo 'mxadmin ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
配置ssh免密连接:
在所有节点上,通过mxadmin用户执行下列操作。
su - mxadmin
source /usr/local/matrixdb/greenplum_path.sh
mkdir -p /home/mxadmin/conf
vi /home/mxadmin/conf/all_hosts
mdw
sdw1
sdw2
vi /home/mxadmin/conf/seg_hosts
sdw1
sdw2
生成秘钥
ssh-keygen
推送公钥
ssh-copy-id -i mdw
ssh-copy-id -i sdw1
ssh-copy-id -i sdw2
快速推送公钥方法
for i in `cat /home/mxadmin/conf/all_hosts`; do ssh-copy-id -i ${i}; done
全部节点都配置完免密后检查免密是否配置成功
gpssh-exkeys -f /home/mxadmin/conf/all_hosts
配置环境变量
在mdw上进行环境变量配置
su - mxadmin
vi .matrixdb.env
##MatrixDB Administrator Environment
echo ""
echo "********** MatrixDB Administrator **********"
source /usr/local/matrixdb/greenplum_path.sh
export PGPORT=5432
export MASTER_DATA_DIRECTORY=/data/mxdata/master/mxseg-1 #master节点的数据目录
export PGPORT=5432
export PGUSER=mxadmin
export PGDATABASE=postgres
COLOR_RESET="e[0m"
COLOR_GREEN="e[32m"
COLOR_YELLOW="e[33m"
COLOR_RED="e[31m"
pg_isready > /dev/null 2>&1
if [ $? -eq 0 ]; then
DBUPTIME=$(psql -t --csv -d postgres -c "select justify_interval(now() - pg_postmaster_start_time())::interval(0);")
echo -e " The MatrixDB on ${PGPORT} is ${COLOR_GREEN}up for ${DBUPTIME}${COLOR_RESET}"
echo -e " Connect matrixdb with"
echo -e " ${COLOR_YELLOW}psql postgres${COLOR_RESET}"
else
echo -e " The MatrixDB on ${PGPORT} is ${COLOR_RED}not running${COLOR_RESET}"
echo -e " Start the database with"
echo -e " ${COLOR_YELLOW}gpstart -a${COLOR_RESET}"
fi
echo "********************************************"
echo ""
vi ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
if [ -f ~/.matrixdb.env ]; then
source ~/.matrixdb.env
fi
初始化数据库
在mdw上运行
su - mxadmin
source /usr/local/matrixdb/greenplum_path.sh
创建资源目录
gpssh -f /home/mxadmin/conf/all_hosts #统一处理所有节点
=> sudo mkdir -p /data/mxdata/master
=> sudo mkdir -p /data/mxdata/primary
=> sudo chown -R mxadmin.mxadmin -R /data/mxdata/
=> sudo chown -R mxadmin.mxadmin /usr/local/matrixdb/
=> exit
编辑初始化配置文件
cd /usr/local/matrixdb/docs/cli_help/gpconfigs
cp gpinitsystem_config initgp_config
vi initgp_config
ARRAY_NAME="MatrixDB Data Platform"
SEG_PREFIX=gpseg
PORT_BASE=6000
#DATA_DIRECTORY这里面有多少个路径就有多少个primary
declare -a DATA_DIRECTORY=(/data/mxdata/primary /data/mxdata/primary /data/mxdata/primary /data/mxdata/primary)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/data/mxdata/master
MASTER_PORT=5432
TRUSTED_SHELL=ssh
ENCODING=UNICODE
MACHINE_LIST_FILE=/home/mxadmin/gpconfigs/seg_hosts
执行初始化
gpinitsystem -c initgp_config
修改配置
为了方便远程登陆,需要修改如下配置
cd $MASTER_DATA_DIRECTORY
vim pg_hba.conf
host all all 0.0.0.0/0 md5
登陆
psql
--查看集群部署拓扑
select * from gp_segment_configuration order by 1 asc;
--查看数据库版本
select version();
备注:Matrixdb安装部署使用UI的方式部署请到Matrixdb官网查看详细步骤
https://www.ymatrix.cn/doc/4.4/install/mx4_cluster
最后
以上就是淡定萝莉为你收集整理的MatrixDB 4.x 手动安装部署文档软硬件信息集群规划安装前准备安装准备数据库安装初始化数据库的全部内容,希望文章能够帮你解决MatrixDB 4.x 手动安装部署文档软硬件信息集群规划安装前准备安装准备数据库安装初始化数据库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复