我是靠谱客的博主 淡定萝莉,最近开发中收集的这篇文章主要介绍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

最后

以上就是淡定萝莉为你收集整理的MatrixDB 4.x 手动安装部署文档软硬件信息集群规划安装前准备安装准备数据库安装初始化数据库的全部内容,希望文章能够帮你解决MatrixDB 4.x 手动安装部署文档软硬件信息集群规划安装前准备安装准备数据库安装初始化数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部