一、概览和检查清单


关键要点

  • 每个集群只能有一个运行中的数据库
  • 支持安装在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

      • NTP services , 必须启用并运行(除RHEL 7系,RHEL7系列需要启用并运行chrony)

        /sbin/service ntpd restart

        /sbin/chkconfig ntpd on

        systemctl enable chronyd (for RHEL 7)

      • 禁用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
      • 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) }

      • 禁用tuning系统服务
        chkconfig tuned off
      • 其他支持工具 
        pstack / mcelog /sysstat (for RHEL 6 )
        gdb / mcelog /sysstat (for RHEL 7 )
    • 所需端口

      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

      Spread

      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

四、安装

  1. 社区版至多支持三个节点,1TB数据。下载后上传至Administrator HOST
  2. 在Administrator Host 上执行安装命令 rpm -Uvh vertica-10.0.0-0.x86_64.RHEL6.rpm
  3. 在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



  • No labels