一、概览和检查清单
关键要点
- 每个集群只能有一个运行中的数据库
- 支持安装在1、2或更多节点上
- 一个机器上只能运行一个实例
- 在运行install_vertica脚本、添加、更新或删除节点时,必须使用root或具有sudo权限
安装场景
- 单节点
- 本地集群
- 云
- 虚拟机(本地/云)
安装准备
- 配置硬件、安装Linux
- 配置网络
安装或升级
- 备份
- 下载、安装Vertica RPM包
- 运行install_vertica脚本
- (可选)创建静默安装配置文件
安装后任务
- 安装许可
- 验证kernel、用户参数配置正确
- 在非集群主机上安装vsql客户端应用
- 扩展配置期间,解决SLES 11.3问题
- 熟悉Vertica文档
- 安装客户端驱动
- 使用Vertica软件包扩展安装
- 安装或升级MC (Management Console)
二、Linux用户和权限
可以选择让安装脚本创建如下用户和组:
dbadmin - 超管账号
verticadba - DBA用户组
- 安装前
- 集群节点的配置保持相似,包括硬件、操作系统等
- Vertica不能与其他软件共置。从群集主机中删除或禁用所有不必要的应用程序
- 安装时
- 配置dbadmin用户在集群间的免密认证。
- 将dbadmin的shell设置为bash
- 为如下目录设定读、写、可执行权限
/opt/vertica/*
/home/dbadmin (数据库data和catlog的默认目录,可以通过安装脚本配置)
- 安装后
- 启动Vertica不需要root或sudo权限
- dbadmin可以执行创建数据库、安装/更改许可、安装驱动等等任务
- 只有dbadmin用户可以运行Administration tools
三、准备工作
- 所需平台及建议
- RHEL 系列 6.x 、 7.x
- 必须使用bash
- 需要有sudo命令
- 安装硬件供应商提供的最新驱动
- 准备硬盘存储
- 对于设置K-safe=1的数据库,其主机硬盘使用率建议不能超过60%
- 建议将临时空间与数据空间区分 , 临时空间用于hash join、排序等等
- 配置网络
- 内部通信网络
- 外部访问网络
- 操作系统配置
- 安装perl 5
- 支持LVM
- TZ 环境变量
- 更新tzdata包 yum update -y tzdata
- 设置用户的(安装时可指定用户名,默认是dbadmin)默认时区 TZ='Asia/Shanghai'; export TZ (tzselect命令选择时区)
- LANG环境变量
- export LANG=en_US.UTF-8
- 包依赖
- yum install -y openssh which dialog
- 文件系统
- ext3/ext4
- NFS for backup
- Amazon S3 for Eon mode
- >= 2G swap
- 每个逻辑cpu至少对应1G内存
4k block
# blockdev --getbsz /dev/sda2- 安装程序自动设置一些参数
- Nice Limits / min_free_kbytes / User open file limit / System open File limit / pam Limits / Address Space limit / File size limit / User process limit / maximum Memory Maps
- 手动设置
- Disk Readhead 2048 < n < 8192
/sbin/blockdev --setra 2048 /dev/sda
echo '/sbin/blockdev --setra 2048 /dev/sda' >> /etc/rc.local
- Disk Readhead 2048 < n < 8192
- NTP services , 必须启用并运行(除RHEL 7系,RHEL7系列需要启用并运行chrony)
/sbin/service ntpd restart
/sbin/chkconfig ntpd on
systemctl enable chronyd (for RHEL 7)
- NTP services , 必须启用并运行(除RHEL 7系,RHEL7系列需要启用并运行chrony)
- 禁用SElinux
vim /etc/selinux/config - 建议禁用CPU Frequency Scaling
BIOS设置 how? - swappiness设置
echo 1 > /proc/sys/vm/swappiness - Transparent Hugepages , 对于 RHEL 7系和Amazon Linux 2.0 , 必须将此参数设为always , 其他系统必须被禁用或设置为madvise或disabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
- 禁用defrag
echo never > /sys/kernel/mm/transparent_hugepage/defrag
vim /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
- 禁用SElinux
- I/O scheduler 必须被设置为deadline或noop
echo deadline > /sys/block/sda/queue/scheduler
echo 'echo deadline > /sys/block/sda/queue/scheduler' >> /etc/rc.local
cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
{ [mq-deadline] kyber bfq none (redhat-8) }
- I/O scheduler 必须被设置为deadline或noop
- 禁用tuning系统服务
chkconfig tuned off - 其他支持工具
pstack / mcelog /sysstat (for RHEL 6 )
gdb / mcelog /sysstat (for RHEL 7 )
- 禁用tuning系统服务
所需端口
Port
Protocol
Service
Notes
22
TCP
sshd
Required by Administration Tools and the Management Console Cluster Installation wizard.
5433
TCP
Vertica
Vertica client (vsql, ODBC, JDBC, etc) port.
5434
TCP
Vertica
Intra- and inter-cluster communication. Vertica opens the Vertica client port +1 (5434 by default) for intra-cluster communication, such as during a plan. If the port +1 from the default client port is not available, then Vertica opens a random port for intra-cluster communication.
5433
UDP
Vertica
Vertica spread monitoring.
5444
TCP
Vertica Management Console
MC-to-node and node-to-node (agent) communications port. See Changing MC or Agent Ports.
5450
TCP
Vertica Management Console
Port used to connect to MC from a web browser and allows communication from nodes to the MC application/web server. See Connecting to Management Console.
4803
TCP
Client connections.
4803
UDP
Spread
Daemon to daemon connections.
4804
UDP
Spread
Daemon to daemon connections.
6543
UDP
Spread
Monitor to daemon connection.
firewall-cmd --add-port=5433
/tcp
--permanent
firewall-cmd --add-port=5434
/tcp
--permanent
firewall-cmd --add-port=5433
/udp
--permanent
firewall-cmd --add-port=5444
/tcp
--permanent
firewall-cmd --add-port=5450
/tcp
--permanent
firewall-cmd --add-port=4803
/tcp
--permanent
firewall-cmd --add-port=4803
/udp
--permanent
firewall-cmd --add-port=4804
/udp
--permanent
firewall-cmd --add-port=6543
/udp
--permanent
firewall-cmd --reload
--以上开放端口,在安装时仍会报warn ( Threshold = WARN 时)
systemctl stop firewalld
systemctl disable firewalld
四、安装
- 社区版至多支持三个节点,1TB数据。下载后上传至Administrator HOST
- 在Administrator Host 上执行安装命令 rpm -Uvh vertica-10.0.0-0.x86_64.RHEL6.rpm
在Administrator Host 上执行集群安装命令
/opt/vertica/sbin/install_vertica --hosts vertica1,vertica2,vertica3 --rpm /tmp/vertica-
10.0
.
0
-
0
.x86_64.RHEL6.rpm --data-dir /vdata