Apache Kudu是由Cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。Kudu支持水平扩展,使用Raft协议进行一致性保证,并且与Cloudera Impala和Apache Spark等当前流行的大数据查询和分析工具结合紧密。
我们需要在我们的源中添加kudu数据源http://archive.cloudera.com/kudu/ubuntu/xenial/amd64/kudu/cloudera.list,加入到添加到/etc/apt/sources.list中:
然后我们添加公钥,下载http://cloudera-fastly-s3-2.s3-website-us-west-1.amazonaws.com/kudu/ubuntu/xenial/amd64/kudu/archive.key,使用sudo apt-key add archive.key,然后使用sudo apt update更新,如果出现错误,检查一下版本是否对。
然后我们就可以简单的使用apt来安装了:
- sudo apt-get install kudu # Base Kudu files
- sudo apt-get install kudu-master # Service scripts for managing kudu-master
- sudo apt-get install kudu-tserver # Service scripts for managing kudu-tserver
- sudo apt-get install libkuduclient0 # Kudu C++ client shared library
- sudo apt-get install libkuduclient-dev # Kudu C++ client SDK
然后启动我们的kudu服务:
- sudo service kudu-master start
- sudo service kudu-tserver start
这时候我们可以在浏览器中输出入ip:8051,可以看到如下的页面,随便点点:
因为我们单点部署了,没有副本,所以可能就有这样的错误CAUSED BY: NonRecoverableException: Not enough live tablet servers to create a table with the requested replication factor 3. 1 tablet servers are alive,我们呢需要在以下配置中添加并且重启:
-
/etc/kudu/conf/master.gflagfile
-
/etc/kudu/conf/tserver.gflagfile
配置新增:
- --unlock_unsafe_flags=true
- --allow_unsafe_replication_factor=true
- --default_num_replicas=1
重启服务:
- service kudu-master restart
- service kudu-tserver restart
我们写一个demo,加入以下的依赖:
和很多服务一样,我们建立一个kudu连接:
然后需要建个table:
然后我们可以在刚才的页面看到如下的内容:
然后我们可以加入一些数据:
后续我再结合一些可视化工具操作kudu里面的数据吧,再续!