【本文正在参与炫“库”行动-人大金仓有奖征文】
链接:人大金仓有奖征文
- 背景
北京人大金仓信息技术股份有限公司(“以下简称人大金仓”)是一家励志成为世界卓越的数据库产品与服务提供商,并研发出了具有国际先进水平的大型通用数据库产品。数字化时代,人大金仓将继续立足自主研发创新,以人工智能、云计算、大数据、物联网等新兴技术需求为牵引,面向党政军及各级企业级市场,坚持“以客户为中心”企业宗旨,不断打造满足客户需求的新型数据管理和分析平台及行业解决方案,让数据创造价值,用技术驱动未来,助力我国信息化建设更好更快发展。
在使用关系型数据库之后,会造成数据历史,数据积累等情况,对于这种情况人大金仓进一步研发出了分析型数据库KADB,是一款数据仓库产品,可以把历史数据打包到数据仓库进行存储以及分析,和关系型数据库各司其职,有利于数据的快速分析以及整理存储。
玩好数据库,要先玩好数据库的安装部署,如果数据库没安装,那么一切都是空谈,那么如何正确规范的安装部署人大金仓分析型数据库KADB呢,在本文中将会给大家介绍。
- 前期准备
- 软硬件准备
操作系统不一样,安装部署的过程肯定也不一样,这里以统信部UOS系统为例;文件系统建议选择xfs文件系统;内存大于或者等于2G;注意磁盘的空间用例不要超过百分之七十,防止影响性能;工具建议使用人大金仓的配套工具。
- Linux准备
- 修改hosts文件(可通过主机名访问所有服务器)
cat >> /etc/hosts < IPADDRESS1 HOSTNAME1 …… IPADDRESSn HOSTNAMEn EOF 2. 修改主机名(可不修改) hostnamectl --static set-hostname HOSTNAME1 3. 创建KADB数据库的超级用户,如mppadmin,密码为123456,密码可自行调整 useradd mppadmin -m -p $(openssl passwd -1 123456) 4.关闭防火墙并移除 systemctl status firewalld systemctl stop firewalld systemctl disable firewalld 5.注释两个参数,ssh的时候不弹出交互,修改内核参数,可根据需要自行调整参数 sed -i 's/^GSS/#&/g' /etc/ssh/sshd_config; service sshd reload; sysctl -p - >> /etc/sysctl.conf < # KADB configurations 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 net.netfilter.nf_conntrack_max = 655360 EOF 注:若net.ipv4.tcp_tw_recycle和net.netfilter.nf_conntrack_max报错,查看系统是否加载了ip_conntrack模块(未报错则跳过此步骤): lsmod | grep conntrack #如果这是空的,用以下命令加载: modprobe ip_conntrack #再加载net.netfilter.nf_conntrack_max 参数 并把net.ipv4.tcp_tw_recycle参数加在sysctl.conf文件中 #将ip_conntrack模块儿加载添加到开机启动项中 cat >>/etc/rc.d/rc.local< modprobe ip_conntrack EOF 6.调整资源限制以及设置文件清理规则 cat >>/etc/security/limits.d/20-nproc.conf < #KADB configurations * soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072 EOF cat >> /usr/lib/tmpfiles.d/tmp.conf < r! /tmp/.s.POSTGRES.* r! /tmp/.*_master_ha.pid r! /tmp/.gpstop.*.lock EOF 7.修改RemoveIPC echo "RemoveIPC=no" >> /etc/systemd/logind.conf service systemd-logind restart 注:systemd-logind服务引入了一个新特性:在一个user完全退出OS后会remove掉所有的IPC对象。 该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。为避免影响使用shared memory segments和semaphores的所有应用,所以设置RemoveIPC=no。 8.修改磁盘列队方式以及文件预读大小(假设磁盘名为/dev/sda) /sbin/blockdev --getra /dev/sda; /sbin/blockdev --setra 16384 /dev/sda echo deadline > /sys/block/sda/queue/scheduler 注:提高I/O性能 上传介质及license文件到搭建集群的所有服务器/home/mppadmin目录下,目前版本号为110版本。 sh /home/mppadmin/KingbaseAnalyticsDB-V003R002C001B0110-Kylin4-aarch64.run /home/mppadmin/mpp 注:安装目录为mpp目录,安装路径要为全路径。 #若遇到依赖包不全,可运行 ./KADB.run --target ~/temp 提取安装包中的依赖库,将~/temp/oslib中缺失的依赖复制到mpp/lib下,再运行安装客户端即可 cp /home/mppadmin/license.dat /home/mppadmin/mpp/bin 注:license文件名字必须为license.dat,防止读取不到。 #mpp_path.sh里设置SSH_PORT端口号,如端口号为默认端口22则跳过此步骤 cat >>/home/mppadmin/mpp/mpp_path.sh < export SSH_PORT=22 EOF 为方便每次登陆后直接使用KADB命令,可使用如下命令: cat >> ~/.bashrc < source /home/mppadmin/mpp/mpp_path.sh EOF source ~/.bashrc #创建集群hostfile配置文件 cat >> /home/mppadmin/hostfile < node1 node2 EOF #交换公钥 gpssh-exkeys -f /home/mppadmin/hostfile 注:交换公钥之后,可不需要将全部文件上传到全部服务器 gpseginstall -f /home/mppadmin/hostfile -u mppadmin #创建数据目录/dbdata,备份目录/dbbackup gpssh -f /home/mppadmin/hostfile -e 'mkdir –p /home/mppadmin/dbdata' gpssh -f /home/mppadmin/hostfile -e 'mkdir –p /home/mppadmin/dbbackup' #创建次一级master实例目录和segment实例目录 gpssh -f /home/mppadmin/hostfile -e 'mkdir –p /home/mppadmin/dbdata/master' gpssh -f /home/mppadmin/hostfile -e 'mkdir –p /home/mppadmin/dbdata/primary' #创建初始化集群系统配置文件, cat >> /home/mppadmin/gpinitsystem_config < ARRAY_NAME="mpp" #segment节点名prefix SEG_PREFIX=mppseg #segment节点基础端口,每多一个segment会自动增加1,默认为40000 PORT_base=40000 #用于申明segment目录地址以及共多少个segment,其中每台主机有多少个segment就对应多少个文件夹,下面为两个文件夹,暨每台主机2个segment declare -a DATA_DIRECTORY=(/home/mppadmin/dbdata/primary /home/mppadmin/dbdata/primary) #master主机地址 MASTER_HOSTNAME=HOSTNAME1 #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 注:segment数量可根据需求以及软硬件条件自行修改。 #=================================== #初始化集群 gpinitsystem -c /home/mppadmin/gpinitsystem_config -a 注:只有一个报错可忽略,杀死进程不存在,其他报错务必先解决之后再进行下一步 #=================================== #在初始化完成后,请将MASTER_DATA_DIRECTORY目录写入.bashrc中并更改超级用户mppadmin的密码(默认没密码,可根据自行需要修改)。 cat >> ~/.bashrc << EOF export MASTER_DATA_DIRECTORY=/home/mppadmin/dbdata/master/mppseg-1 EOF source ~/.bashrc psql postgres alter user mppadmin with password '123456'; q #设置所有用户全需要密码登录 cat >> /home/mppadmin/dbdata/master/mppseg-1/pg_hba.conf < host all all 0.0.0.0/0 md5 EOF #重载配置文件,使之生效 gpstop –u 安装部署数据库是数据库发展的基础以及不可避免的先决条件,所以更要学好和掌握安装部署手册,规范化安装部署是避免犯错以及少走弯路的快捷路径,可以通过规范化更好的量产数据库人才,基础打好才能走的更稳。 人大金仓作为信创行业的领头羊,有着不可磨灭的突出与贡献,并且其作为数据库工作组的组长单位,起着很好的领导作用,身后更有着更加完善的行业技术标准,更加全面的解决方案来支撑人大金仓数据库的前行。人大金仓通过自主研发的关系型数据库和分析型数据库充分的证明了自己的实力以及我国国产数据库的实力,相信在不久的将来,我国终究全部替换成国产数据库,有着我国自主研发的开源数据库,真正的摆脱西方数据库的依赖。



