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中:

kudu的安装与简单使用-LMLPHP

    然后我们添加公钥,下载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更新,如果出现错误,检查一下版本是否对。

kudu的安装与简单使用-LMLPHP

    然后我们就可以简单的使用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,可以看到如下的页面,随便点点:

kudu的安装与简单使用-LMLPHP

     因为我们单点部署了,没有副本,所以可能就有这样的错误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

   配置新增:

  1. --unlock_unsafe_flags=true
  2. --allow_unsafe_replication_factor=true
  3. --default_num_replicas=1

   重启服务:

  • service kudu-master restart
  • service kudu-tserver restart

    我们写一个demo,加入以下的依赖:

    和很多服务一样,我们建立一个kudu连接:

kudu的安装与简单使用-LMLPHP

    然后需要建个table:

kudu的安装与简单使用-LMLPHP

    然后我们可以在刚才的页面看到如下的内容:

kudu的安装与简单使用-LMLPHP

    然后我们可以加入一些数据:

kudu的安装与简单使用-LMLPHP

    后续我再结合一些可视化工具操作kudu里面的数据吧,再续!

09-02 05:25