前言 在初体验 Vertica 单机版之后,自然要体验一下集群版的,毕竟这才是使用最广泛的安装方式!
更多关于 Vertica 可以参考下方文章:
🏆 作者写的 《Vertica 技术文章合集》 ,欢迎阅读 👏🏻!
一、介绍 关于 Vertica 的安装过程和注意点,在上一篇单机版中已经详细介绍过了,重复的部分我就不再过多赘述。
由于社区版最多只支持 3 节点集群和 1TB 数据量,因此只能演示 3 节点集群安装啦!
废话不多说,直接开装!
二、Linux 安装与环境配置 1、环境信息 大家手动创建 3 台一模一样的 Centos7.9 主机即可,注意主机名和网络配置区分。
节点
主机版本
Vertica 版本
主机名
IP 地址
内存
SWAP
磁盘容量
1节点
centos7.9
11.0.1
vertica1
192.168.56.150
4G
2G
50G
2节点
centos7.9
11.0.1
vertica2
192.168.56.151
4G
2G
50G
3节点
centos7.9
11.0.1
vertica3
192.168.56.152
4G
2G
50G
📢 注意: Vertica 集群部分主次节点,每一个都可以作为主节点!
2、脚本介绍 👻 我作为一个懒人,就直接使用 vagrant 一键安装 3 台主机了 罒ω罒,需要源码的可以这里直接下载 :
🏅 后面我会出 Vertica 单节点和3节点集群的 Vagrant 一键安装脚本,到时候再公布完整脚本源码!
展示一下源码目录结构和 config/vagrant.yml:
1 2 tree -N cat config/vagrant.yml
再分享一下环境一键配置脚本 env.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 #!/bin/bash echo vertica | passwd --stdin rootsed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config systemctl mask firewalld.service systemctl disable firewalld.service systemctl stop firewalld.service echo "Firewalld " `systemctl status firewalld|grep Active`echo "1.Disable firewalld service completed." echo -e "\n" sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0 getenforce cat /etc/selinux/config|grep "SELINUX=disabled" echo "2.Disable SELINUX completed." echo -e "\n" df -Th /dev/ptsecho "3.Check pts completed." echo -e "\n" groupadd -g 1001 verticadba useradd -u 1001 -g verticadba dbadmin echo "dbadmin" | passwd dbadmin --stdinid dbadminecho "4.Create group and user completed." echo -e "\n" lsblk /sbin/blockdev --setra 8192 /dev/sda echo '/sbin/blockdev --setra 8192 /dev/sda' >> /etc/rc.localchmod +x /etc/rc.d/rc.localecho "5.Set Disk Readahead completed." echo -e "\n" yum install -y gdb mcelog sysstat openssh which dialog chrony expect rpm -q gdb mcelog sysstat openssh which dialog chrony expect echo "6.Configure YUM and Install Packages completed." echo -e "\n" cat /sys/kernel/mm/transparent_hugepage/enabledecho always > /sys/kernel/mm/transparent_hugepage/enabledcat <<EOF>>/etc/rc.local if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo always > /sys/kernel/mm/transparent_hugepage/enabled fi EOF chmod +x /etc/rc.d/rc.localecho "7.Enable transparent_hugepage completed." echo -e "\n" cat /sys/block/sda/queue/schedulerecho deadline > /sys/block/sda/queue/schedulerecho 'echo deadline > /sys/block/sda/queue/scheduler' >> /etc/rc.localchmod +x /etc/rc.d/rc.localecho "8.Set I/O Scheduler completed." echo -e "\n" yum update -y tzdata timedatectl set-timezone Asia/Shanghai echo "9.Set TZ completed." echo -e "\n" cat <<EOF>>/home/dbadmin/.bash_profile export TZ="Asia/Shanghai" export LANG=en_US.UTF-8 EOF echo "10.Set Profile completed." echo -e "\n" systemctl stop tuned.service systemctl disable tuned.service systemctl status tuned.service echo "11.Disable tuned completed." echo -e "\n" cat /proc/sys/vm/swappinessecho 0 > /proc/sys/vm/swappinessecho vm.swappiness=0 >>/etc/sysctl.confsysctl -p echo "12.Disable swappiness completed." echo -e "\n" cat /sys/kernel/mm/transparent_hugepage/defragecho never > /sys/kernel/mm/transparent_hugepage/defragcat <<EOF>>/etc/rc.local if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi EOF chmod +x /etc/rc.d/rc.localecho "13.Disable Defrag completed." echo -e "\n" cat <<EOF>>/etc/security/limits.conf dbadmin - nice 0 dbadmin - nofile 65536 dbadmin - as unlimited dbadmin - fsize unlimited dbadmin - nproc 30152 EOF echo "14.Set limits completed." echo -e "\n" cat <<EOF>>/etc/pam.d/su session required pam_limits.so EOF echo "15.Set pam.d completed." echo -e "\n" cat <<EOF>>/etc/sysctl.conf fs.file-max=65536 vm.min_free_kbytes=7980 kernel.pid_max=524288 vm.max_map_count=65536 EOF sysctl -p echo "16.Set sysctl completed." echo -e "\n" sed -i '/Banner/s/^/#/' /etc/ssh/sshd_config sed -i '/PermitRootLogin/s/^/#/' /etc/ssh/sshd_config echo -e "\n" >> /etc/ssh/sshd_configecho "Banner none " >> /etc/ssh/sshd_configecho "PermitRootLogin yes" >> /etc/ssh/sshd_configcat /etc/ssh/sshd_config |grep -v ^#|grep -E 'PermitRoot|Banner' echo "17.Configure SSH Service completed." echo -e "\n" systemctl status chronyd systemctl enable chronyd chronyc tracking echo "18.Enable chrony completed." echo -e "\n"
📢 注意: Vagrant 安装包含 3 台主机和环境的配置,环境配置的脚本都写在 env.sh 中了,这里篇幅过长不过多展示!
3、环境安装配置 开始安装:
短暂等待几分钟之后,3 台主机就创建好了,并且环境配置都已经配置好了!
使用下面命令连接到 3 个节点检查一下环境配置情况:
1 2 3 vagrant ssh node1 vagrant ssh node2 vagrant ssh node3
3 台主机的 root 用户密码均为 vertica,dbadmin用户的密码为 dbadmin。
环境检查脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 hostname systemctl status firewalld getenforce rpm -q gdb mcelog sysstat openssh which dialog chrony df -Th /dev/ptsid dbadmin/sbin/blockdev --getra /dev/sda systemctl status chronyd cat /sys/kernel/mm/transparent_hugepage/enabledcat /sys/block/sda/queue/schedulercat /home/dbadmin/.bash_profilesystemctl status tuned.service cat /proc/sys/vm/swappinesscat /sys/kernel/mm/transparent_hugepage/defragcat /etc/security/limits.confcat /etc/pam.d/susysctl -p
检查每一项都没问题之后就可以继续下一步了!
4、配置互信 分享一个一键配置互信的脚本:《Linux 多台主机配置 ssh 互信脚本》
上传互信脚本后,执行互信:
1 2 3 4 5 6 7 8 9 10 11 12 13 yum install -y expect cd /softchmod +x sshtrust.shcat <<EOF>sshhostList.cfg 192.168.56.150 192.168.56.151 192.168.56.152 EOF sh sshtrust.sh root vertica /soft/sshhostList.cfg
互信配置完毕!
三、安装 Vertica 集群 ‼️ 正式开始安装前,强烈建议重启三台主机!💥
1、rpm 安装 安装介质已经上传到节点一的 /soft 目录下,在节点一执行 rpm 安装:
1 2 cd /softrpm -ivh vertica-11.0.1-2.x86_64.RHEL6.rpm
📢 注意: 这里 rpm 只需要在节点一执行即可,执行脚本安装时会拷贝到其他节点!
2、脚本静默安装 使用 /opt/vertica/sbin/install_vertica 脚本来静默安装!
1、创建静默安装配置文件
1 /opt/vertica/sbin/install_vertica --record-config /tmp/vertica-inst.prp --hosts 192.168.56.150,192.168.56.151,192.168.56.152 --accept-eula --ssh-password vertica --dba-user-password dbadmin --rpm /soft/vertica-11.0.1-2.x86_64.RHEL6.rpm
2、查看配置文件
1 cat /tmp/vertica-inst.prp
确认信息没有错误后,开始安装!
3、开始静默安装
1 /opt/vertica/sbin/install_vertica --config-file /tmp/vertica-inst.prp
如图,先给其他节点安装 rpm 包:
继续等待几分钟时间,安装完成:
软件安装完成后,下面就可以开始创建数据库!
3、MC 创建集群 当然也可以使用 MC 创建集群,参考如下步骤!1、填写关键信息 集群名,密码:
2、获取私钥文件
需要私钥文件才能完成 MC 集群安装向导,由于已经互信过,直接获取私钥:
将私钥 id_rsa 拷贝至打开 MC 的主机上!
3、选择私钥,继续创建
4、选择 vertca rpm 包
四、MC 创建数据库 参考文章:《Vertica 安装配置 MC(管理控制台)》 安装 MC 控制台!
1、导入集群 由于已经创建集群,这边可以直接导入集群,如果没有没有创建集群,也可以使用 MC 创建集群!
1、输入节点1的 IP 地址 192.168.56.150
2、获取节点1的 API Key
1 cat /opt/vertica/config/apikeys.dat
3、填写 API Key
4、确认导入
5、查看集群状态
至此,集群已经成功导入!
2、创建数据库 选择创建数据库:
选择企业模式:
数据库名 Lucifer,密码为空:
确认信息没问题,开始创建:
等待创建结束即可,可能会报一个 license 相关的错误。
点击导入数据库 Lucifer,然后查看:
总体来说,创建过程没有 admintools 创建来的顺滑,也算是一个尝鲜吧!
写在最后 社区版 3 节点的集群,安装起来也不费劲,跟单机版其实差别不是很大,上手不难!至于关于如何管理集群和数据库,咱们后续文章再讲吧~