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



测试环境: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参数安装。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vertica中,创建分区表的建表语句可以使用ALTER TABLE语句来实现。具体的语法如下: ALTER TABLE <table_name> PARTITION BY <partition_expression> 其中,<table_name>是要创建分区表的表名,<partition_expression>是用于定义分区的表达式。使用这个语句可以对现有表进行分区或更改表的分区表达式。 另外,如果需要创建临时表,在Vertica中可以使用CREATE TEMPORARY TABLE语句来实现。临时表是在会话级别存在的表,数据在会话断开前一直保存。例如: CREATE TEMPORARY TABLE <table_name> (column1 datatype, column2 datatype, ...) ON COMMIT PRESERVE ROWS; 这里的<column1>, <column2>, ...是临时表中的列名和数据类型。关键字ON COMMIT PRESERVE ROWS表示在会话断开前临时表会一直保存数据。KSAFE 0表示不创建副本,用于临时表时可以指定为0。 注意,如果使用CREATE LOCAL TEMPORARY TABLE语句创建临时表,需要将ON COMMIT PRESERVE ROWS关键词放到字段类型后面。如果使用CREATE LOCAL TEMPORARY TABLE tablename AS语句创建临时表,则不需要调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vertica分区](https://blog.csdn.net/hmxz2nn/article/details/95526904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Vertica常用语法](https://blog.csdn.net/sinat_27475911/article/details/107450690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值