vertica10.0.0单点安装_ubuntu18.04

ubuntu的软件包格式为deb,而rpm格式的包归属于红帽子Red Hat。 由于项目一直用的vertica-9.3.1-4.x86_64.RHEL6.rpm,未进行其他版本适配,而官网又下载不到vertica-9.3.1-4.x86_64.deb,尝试通过alian命令将rpm转成deb,但是安装失败,最后只能从别人的网盘里下载并安装了vertica_10.0.0-0_amd64.deb。

安装前准备

系统环境准备

操作系统主机命名

hostnamectl set-hostname vertica01

配置/etc/host

配置/etc/hosts,具体命令如下:

cp /etc/hosts /etc/hosts_bak_`date +%F`
cat >>/etc/hosts<<EOF
172.19.146.183          vertica01
EOF

--验证
ping vertica01

卸载已安装的vertica版本

--查看已安装的vertica版本
root@vertica01:/topsoft/soft# dpkg -l | grep vertica
ii  vertica                                9.3.1-5                                         amd64        Vertica High Performance Database

--卸载
dpkg -r vertica

上传介质

上传vertica_10.0.0-0_amd64.deb安装包至/opt

百度云:链接:https://pan.baidu.com/s/16RmeIrbQdxXlF4wQgsw82Q
提取码:tyhj

安装依赖包

若在线包里没有,在https://launchpad.net/ubuntu/bionic/下载相应的依赖包然后dpkg -i安装

apt-get install  openssh-server  #若已安装跳过
apt-get install which   #不安装也没事
apt-get install dialog  #若在线安装显示没有该包则下载
apt install rasdaemon
apt install sysstat

dpkg -i dialog_1.3-20171209-1_amd64.deb

--查看已安装安装包
root@vertica01:/topsoft/soft# dpkg -l | grep openssh
ii  openssh-client                         1:7.6p1-4ubuntu0.3                              amd64        secure shell (SSH) client, for secure access to remote machines
ii  openssh-server                         1:7.6p1-4ubuntu0.3                              amd64        secure shell (SSH) server, for secure access from remote machines
ii  openssh-sftp-server                    1:7.6p1-4ubuntu0.3                              amd64        secure shell (SSH) sftp server module, for SFTP access from remote machines

配置ntp服务

18.04依赖包下载地址:https://launchpad.net/ubuntu/bionic/

--在线安装
apt install ntp

---离线安装  
dpkg -i libopts25_5.18.12-4_amd64.deb
dpkg -i ntp_4.2.8p10+dfsg-5ubuntu7_amd64.deb  默认一路回车

--查看状态
systemctl status ntp  

修改磁盘调度

查看磁盘调度

cat /sys/block/vda/queue/scheduler

修改 GRUB 的配置文件,重启生效

vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"  修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=deadline"

修改磁盘预读

--修改磁盘预读
/sbin/blockdev --setra 8192 /dev/vgdb/lvdb

--查看磁盘预读
/sbin/blockdev --getra  /dev/vgdb/lvdb

防火墙配置

默认防火墙是关闭状态

sudo ufw disable #禁用

如果启用防火墙需进行如下配置:

如果数据库端口和ssh端口不是3306和22,需视情况更改

sudo ufw enable #开启防火墙
sudo ufw allow 5433/tcp #仅tcp
sudo ufw allow 22/tcp #仅tcp

关闭selinux

Ubuntu 默认未安装SELinux,省略设置。

root@HKSZF-ZW-172-19-146-175:/etc/selinux# getenforce
Command 'getenforce' not found, but can be installed with:
apt install selinux-utils

修改内核参数

echo 'vm.swappiness=0' >> /etc/sysctl.conf
sysctl -p

设置dbadmin用户的环境限制参数

cp  /etc/security/limits.conf   /etc/security/limits.conf_bak_`date %F`
cat >> /etc/security/limits.conf << "EOF"
#add by vertica
dbadmin    soft    nproc    65536
dbadmin    hard    nproc    65536
dbadmin    soft    nofile    65536
dbadmin    hard    nofile    65536
dbadmin    soft    stack    65536
dbadmin    hard    stack    65536
EOF

加入开机启动

ubuntu18.04不再使用 inited 管理系统,改用 systemd,但是可以自己配置rc.local

1.实现原理

systemd 默认会读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,即需要的配置文件。

2.将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面

	ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

修改文件内容

sudo vim /etc/systemd/system/rc-local.service

在文件末尾增加

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

创建/etc/rc.local文件

sudo touch /etc/rc.local

编辑/etc/rc.local文件

把以下模块加载为开机启动,如下

echo '
echo deadline > /sys/block/vda/queue/scheduler
/sbin/blockdev --setra 8192 /dev/sda
'  >> /etc/rc.local
chmod +x /etc/rc.local

原文链接:ubuntu18.04中没有/etc/rc.local文件的解决方法_ubuntu rc.local 位置-CSDN博客

cp /etc/sysctl.conf /etc/sysctl.conf_bak_`date +%F`
echo "vm.swappiness = 1" >> /etc/sysctl.conf  #1:尽可能不用swap分区  0:尽可能不用swap分区
echo "fs.file-max = 65536" >> /etc/sysctl.conf 
echo "vm.min_free_kbytes=4096" >> /etc/sysctl.conf 
sysctl -p
echo 1 > /proc/sys/vm/swappiness
加上下面三行,sda切换为实际的,可以df -hT看下挂载的硬盘
echo deadline > /sys/block/vda/queue/scheduler 
echo deadline > /dev/sda
/sbin/blockdev --setra 8192 /dev/vda
sed -i '/^#LoginGraceTime/c LoginGraceTime 0'  /etc/ssh/sshd_config

配置离线本地仓库

上传ubuntu-18.04.5-server-amd64.iso至/root

1、查操作系统版本

root@ubuntu:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic

2、原文件备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak_`date +%F`

3、挂载

--创建挂载目录
mkdir -p /media/cdrom

--挂载至/media/cdrom
mount -t iso9660 -o loop /root/ubuntu-18.04.5-server-amd64.iso /media/cdrom

--向source.list中添加一个新的光盘源文件
apt-cdrom -m -d /media/cdrom add

--更新软件源
apt-get update

创建用户

--创建用户组
sudo groupadd -g 1006 verticadba

--创建新用户
useradd -u 1006 dbadmin -s /bin/bash -g  verticadba -G verticadba

--更改密码
sudo passwd dbadmin

参数说明:
-r:建立系统账号
-m:自动建立用户的登入目录
-s:指定用户登入后所使用的shell

创建目录

mkdir -p /topsoft/vertica
chown -R dbadmin:verticadba  /topsoft/vertica
chown -R dbadmin:verticadba /home/dbadmin/

设置时区

echo "export TZ=Asia/Shanghai" >> //home/dbadmin/.bashrc

安装vertica软件

--安装vertica软件
/opt/vertica/sbin/install_vertica --failure-threshold NONE --host 192.168.40.190 -u dbadmin -l /home/dbadmin -d /home/dbadmin

参数说明:
--data-dir DIR, -d DIR 
--failure-threshold {HINT,WARN,FAIL,HALT,NONE}
                        Stop installation for any failures of this severity or
                        worse (default: WARN)

  --dba-user-home DIR, -l DIR
                        The DBA system user home. (default: /home/<DBA>)

  --dba-user USER, -u USER
                        The DBA system user name. (default: dbadmin)

  --hosts HOST,HOST..., -s HOST,HOST...
                        A comma-separated list of hosts to install or update


  --rpm FILE, -r FILE, --deb FILE
                        The software package to install. Either an RPM or
                        Debian package.

详细过程如下:

root@ubuntu:/etc/apt# /opt/vertica/sbin/install_vertica --failure-threshold NONE --host 192.168.40.190 -u dbadmin -l /home/dbadmin -d /home/dbadmin
Vertica Analytic Database 10.0.0-0 Installation Tool


>> Validating options...


Mapping hostnames in --hosts (-s) to addresses...

>> Starting installation tasks.
>> Getting system information for cluster (this may take a while)...

Default shell on nodes:
192.168.40.190 /bin/bash

>> Validating software versions (rpm or deb)...


>> Beginning new cluster creation...

successfully backed up admintools.conf on 192.168.40.190 

>> Creating or validating DB Admin user/group...

Successful on hosts (1): 192.168.40.190
    Provided DB Admin account details: user = dbadmin, group = verticadba, home = /home/dbadmin
    Creating group... Group already exists
    Validating group... Okay
    Creating user... User already exists
    Validating user... Okay


>> Validating node and cluster prerequisites...

Skipping prerequiste checks because no hosts are being added

>> Establishing DB Admin SSH connectivity...

Installing/Repairing SSH keys for dbadmin


>> Setting up each node and modifying cluster...

Creating Vertica Data Directory...

Updating agent...

>> Sending new cluster configuration to all nodes...

Starting or restarting agent...

>> Completing installation...

Running upgrade logic
Installation complete.

Please evaluate your hardware using Vertica's validation tools:
    https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=VALSCRIPT

To create a database:
  1. Logout and login as dbadmin. (see note below)
  2. Run /opt/vertica/bin/adminTools as dbadmin
  3. Select Create Database from the Configuration Menu

  Note: Installation may have made configuration changes to dbadmin
  that do not take effect until the next session (logout and login).

To add or remove hosts, select Cluster Management from the Advanced Menu.

创建数据库

su - dbadmin
/opt/vertica/bin/adminTools

(1)提示输入License File Path时,因为社区版是免费的,按Tab键选中“OK”,回车

(2)Accept EULA,按空格键选中Accept,回车

(3)按上下键选择Configuration Menu,回车
(4)选择Create Database,回车
(5)输入Database Name
(6)输入密码和确认密码
(7)选择主机IP,因为是单节点安装,直接选择默认的那个IP
(8)确认数据实例安装目录,根据自己喜好,或者直接用默认的/home/dbadmin

开机自启

[dbadmin@localhost ~]$ /opt/vertica/bin/adminTools

Configuration Menu–>Set Restart Policy,按空格键选中创建的数据库,选中always,OK

问题处理

HINT的错误可以忽略,FAIL的错误必须处理。

执行上一步后若出现如下错误(提示有错误的话一定要把FAIL的地方解决):

Prerequisites not fully met during local (OS) configuration for
verify-192.168.40.190.xml:
    Fail : User shell is not bash (found /bin/sh)
    Hint : Alter system user with usermod
    Help : https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0240
    HINT (S0231): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0231
        HINT(eS0231): dbadmin user ('dbadmin') primary group is not verticadba      111
        ('verticadba')
解决办法:
root@ubuntu:/etc/apt# usermod -g verticadba -G verticadba dbadmin
root@ubuntu:/etc/apt# id dbadmin
uid=1006(dbadmin) gid=1006(verticadba) groups=1006(verticadba)

        
    HINT (S0305): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0305
        HINT(eS0305): TZ is unset for dbadmin. Consider updating .profile or        111
        .bashrc
解决办法:
echo "export TZ=Asia/Shanghai" >> /home/dbadmin/.bash_profile
        
    HINT (S0041): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0041
        HINT(eS0041): Could not find the following tools normally provided by
        the rasdaemon package: rasdaemon
解决办法:apt install rasdaemon
        
    HINT (S0040): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0040
        HINT(eS0040): Could not find the following tools normally provided by
        the pstack or gstack package: pstack/gstack
解决办法:apt install pstack

        
    HINT (S0045): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0045
        HINT(eS0045): Could not find the following tools normally provided by
        the sysstat package: iostat, mpstat
解决办法:apt install sysstat
        
    WARN (N0010): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=N0010
        WARN(eN0010): Linux iptables (firewall) has some non-trivial rules in
        tables: filter
解决办法:sudo ufw disable
         sudo ufw status

        
    WARN (S0112): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0112
        WARN(eS0112): vm.swappiness is higher than recommended: your 60 > 1
解决办法:
echo 'vm.swappiness=0' >> /etc/sysctl.conf
sysctl -p

        
    FAIL (S0020): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0020
        FAIL(eS0020): Readahead size of  (/dev/mapper/ubuntu--vg-root) is too
        low for typical systems: 256 < 2048
解决办法:/sbin/blockdev --setra 8192 /dev/mapper/ubuntu--vg-root   #修改磁盘预读
         /sbin/blockdev --getra  /dev/mapper/ubuntu--vg-root  #查看磁盘预读

    
    FAIL (S0180): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0180
        FAIL(eS0180): Insufficient swap size. Need 2.00 GB, have 0.95 GB
更改swap大小
        
    FAIL (S0030): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0030
        FAIL(eS0030): ntp daemon process is not running: ['ntpd', 'ntp',
        'chronyd']
配置ntp
        
    FAIL (S0020): https://www.vertica.com/docs/10.0.x/HTML/index.htm#cshid=S0020
        FAIL(eS0020): Readahead size of  (/dev/mapper/vgdb-lvdb) is too low for
        typical systems: 256 < 2048
解决办法:/sbin/blockdev --setra 8192 /dev/mapper/vgdb-lvdb   #修改磁盘预读
         /sbin/blockdev --getra  /dev/mapper/vgdb-lvdb  #查看磁盘预读