kudu安装测试随笔
2016-09-28 15:02
302 查看
最近试了试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的,更适合做数据挖掘或者是其他离线操作,对可靠性啥的要求高的还是老实用关系数据库吧。
从网上为数不多的可以了解,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的,更适合做数据挖掘或者是其他离线操作,对可靠性啥的要求高的还是老实用关系数据库吧。
相关文章推荐
- Windows XP & VMware GSX 3.0下安装声卡测试
- Apache SOAP的Web Services在Tomcat4.0.4的安装和测试
- SQL Server 2000 JDBC驱动的完整安装及测试说明
- EuroBen Benchmark安装以及测试(By Robinvane Suen)
- 单域单站点单主机活动目录和Exchange灾难恢复实践测试(四)Exchange灾难恢复安装
- 安装测试的重点
- SQL Server 2000 JDBC驱动的完整安装及测试说明
- SQL Server 2000 JDBC驱动的完整安装及测试说明
- 测试: oracle817在Red Hat 7.3上的安装时间
- SQLServer2000 JDBC驱动的完整安装及测试说明
- 安装了新的浏览器,测试一下
- 安装程序文件测试工具
- SQL Server 2000 JDBC驱动的完整安装及测试说明
- [内核分析]LXR安装心得(0.9.3版)---RH8.0测试通过
- ORACLE性能诊断―学习statspack笔记(一) [安装与测试]
- SQL Server 2000 JDBC驱动的完整安装及测试说明
- 如何安装并测试MySQL
- java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver Eclipse3.1 数据库连接测试程序(SQL Server 2000 Driver for JDBC Service Pack 3 安装测试)
- 单域单站点单主机活动目录和Exchange灾难恢复实践测试(二)基本系统安装
- SQL Server 2000 JDBC驱动的完整安装及测试说明