代码改变世界

Vertica 安装,建库,新建测试用户并授予权限,建表,入库

2014-06-19 20:48  AlfredZhao  阅读(...)  评论(... 编辑 收藏

测试环境: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的,否则入库中文会乱码。