MatrixDB 4.x 手动安装部署文档

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值