1.vertica概念
面向数据分析的数据仓库系统解决方案
2.vertica关键特性
标准的SQL接口:可以利用已有的BI、ETL、Hadoop/MapReduce和OLTP环境
高可用:内置的冗余也提升了查询速度
自动化数据库设计:数据库自动安装、优化、管理
高级压缩:十多种压缩算法最多可节省90%的空间
大规模并行处理:运行于低成本的x86型Linux节点上的原生DB感知集群
列式存储、混合模型:无磁盘I/O瓶颈,载入和查询同时进行
灵活部署:普通硬件、虚拟环境、云平台
3.vertica安装使用
使用社区版的vertica:免费、无功能和时间限制,最多允许1TB的数据、最多允许三个节点的集群。在A、B、C三台Linux服务器上(CentOS5系统)安装配置包含三个节点的可保证高可用的最基本的vertica cluster。
3.1安装
下载特定于平台的vertica安装包,这里下载的是
vertica-7.0.1-0.x86_64.RHEL5.rpm
创建专门用于vertica管理的用户和组
sudo groupadd verticaAdmin
sudo useradd -g verticaAdmin verticaAdmin
sudo passwd verticaAdmin
在其中一台主机,比如A主机先安装vertica
sudo rpm -ivh vertica-7.0.1-0.x86_64.RHEL5.rpm
安装完成后可在A主机运行/opt/vertica/sbin/install_vertica命令与其他主机搭建vertica cluster
sudo /opt/vertica/sbin/install_vertica –hosts B,C - -rpm /pathto/vertica-7.0.1-0.x86_64.RHEL5.rpm--dba-user verticaAdmin --dba-group verticaAdmin --dba-user-password password--dba-user-home /home/ verticaAdmin --data-dir /data/vertica
3.2几个问题
首先要保证root用户可以通过SSH登录到集群内的所有主机
另外应允许vertica管理员用户,例如上述步骤创建的verticaAdmin,无密码SSH至集群内其他主机(该步骤会在安装过程中自动进行(之所以要保证root用户能SSH到集群内所有主机正是为了此目的),我们只需保证系统设置允许无密码登录即可)
vertica对I/O调度策略、vertica管理员用户的时区设置、磁盘Readahead的值、文件系统、CPU主频扩展策略等方面有特殊要求。如果你不确定你的系统是否符合这些要求也没关系,只要运行一下上述配置cluster的命令便会自动检测并给出提示,只需按提示一步步解决掉问题重新就可以了。
3.3此次安装过程遇到的问题及解决办法
(涉及的文件名、路径、磁盘名称等视你的具体情况而定)
设置I/O调度策略:
sudo sh -c 'echo deadline >/sys/block/sda/queue/scheduler'
并将echo deadline > /sys/block/sda/queue/scheduler写进/etc/rc.local
更新tzdata包,设置时区:
sudo yum update tzdata
在 .profile 或.bashrc /etc/profile中添加export TZ="Asia/Shanghai"
安装pstack、mcelog、sysstat:
yum install pstack
yum install mcelog
yum install sysstat
设置Readahead
sudo blockdev --setra 2048 /dev/sda
sudo blockdev --setra 2048/dev/mapper/VolGroup00-LogVol00
并将命令写进/etc/rc.local
查看和设置CPU频率扩展:
sudo yum install cpufreq-utils
cpufreq-info
sudo cpufreq-set -c CPU序号1,CPU序号2,…… -g performance
配置/etc/ssh/sshd_config中PermitRootLogin为yes并重启(一定要重启)sshd服务:
sudo vim /etc/ssh/sshd_config
/etc/init.d/sshd restart
安装成功后便可以用admintools来管理vertica了,可以使用admintools命令行模式也可以使用图形界面模式。也可以使用vsql客户端来连接、查询数据库。若想卸载vertica也很简单,逐台服务器运行sudo rpm -e vertica-7.0.1-0即可。
3.4一些基本命令:
admintools: 运行图形界面,根据界面上的内容和提示进行操作。
admintools –help: 显示可用的命令
admintools –help_all: 显示更详尽的可用命令帮助
admintools –t +具体可用的命名: 使用特定的命令
vsql:连接到vertica
vsql db:连接到具体数据库
使用vsql创建好连接至vertica的回话后\h用户显示帮助。
4.vertica评测
4.1单节点模式下测试环境准备
数据库、schema、table
最初只启用了一个节点A(也即没有搭建cluster),使用admintools在该节点创建不使用密码的数据库 testVertica,使用vsql连接至testVertica数据库,在public这个schema下创建表trace_htlorder、sbtest。
CREATE TABLE trace_htlorder (
TextDataLONG VARCHAR,
TransactionID bigint DEFAULT NULL,
HostNamevarchar(256) DEFAULT NULL,
ApplicationName varchar(256) DEFAULT NULL,
LoginNamevarchar(256) DEFAULT NULL,
SPID intDEFAULT NULL,
Durationbigint DEFAULT NULL,
StartTimedatetime DEFAULT NULL,
EndTimedatetime DEFAULT NULL,
Readsbigint DEFAULT NULL,
Writesbigint DEFAULT NULL,
CPU intDEFAULT NULL,
Successint DEFAULT NULL,
ServerName varchar(256) DEFAULT NULL,
EventClass int DEFAULT NULL,
Error intDEFAULT NULL,
ObjectName char(256) DEFAULT NULL,
DatabaseName varchar(256) DEFAULT NULL,
DBUserName varchar(256) DEFAULT NULL,
RowCountsbigint DEFAULT N