歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> HP Vertica Analytics Platform 評測

HP Vertica Analytics Platform 評測

日期:2017/2/28 14:29:40   编辑:Linux教程

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 NULL,

XactSequence bigint DEFAULT NULL,

hashcodebigint DEFAULT NULL,

filtertinyint DEFAULT NULL

)

CREATE TABLE sbtest (

idint NOT NULL,

kint NOT NULL DEFAULT '0',

cchar(120) NOT NULL DEFAULT '',

padchar(60) NOT NULL DEFAULT '',

PRIMARYKEY (id)

);

注意:vertica不支持vertica不支持MySQL中的``、int(N)、comment、text類型、unsigned、AUTO_INCREMENT、KEY k(k)

兩個測試文本:

sbtest.txt-17G-包含如下格式的數據2億行(數據來自於sysbench自動創建)

1*2000*"aaaaaaaaaaabbbbbbbbbbccccccccccdddddddddd"*"ddddddddddccccccccccbbbbbbbbbbaaaaaaaaaa"

trace_order_less.txt-20G-包含如下格式的數據3千萬行(數據來自與真實的生產環境)

"SELECT costrate FROM FltOrderDB..O_Flight(nolock) WHERE OrderID=1030812255"*0*"VMS01760"*".NetSqlClient DataProvider"*"uws_W_AppleOrder"*172*0*"2014-05-1500:00:00"*"2014-05-1500:00:00"*4*0*0*0*""*0*0*""*"FltOrderDB"*""*1*0*3384460570715180659*1

4.2 單節點vertica與infobright數據載入測試

單點的社區版vertica

copy public.sbtest from '/tmp/sbtest.txt'DELIMITER '*' ENCLOSED BY '"'DIRECT;

Time: First fetch (1 row): 438790.789 ms. Allrows formatted: 438790.838 ms

數據被壓縮為3.8G

copy public.trace_htlorder from'/data/tmp/trace_order_less.txt' DELIMITER '*' ENCLOSED BY '"' DIRECT;

Time: First fetch (1 row): 3926331.365 ms. All rowsformatted: 3926331.419 ms

數據被壓縮為1.4G

數據載入過程中vertica會使用到比原始數據文件大得多的磁盤空間, 20G的數據文件LOAD過程中最多的時候會占用到40G的空間

copy 命令三個參數

Ø AUTO 將數據載入WOS,WOS滿後直接載入到ROS。適用於<100MB的文件

Ø DIRECT 將數據直接載入到ROS。適用於100MB以上的數據

Ø TRICKLE 適用於增量式的批量插入數據,直接把數據載入到WOS,WOS滿後報錯,整個載入過程回滾。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-07/104679p2.htm

Copyright © Linux教程網 All Rights Reserved