测试环境:RHEL 6.4 + Vertica 6.1.3-7
需求:搭建Vertica数据库3节点的测试环境,建立测试用户,建表,测试数据入库。
1.各节点关闭防火墙和SELinux,配置主机名,IP地址,统一root密码,确认系统字符集为utf-8
关闭防火墙和selinux:
|
service iptables status;getenforce;service iptables stop;setenforce
0
;service iptables status;getenforce
|
关闭防火墙开机启动:
chkconfig --list |grep ip;chkconfig iptables off;chkconfig ip6tables off;chkconfig --list |grep ip
|
系统字符集:
|
vi /etc/sysconfig/i18n
|
2.各节点配置root用户ssh互信
ssh互信配置参考:http://www.cnblogs.com/jyzhao/p/3781072.html
3.统一各节点/etc/hosts文件
|
127.0.0.1
localhost
.
localdomain localhost
::
1
localhost6
.
localdomain6 localhost6
192.168.1.101
vnode1
192.168.1.102
vnode2
192.168.1.103
vnode3
|
4.统一各节点的时间,生产环境建议建立NTP服务器同步,这里直接手动修改下
验证时间:
ssh vnode1 date;ssh vnode2 date;ssh vnode3 date;
|
更正系统时间:
ssh vnode1 date
061210102014
;ssh vnode2 date
061210102014
;ssh vnode3 date
061210102014
; --代表设置时间为
2014
年
6
月
12
日
10
:
10
:
00
|
验证hwclock时间:
|
ssh vnode1 hwclock -r;ssh vnode2 hwclock -r;ssh vnode3 hwclock -r;
|
更正hwclock时间:
ssh vnode1 hwclock -w;ssh vnode2 hwclock -w;ssh vnode3 hwclock -w;
|
5.root用户,节点1上安装vertica的rpm包
rpm -ivh /opt/vertica-*.rpm
|
6.root用户,节点1上安装各节点vertica
/opt/vertica/sbin/install_vertica -s vnode1,vnode2,vnode3 -r /opt/vertica-*.rpm
|
7.dbadmin用户,用admintools 建库
|
提示让输入license
file
pathname:此处不输入直接Accept,这样默认就为社区版(
3
节点,1TB裸数据),如果社区版满足不了需求,就只能向HP购买license。
然后依次选择
6
Configuration Menu ->
1
Create Database -> 输入数据库名称 -> 输入数据库密码 -> 选择安装的节点 -> 指定Catalog pathname和Data pathname -> 确认建库 -> 建库成功
|
注:建库过程中建议动态去关注Dblog,看是否有什么问题,因为等建库失败后再去看有可能这个日志连同上级目录就被自动删除了。有一次搭建测试环境,同事装完系统用root用户限制了ulimit的open files最大为10240,导致dbadmin用户无权自动修改这个参数,而Vertica要求这个参数至少是32768,默认安装过程中会自动修改这个参数为65536。所以导致无法成功建库,坑人的是屏幕输出却是毫不相关的一些Python的报错信息。这时反过来找有没有日志记录了有效信息,才发现建库失败后,建库过程中所建立的目录都被自动删除,回头再找目录下的日志自然已经是不复存在了。
8.新建用户、方案、授权、初始化表
|
CREATE
USER
test identified
by
'testpwd'
;
CREATE
SCHEMA
test
AUTHORIZATION
test;
vsql -Utest -wtestpwd
create
table
t_jingyu(
col1
int
,
col2
varchar
,
col3
timestamp
not
null
)
PARTITION
BY
(date_part(
'doy'
, t_jingyu.col3));
|
9.入库测试
|
[dbadmin@vnode1 test]$ more loadData.sh
#!/bin/bash
# loading data
vsql -Udbadmin -wadmin<<-EOF 2>&1
\timing
copy test.t_jingyu(
col1,
col2,
col3
)
from
'$1'
on
v_verticadb_node0001
delimiter E
'|'
NULL
''
NO
ESCAPE
DIRECT;
EOF
[dbadmin@vnode1 test]$ more sourceData.dat
1|jingyu|2014-06-19
2|xiaobei|2014-06-20
3|alfred|2014-05-20
4|martin|2014-06-20
5|靖宇|2014-06-19
[dbadmin@vnode1 test]$ sh loadData.sh /home/dbadmin/test/sourceData.dat
Timing
is
on
.
Rows
Loaded
-------------
5
(1 row)
Time
:
First
fetch
(1 row): 119.669 ms.
All
rows
formatted: 119.919 ms
[dbadmin@vnode1 test]$
|
提示:入库文件的字符集默认要求是utf-8的,否则入库中文会乱码。
删除历史残留vertica 6.1.3-7 步骤:
1.杀掉vertica进程
# ps -ef|grep vertica |grep -v grep|awk '{print $2}'|xargs kill -9
2.删除vertica软件
# rpm -e vertica
Shutting down vertica agent daemon
Stopping vertica agent: /etc/rc.d/init.d/vertica_agent: line 225: kill: (-33413) - 没有那个进程
Deleting spread daemon
Deleting spread logrotate configuration
Deleting vertica autorestart support
Deleting vertica agent support
3.删除vertica相关的残留用户
# id spread
id: spread:无此用户
# id dbadmin
uid=500(dbadmin) gid=501(dbadmin) 组=501(dbadmin),500(verticadba)
# userdel -r dbadmin
4.删除vertica安装目录
# rm -rf /opt/vertica
5.删除vertica数据库相关目录
# rm -rf /vdata01/vertica
注:以上步骤都是在各节点依次执行。
入库目录权限问题:
|
select
*
from
storage_locations;
|
|
dbadmin=>
create
location
'/tmp'
node
'v_test2_node0001'
usage
'USER'
;
CREATE
LOCATION
dbadmin=>
grant
read
on
location
'/tmp'
to
test;
GRANT
PRIVILEGE
|
7.0版本安装时,如果需要忽略常规错误安装可选用参数 --failure-threshold=HALT
在cloud或虚拟化的环境上安装vertica集群时,由于通常不在一个网段中(即使看上去是),所以需要添加-T和-N参数。
目前实践经验:
Citrix虚拟化平台不需要加参数即可安装成功。
VMware vSphere虚拟化平台需要加参数。
故建议处理方法:
先不加参数正常安装,如果安装不上再尝试加上-T和-N参数安装。