【本文正在参与炫“库”行动—人大金仓有奖征文】
人大金仓有奖征文 (csdn.net)icon-default.png?t=L892https://bss.csdn.net/m/topic/kingbase

        金仓分析型数据库系统KingbaseAnalyticsDB人大金仓推出的一款MPP数据库产品。定位于数据分析类应用市场,可以处理TB-PB级别的数据。适用于数据仓库、决策支持、高级分析等分析类应用场景,类似Vertica、Greenplum、GaussDB 200等产品。本文主要分享KingbaseAnalyticsDB的安装过程,欢迎交流。


 一、下载KingbaseAnalyticsDB安装包

       下载地址:人大金仓-KADB V3 R2 (kingbase.com.cn)https://www.kingbase.com.cn/download/c_id/442.html

        本人使用的环境是Centos7系统,所以下载的是x86-64+Linux版本(具体的版本要根据自己的安装环境下载),同时要下载授权license。

二、 检查环境

2.1、安装环境

IP系统
192.168.0.205CentOS 7.6
192.168.0.206CentOS 7.6
192.168.0.207CentOS 7.6

2.2、安装依赖

        KingbaseAnalyticsDB运行需要依赖一些系统库,可以通过下列命令安装所有依赖:

        yum -y install apr apr-util bzip2 curl krb5 libcurl libevent libxml2 libyaml zlib openldap openssh openssl openssl-libs perl readline rsync sed zip

2.3、系统配置

        修改所有机器的/etc/hosts文件,添加IP和主机名对应关系(根据实际情况修改):

cat >> /etc/hosts <<EOF
192.168.0.205 mpp205
192.168.0.206 mpp206
192.168.0.207 mpp207
EOF

        关闭防火墙:

systemctl status firewalld
systemctl stop firewalld 
systemctl disable firewalld

sed -i 's/^GSS/#&/g' /etc/ssh/sshd_config; service sshd reload;

        修改所有机器系统内核参数: 

sysctl -p - >> /etc/sysctl.conf <<EOF
kernel.sysrq=1
kernel.core_pattern=core
kernel.core_uses_pid=1
kernel.msgmnb=65536
kernel.msgmax=65536
kernel.msgmni=2048
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.shmall = 4294967296
kernel.sem=25600 3200000 10000 14200
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_max_syn_backlog=4096
net.ipv4.conf.all.arp_filter=1
net.ipv4.ip_local_port_range=1025 65535
net.core.netdev_max_backlog=10000
net.core.rmem_max=33554432
net.core.wmem_max=33554432
vm.overcommit_memory=2
vm.overcommit_ratio=95
EOF

        修改操作系统用户限制:

cat >>/etc/security/limits.d/20-nproc.conf <<EOF
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
EOF

        I/O调整:

    echo deadline > /sys/block/sda/queue/scheduler

        注意如果系统为CentOS 7.2,需要修改下面参数:

    echo "RemoveIPC=no" >> /etc/systemd/logind.conf

        设置所有参数后,重启服务器确认参数生效且设置正确。

三、安装KingbaseAnalyticsDB

3.1、创建安装用户

    useradd mppadmin -m -p $(openssl passwd -1 123456)

3.2、安装

        使用mppadmin用户上传安装包及授权license到/home/mppadmin目录,执行安装命令:

sh /home/mppadmin/KingbaseAnalyticsDB-V003R002C001B0110-CENTOS7-x86_64.run /home/mppadmin/mpp
cp /home/mppadmin/license.dat /home/mppadmin/mpp/bin

#设置mppadmin用户变量
cat >> ~/.bashrc <<EOF
source /home/mppadmin/mpp/mpp_path.sh
EOF
source ~/.bashrc

3.3、建立服务器间信任

        编辑hostfile配置文件:

cat >> /home/mppadmin/hostfile <<EOF
mpp205
mpp206
mpp207
EOF

        交换公钥:

#按照提示输入密码
gpssh-exkeys -f /home/mppadmin/hostfile

3.4、集群安装

        在所有服务器上安装集群软件:

    gpseginstall -f /home/mppadmin/hostfile -u mppadmin

3.5、创建数据目录

        创建数据目录,如果有单独磁盘,建议直接软链接到/home/mppadmin/dbdata目录。

gpssh -f /home/mppadmin/hostfile -e 'mkdir -p /home/mppadmin/dbdata'
gpssh -f /home/mppadmin/hostfile -e 'mkdir -p /home/mppadmin/dbdata/master'
gpssh -f /home/mppadmin/hostfile -e 'mkdir -p /home/mppadmin/dbdata/primary'
gpssh -f /home/mppadmin/hostfile -e 'mkdir -p /home/mppadmin/dbdata/mirror'

3.6、系统测试

        如果是正式环境,建议使用命令检测集群节点间网络和各节点I/O是否正常。假设数据所在目录为/home/mppadmin/dbdata。

#检查网络
gpcheckperf -f /home/mppadmin/hostfile -r N -D -d /home/mppadmin/dbdata
#检查磁盘,注意如果不带-S参数,默认生成服务器内存大小的数据
gpcheckperf -f /home/mppadmin/hostfile -d /home/mppadmin/dbdata -r d -D -v -S 10GB

四、初始化集群

        数据库初始化主要功能是创建实例,并生成相应master和segment的数据目录,确定某一个节点为master,其它节点为segment。用户可通过master节点访问数据库集群,segment节点不支持用户访问。

        创建初始换文件:

cat >> /home/mppadmin/initsystem_config <<EOF
ARRAY_NAME="mpp"
#segment节点数据目录前缀
SEG_PREFIX=mppseg
#segment节点端口,每多一个segment会自动增加1,默认为40000。需要注意端口冲突
PORT_BASE=40000
#指定每台服务器segment数目,推荐每个服务器四个segment
declare -a DATA_DIRECTORY=(/home/mppadmin/dbdata/primary /home/mppadmin/dbdata/primary /home/mppadmin/dbdata/primary /home/mppadmin/dbdata/primary)
#master主机地址
MASTER_HOSTNAME=mpp205
#master目录
MASTER_DIRECTORY=/home/mppadmin/dbdata/master
#master端口,默认为5432
MASTER_PORT=5432
TRUSTED_SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
#指定segment的主机名,写入hostfile文件
MACHINE_LIST_FILE=/home/mppadmin/hostfile
EOF

        初始化集群:

    gpinitsystem -c /home/mppadmin/initsystem_config -a

        在初始化完成后,将MASTER_DATA_DIRECTORY目录写入/home/mppadmin/.bashrc中 :

cat >> /home/mppadmin/.bashrc << EOF
export MASTER_DATA_DIRECTORY=/home/mppadmin/dbdata/master/mppseg-1
EOF
source /home/mppadmin/.bashrc

 五、配置集群

5.1、配置master副本

        由于KingbaseAnalyticsDB为单管理节点,所以在管理节点故障后,无法继续对外提供服务,最好创建一个管理节点副本。

    gpinitstandby -s mpp206

5.2、配置segment副本

        同master副本一样,segment也需要副本。

#输入副本mirror目录
gpaddmirrors -p 1000

5.3、配置集群参数

        安装完数据库集群之后,需要进行参数调整。由于涉及参数多,建议咨询原厂工程师。

5.4、配置访问权限

        在管理节点上配置pg_hba.conf文件,设置所有用户登录时都需要输入密码。

cat >> /home/mppadmin/dbdata/master/mppseg-1/pg_hba.conf <<EOF
host     all         all         0.0.0.0/0    md5
EOF

#重载配置文件
gpstop -u

5.5、登录集群

        在管理节点登录集群,创建用户登录所需的用户及库。

[mppadmin@mpp205 ~]$ psql postgres
psql (9.4.24)
Type "help" for help.

postgres=# create user test with superuser password '123456';
CREATE ROLE
postgres=# create database test;
CREATE DATABASE

六、启停集群

        启动集群。

    gpstart -a

       关闭集群。

    gpstop -aM fast 

 【本文正在参与炫“库”行动—人大金仓有奖征】

人大金仓有奖征文 (csdn.net)icon-default.png?t=L892https://bss.csdn.net/m/topic/kingbase

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐