kudu安装测试随笔

最近试了试apache的新项目kudu,因为资料很少所以安装编译出了很多问题,暂时简单记录下。


从网上为数不多的可以了解,kudu是既可以类似数据仓库、关系数据库等进行复杂的关系查询,也具有hbase这种分布式数据库高并发的特性的一种数据库(其实就是MPP数据库),作为cloudera开发一个新组件,本身不依赖HADOOP体系(这点挺难得,现在apache下的大数据组件依赖HDFS、zookeeper啥的都很正常),可以支持hadoop的mapreduce、spark streaming等等,总之是一个优点很多的开源数据库。


因为kudu的资料很少,中文就更少了,有用的基本上别想,首先从apache官网找到kudu的安装方法,安装方法有两个一个通过发布安装包一个是source编译,其中提到了很多如cloudera manager、CDH、impala等等,这些都别管。


先尝试了最简单的网络安装,貌似国内的ubuntu服务支持不好,get就没成功过,只能放弃了,而且说明上写的只支持ubuntu14.04,而我的服务器只有12.04,应该是不大支持。

接着就尝试了源代码编译,编译过程非常痛苦,先是gcc版本太低造成不支持c++11,看到kudu的源码包用的gcc4.9.3,于是编译了个4.9.3,结果g++报了一个非常无厘头的错误,网上也是完全查不出资料,只好编译了一个4.8.5版本的,成功了,接着编译kudu,花了一天时间终于编译成功了,没想到运行的时候又出了问题,似乎是kudu用llvm优化运行时的代码,不知道编译那步有问题,报了个找不到外部函数,最后只好暂时放弃。


最后绕回继续用安装包安装,这次没有直接用ubuntu的源,而是改用deb包,终于安装成功了.........

注意如果deb安装失败的时候一定要尝试下apt-get install -f,往往就解决了,启动时遇到了一个权限问题,是因为目录kudu的数据目录没加权限

chowm -R kudu:kudu ./

其他配置可以看看官网,并不复杂。

启动完成后,开始测试,先使用kudu自带的控制台程序看了看说明,试了试各种命令确定环境正常后,发现好像少了些什么............为啥没有创建表的功能呢.....

原来kudu的表类似于关系数据库,需要设计列啊,所以就没在这种小管理工具里提供了,找找创建表的方法,提到最多使用sql,咋用sql呢,kudu的impala的库.........

实在不想费劲了,发现kudu提供的java client api里有创建表功能,于是直接从maven上down下来写代码创建。

设计一个表,创建的时候又报了不少错误,先是kudu要求必须指定分区表列,找了找设置了个主键解决了,接着又报了tablet server不够(这个tablet应该跟hbase的region差不多),我明明有一台tablet server啊,难道最少要两个?查了查kudu的文档,发现使用Replica的话至少要3台,估计跟kudu的默认设置有关系,改了表的Replica数终于正常创建了,这里还有个问题,一开始我把Replica设置为0,结果还是报错,没想到kudu竟然没做参数错误的检测,表还创建成功,只是完全没法用,Replica最少要为1。


这里创建表已经成功,其他功能测了测,感觉没关系数据库功能强大,似乎对事务的支持不是太好,delete update等操作也支持通过主键关联,但是按照设计思路来看,并发性能更强一些,可以理解为是个加强版的hbase的,更适合做数据挖掘或者是其他离线操作,对可靠性啥的要求高的还是老实用关系数据库吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值