<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu (incubating) completes Hadoop's storage layer to enable fast analytics on fast data" />
    <meta name="author" content="Cloudera" />
    <title>Apache Kudu (incubating) - Installing Kudu</title>
    <!-- Bootstrap core CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
          integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
          crossorigin="anonymous">

    <!-- Custom styles for this template -->
    <link href="/css/justified-nav.css" rel="stylesheet" />

    <link href="/css/kudu.css" rel="stylesheet"/>
    <link href="/css/asciidoc.css" rel="stylesheet"/>
    <link rel="shortcut icon" href="/img/logo-favicon.ico" />
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" />

    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
  </head>
  <body>
    <!-- Fork me on GitHub -->
    <a class="fork-me-on-github" href="https://github.com/apache/incubator-kudu"><img src="//aral.github.io/fork-me-on-github-retina-ribbons/right-cerulean@2x.png" alt="Fork me on GitHub" /></a>

    <div class="kudu-site container-fluid">
      <!-- Static navbar -->
        <nav class="container-fluid navbar-default">
          <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
            
            <a class="logo" href="/"><img src="/img/logo_small.png" width="80" /></a>
            
          </div>
          <div id="navbar" class="navbar-collapse collapse navbar-right">
            <ul class="nav navbar-nav">
              <li >
                <a href="/">Home</a>
              </li>
              <li >
                <a href="/overview.html">Overview</a>
              </li>
              <li class="active">
                <a href="/docs/">Documentation</a>
              </li>
              <li >
                <a href="/releases/">Download</a>
              </li>
              <li >
                <a href="/blog/">Blog</a>
              </li>
              <li >
                <a href="/community.html">Community</a>
              </li>
              <li >
                <a href="/faq.html">FAQ</a>
              </li>
            </ul>
          </div><!--/.nav-collapse -->
        </nav>

<!--
Copyright 2015 Cloudera, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->


<div class="container">
  <div class="row">
    <div class="col-md-9">

<h1>Installing Kudu</h1>
      <div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>You can deploy Kudu on a cluster using packages or you can build Kudu
from source. To run Kudu without installing anything, use the <a href="quickstart.html#quickstart_vm">Kudu Quickstart VM</a>.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
Kudu is currently easier to install and manage with <a href="http://www.cloudera.com/content/www/en-us/products/cloudera-manager.html">Cloudera Manager</a>,
version 5.4.7 or newer. If you use Cloudera Manager, see also Cloudera&#8217;s
<a href="http://www.cloudera.com/content/www/en-us/documentation/betas/kudu/latest/topics/kudu_installation.html">Kudu documentation</a>.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<div class="title">Upgrading Kudu</div>
<p>To upgrade Kudu from a previous version, see <a href="#upgrade">Upgrade from 0.5.0 to 0.6.0</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_prerequisites_and_requirements"><a class="link" href="#_prerequisites_and_requirements">Prerequisites and Requirements</a></h2>
<div class="sectionbody">
<div class="ulist">
<div class="title">Hardware</div>
<ul>
<li>
<p>A host to run the Kudu master.</p>
</li>
<li>
<p>One or more hosts to run Kudu tablet servers. When using replication, a minimum of
three tablet servers is necessary.</p>
</li>
</ul>
</div>
<div class="dlist">
<div class="title">Operating System Requirements</div>
<dl>
<dt class="hdlist1">Linux</dt>
<dd>
<div class="ulist">
<ul>
<li>
<p>RHEL 6 or Ubuntu 14.04 Trusty.</p>
</li>
<li>
<p>A kernel and fileystem that support <em>hole punching</em>. Hole punching is the use of the
<code>fallocate(2)</code> system call with the <code>FALLOC_FL_PUNCH_HOLE</code> option set. See
<a href="troubleshooting.html#req_hole_punching">troubleshooting hole punching</a> for more
information.</p>
</li>
<li>
<p>ntp.</p>
</li>
</ul>
</div>
</dd>
<dt class="hdlist1">OS X</dt>
<dd>
<div class="ulist">
<ul>
<li>
<p>OS X 10.10 Yosemite or OS X 10.11 El Capitan.</p>
</li>
<li>
<p>Prebuilt OS X packages are not provided.</p>
</li>
</ul>
</div>
</dd>
<dt class="hdlist1">Windows</dt>
<dd>
<div class="ulist">
<ul>
<li>
<p>Microsoft Windows is unsupported.</p>
</li>
</ul>
</div>
</dd>
</dl>
</div>
<div class="ulist">
<div class="title">Storage</div>
<ul>
<li>
<p>If solid state storage is available, storing Kudu WALs on such high-performance
media may significantly improve latency when Kudu is configured for its highest
durability levels.</p>
</li>
</ul>
</div>
<div class="ulist">
<div class="title">Management</div>
<ul>
<li>
<p>If you use Cloudera Manager and CDH, Cloudera Manager 5.4.3 or newer is required.
Cloudera Manager 5.4.7 and newer provide better monitoring and administration options.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="install_packages"><a class="link" href="#install_packages">Install Using Packages</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>You can install Kudu using packages managed by the operating system.</p>
</div>
<table id="kudu_package_locations" class="tableblock frame-all grid-all spread">
<caption class="title">Table 1. Kudu Package Locations</caption>
<colgroup>
<col style="width: 33%;">
<col style="width: 33%;">
<col style="width: 33%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-right valign-top">OS</th>
<th class="tableblock halign-left valign-top">Repository</th>
<th class="tableblock halign-left valign-top">Individual Packages</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>RHEL</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://archive.cloudera.com/beta/kudu/redhat/6/x86_64/kudu/cloudera-kudu.repo">RHEL 6</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://archive.cloudera.com/beta/kudu/redhat/6/x86_64/kudu/0.5.0/RPMS/x86_64/">RHEL 6</a></p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>Ubuntu</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://archive.cloudera.com/beta/kudu/ubuntu/trusty/amd64/kudu/cloudera.list">Trusty</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://archive.cloudera.com/beta/kudu/ubuntu/trusty/amd64/kudu/pool/contrib/k/kudu/">Trusty</a></p></td>
</tr>
</tbody>
</table>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
For later versions of Ubuntu, the Ubuntu Trusty packages are reported to install, though they have not been extensively tested.
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="_install_on_rhel_hosts"><a class="link" href="#_install_on_rhel_hosts">Install On RHEL Hosts</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Download and configure the Kudu repositories for your operating system, or manually
download individual RPMs, the appropriate link from <a href="#kudu_package_locations">Kudu Package Locations</a>.</p>
</li>
<li>
<p>If using a Yum repository, use the following commands to install Kudu packages on
each host.</p>
<div class="listingblock">
<div class="content">
<pre>sudo yum install kudu                         # Base Kudu files
sudo yum install kudu-master                  # Kudu master init.d service script and default configuration
sudo yum install kudu-tserver                 # Kudu tablet server init.d service script and default configuration
sudo yum install kudu-client0                 # Kudu C++ client shared library
sudo yum install kudu-client-devel            # Kudu C++ client SDK</pre>
</div>
</div>
</li>
<li>
<p>To manually install the Kudu RPMs, first download them, then use the command
<code>sudo rpm -ivh &lt;RPM to install&gt;</code> and install the
<code>kudu-master</code> and <code>kudu-tserver</code> packages on the appropriate hosts. These packages
provide the operating system commands to start and stop Kudu.</p>
</li>
</ol>
</div>
</div>
<div class="sect2">
<h3 id="_install_on_ubuntu_or_debian_hosts"><a class="link" href="#_install_on_ubuntu_or_debian_hosts">Install On Ubuntu or Debian Hosts</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>If using an Ubuntu or Debian repository, use the following commands to install Kudu
packages on each host.</p>
<div class="listingblock">
<div class="content">
<pre>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</pre>
</div>
</div>
</li>
<li>
<p>To manually install individual DEBs, first download them, then use the command
<code>sudo dpkg -i &lt;DEB to install&gt;</code> to install them.</p>
</li>
</ol>
</div>
</div>
<div class="sect2">
<h3 id="_verify_the_installation"><a class="link" href="#_verify_the_installation">Verify the Installation</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Verify that services are running using one of the following methods:</p>
<div class="ulist">
<ul>
<li>
<p>Examine the output of the <code>ps</code> command on servers to verify one or both of <code>kudu-master</code>
or <code>kudu-tserver</code> processes is running.</p>
</li>
<li>
<p>Access the Master or Tablet Server web UI by opening <code>http://&lt;_host_name_&gt;:8051/</code>
for masters
or <code>http://&lt;_host_name_&gt;:8050/</code> for tablet servers.</p>
</li>
</ul>
</div>
</li>
<li>
<p>If Kudu isn&#8217;t running, have a look at the log files in '/var/log/kudu', and if there&#8217;s a file
ending with '.FATAL' then it means Kudu wasn&#8217;t able to start.</p>
<div class="ulist">
<ul>
<li>
<p>If the error is 'Error during hole punch test', it might be a problem
<a href="troubleshooting.html#req_hole_punching">with your OS</a>.</p>
</li>
<li>
<p>If the error is 'Couldn&#8217;t get the current time', it&#8217;s a
<a href="troubleshooting.html#ntp">problem with ntp</a>.</p>
</li>
<li>
<p>If it&#8217;s something else that doesn&#8217;t seem obvious or if you&#8217;ve tried the above solutions without
luck, you can ask for help on the
<a href="https://groups.google.com/forum/#!forum/kudu-user">user mailing list</a>.</p>
</li>
</ul>
</div>
</li>
</ol>
</div>
</div>
<div class="sect2">
<h3 id="required_config_without_cm"><a class="link" href="#required_config_without_cm">Required Configuration</a></h3>
<div class="paragraph">
<p>Additional configuration steps are required on each host before you can start Kudu services.</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>The packages create a <code>kudu-conf</code> entry in the operating system&#8217;s alternatives database,
and they ship the built-in <code>conf.dist</code> alternative. To adjust your configuration,
you can either edit the files in <code>/etc/kudu/conf/</code> directly, or create a new alternative
using the operating system utilities, make sure it is the link pointed to by <code>/etc/kudu/conf/</code>,
and create custom configuration files there. Some parts of the configuration are configured
in <code>/etc/default/kudu-master</code> and <code>/etc/default/kudu-tserver</code> files as well. You
should include or duplicate these configuration options if you create custom configuration files.</p>
<div class="paragraph">
<p>Review the configuration, including the default WAL and data directory locations,
and adjust them according to your requirements.</p>
</div>
</li>
</ol>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Start Kudu services using the following commands:</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo service kudu-master start
$ sudo service kudu-tserver start</code></pre>
</div>
</div>
</li>
<li>
<p>To stop Kudu services, use the following commands:</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo service kudu-master stop
$ sudo service kudu-tserver stop</code></pre>
</div>
</div>
</li>
<li>
<p>Configure the Kudu services to start automatically when the server starts, by adding
them to the default runlevel.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo chkconfig kudu-master on                # RHEL / CentOS
$ sudo chkconfig kudu-tserver on               # RHEL / CentOS

$ sudo update-rc.d kudu-master defaults        # Debian / Ubuntu
$ sudo update-rc.d kudu-tserver defaults       # Debian / Ubuntu</code></pre>
</div>
</div>
</li>
<li>
<p>For additional configuration of Kudu services, see <a href="configuration.html">Configuring
Kudu</a>.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_build_from_source"><a class="link" href="#_build_from_source">Build From Source</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>If installing Kudu using parcels or packages does not provide the flexibility you
need, you can build Kudu from source. You can build from source on any supported operating system.</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
<div class="title">Known Build Issues</div>
<div class="ulist">
<ul>
<li>
<p>It is not possible to build Kudu on Microsoft Windows.</p>
</li>
<li>
<p>Do not build Kudu using <code>gcc</code> 4.6. It is known to cause runtime and test failures.</p>
</li>
</ul>
</div>
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="rhel_from_source"><a class="link" href="#rhel_from_source">RHEL or CentOS</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Install the prerequisite libraries, if they are not installed:</p>
<div class="listingblock">
<div class="content">
<pre>$ sudo yum install boost-static boost-devel openssl-devel cyrus-sasl-devel</pre>
</div>
</div>
</li>
<li>
<p>Optional: Install the <code>asciidoctor</code> gem if you plan to build documentation.</p>
<div class="listingblock">
<div class="content">
<pre>$ sudo gem install asciidoctor</pre>
</div>
</div>
</li>
<li>
<p>Clone the Git repository and change to the new <code>kudu</code> directory.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clone http://github.com/cloudera/kudu
$ cd kudu</code></pre>
</div>
</div>
</li>
<li>
<p>Build any missing third-party requirements using the <code>build-if-necessary.sh</code> script.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ thirdparty/build-if-necessary.sh</code></pre>
</div>
</div>
</li>
<li>
<p>Build Kudu, using the utilities installed in the previous step. Edit the install
prefix to the location where you would like the Kudu binaries, libraries, and headers
installed during the <code>make install</code> step. The default value is <code>/usr/local/</code>.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">thirdparty/installed/bin/cmake . -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/opt/kudu
make -j4</code></pre>
</div>
</div>
</li>
<li>
<p>Optional: Install Kudu binaries, libraries, and headers.
If you do not specify a <code>DESTDIR</code>, <code>/usr/local/</code> is the default.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">sudo make DESTDIR=/opt/kudu install</code></pre>
</div>
</div>
</li>
<li>
<p>Optional: Build the documentation. NOTE: This command builds local documentation that
is not appropriate for uploading to the Kudu website.</p>
<div class="listingblock">
<div class="content">
<pre>$ make docs</pre>
</div>
</div>
</li>
</ol>
</div>
<div class="exampleblock">
<div class="title">Example 1. RHEL / CentOS Build Script</div>
<div class="content">
<div class="paragraph">
<p>This script provides an overview of the procedure to build Kudu on a
newly-installed RHEL or CentOS host, and can be used as the basis for an
automated deployment scenario. It skips the steps marked <strong>Optional</strong> above.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">#!/bin/bash

sudo yum -y install boost-static boost-devel openssl-devel cyrus-sasl-devel
git clone http://github.com/cloudera/kudu
cd kudu
thirdparty/build-if-necessary.sh
thirdparty/installed/bin/cmake . -DCMAKE_BUILD_TYPE=release
make -j4
make install</code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect2">
<h3 id="ubuntu_from_source"><a class="link" href="#ubuntu_from_source">Ubuntu or Debian</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Install the prerequisite libraries, if they are not installed:</p>
<div class="listingblock">
<div class="content">
<pre>$ sudo apt-get -y install git autoconf automake libboost-thread-dev curl gcc g++ \
  libssl-dev libsasl2-dev libtool ntp</pre>
</div>
</div>
</li>
<li>
<p>Optional: Install the <code>asciidoctor</code> gem and xsltproc if you plan to build documentation.</p>
<div class="listingblock">
<div class="content">
<pre>$ sudo apt-get -y install asciidoctor xsltproc</pre>
</div>
</div>
</li>
<li>
<p>Clone the Git repository and change to the new <code>kudu</code> directory.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clone http://github.com/cloudera/kudu
$ cd kudu</code></pre>
</div>
</div>
</li>
<li>
<p>Build any missing third-party requirements using the <code>build-if-necessary.sh</code> script.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ thirdparty/build-if-necessary.sh</code></pre>
</div>
</div>
</li>
<li>
<p>Build Kudu.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">thirdparty/installed/bin/cmake . -DCMAKE_BUILD_TYPE=release
make -j4</code></pre>
</div>
</div>
</li>
<li>
<p>Optional: Build the documentation. NOTE: This command builds local documentation that
is not appropriate for uploading to the Kudu website.</p>
<div class="listingblock">
<div class="content">
<pre>$ make docs</pre>
</div>
</div>
</li>
</ol>
</div>
<div class="exampleblock">
<div class="title">Example 2. Ubuntu / Debian Build Script</div>
<div class="content">
<div class="paragraph">
<p>This script provides an overview of the procedure to build Kudu on RHEL or
CentOS, and can be used as the basis for an automated deployment scenario. It skips
the steps marked <strong>Optional</strong> above.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">#!/bin/bash

sudo apt-get -y install git autoconf automake libboost-thread-dev curl \
  gcc g++ libssl-dev libsasl2-dev libtool ntp
git clone http://github.com/cloudera/kudu
cd kudu
thirdparty/build-if-necessary.sh
thirdparty/installed/bin/cmake . -DCMAKE_BUILD_TYPE=release
make -j4
make install</code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect2">
<h3 id="osx_from_source"><a class="link" href="#osx_from_source">OS X</a></h3>
<div class="paragraph">
<p>The Xcode toolchain is necessary for compiling Kudu. Use <code>xcode-select --install</code>
to install the Xcode Command Line Tools if Xcode is not already installed. These
instructions use <a href="http://brew.sh/">Homebrew</a> to install dependencies, but
manual dependency installation is possible.</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
<div class="title">OS X Known Issues</div>
<div class="paragraph">
<p>Kudu support for OS X is experimental, and should only be used for development.
See <a href="https://issues.cloudera.org/browse/KUDU-1219">OS X Limitations &amp; Known Issues</a>
for more information.</p>
</div>
</td>
</tr>
</table>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Install the prerequisite libraries, if they are not installed:</p>
<div class="listingblock">
<div class="content">
<pre>$ brew install autoconf automake cmake libtool pkg-config boost pstree</pre>
</div>
</div>
</li>
<li>
<p>OS X 10.11 El Capitan only: install OpenSSL.</p>
<div class="listingblock">
<div class="content">
<pre>$ brew install openssl
$ brew link -f openssl</pre>
</div>
</div>
</li>
<li>
<p>Clone the Git repository and change to the new <code>kudu</code> directory.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ git clone http://github.com/cloudera/kudu
$ cd kudu</code></pre>
</div>
</div>
</li>
<li>
<p>Build any missing third-party requirements using the <code>build-if-necessary.sh</code> script.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ thirdparty/build-if-necessary.sh</code></pre>
</div>
</div>
</li>
<li>
<p>Build Kudu.</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">thirdparty/installed/bin/cmake .
make -j4</code></pre>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="build_cpp_client"><a class="link" href="#build_cpp_client">Installing the C++ Client Libraries</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>If you need access to the Kudu client libraries for development,
install the <code>kudu-client</code> and <code>kudu-client-devel</code> package for your platform.
See <a href="#install_packages">Install Using Packages</a>.</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
Only build against the client libraries and headers (<code>kudu_client.so</code> and <code>client.h</code>).
Other libraries and headers are internal to Kudu and have no stability guarantees.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="build_java_client"><a class="link" href="#build_java_client">Build the Java Client</a></h2>
<div class="sectionbody">
<div class="ulist">
<div class="title">Requirements</div>
<ul>
<li>
<p>JDK 7</p>
</li>
<li>
<p>Apache Maven 3.x</p>
</li>
<li>
<p><code>protoc</code> 2.6 or newer installed in your path, or built from the <code>thirdparty/</code> directory.
You can run the following commands to build <code>protoc</code> from the third-party dependencies:</p>
</li>
</ul>
</div>
<div class="listingblock">
<div class="content">
<pre>$ thirdparty/download-thirdparty.sh
$ thirdparty/build-thirdparty.sh protobuf</pre>
</div>
</div>
<div class="paragraph">
<p>To build the Java client, clone the Kudu Git
repository, change to the <code>java</code> directory, and issue the following command:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ mvn install -DskipTests</code></pre>
</div>
</div>
<div class="paragraph">
<p>For more information about building the Java API, as well as Eclipse integration,
see <code>java/README.md</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="view_api"><a class="link" href="#view_api">View API Documentation</a></h2>
<div class="sectionbody">
<div class="paragraph">
<div class="title">C++ API Documentation</div>
<p>The documentation for the C++ client APIs is included in the header files in
<code>/usr/include/kudu/</code> if you installed Kudu using packages or subdirectories
of <code>src/kudu/client/</code> if you built Kudu from source. If you installed Kudu using parcels,
no headers are included in your installation. and you will need to <a href="#build_kudu">build
Kudu from source</a> in order to have access to the headers and shared libraries.</p>
</div>
<div class="paragraph">
<p>The following command is a naive approach to finding relevant header files. Use
of any APIs other than the client APIs is unsupported.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ find /usr/include/kudu -type f -name *.h</code></pre>
</div>
</div>
<div class="paragraph">
<div class="title">Java API Documentation</div>
<p>You can view the <a href="../apidocs/index.html">Java API documentation</a> online. Alternatively,
after <a href="#build_java_client">building the Java client</a>, Java API documentation is available
in <code>java/kudu-client/target/apidocs/index.html</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="upgrade"><a class="link" href="#upgrade">Upgrade from 0.5.0 to 0.6.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Before upgrading, see <a href="#client_compatibility_0.6.0">Client compatibility</a> and <a href="#api_compatibility_0.6.0">API Compatibility</a>.
To upgrade from Kudu 0.5.0 to 0.6.0, perform the following high-level steps, which
are detailed in <a href="#upgrade_procedure_0.6.0">Upgrade procedure</a>:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Shut down all Kudu services.</p>
</li>
<li>
<p>Install the new Kudu packages or parcels, or install Kudu 0.6.0 from source.</p>
</li>
<li>
<p>Restart all Kudu services.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>It is technically possible to upgrade Kudu using rolling restarts, but it has not
been tested and is not recommended.</p>
</div>
<div class="sect2">
<h3 id="client_compatibility_0.6.0"><a class="link" href="#client_compatibility_0.6.0">Client compatibility</a></h3>
<div class="paragraph">
<p>Kudu 0.6.0 maintains wire compatibility with Kudu 0.5.0. This means that a Kudu 0.6.0
client can communicate with a Kudu 0.5.0 cluster, and vice versa. For that reason,
you do not need to upgrade client JARs at the same time the cluster is upgraded.</p>
</div>
<div class="paragraph">
<p>The same wire compatibility guarantees apply to the Impala_Kudu fork that was released
with Kudu 0.5.0.</p>
</div>
</div>
<div class="sect2">
<h3 id="api_compatibility_0.6.0"><a class="link" href="#api_compatibility_0.6.0">API Compatibility</a></h3>
<div class="paragraph">
<p>The Kudu 0.6.0 client API is not compatible with the Kudu 0.5.0 client API. See the
<a href="release_notes.html#0.6.0">Kudu 0.6.0 release notes</a> for details.</p>
</div>
</div>
<div class="sect2">
<h3 id="upgrade_procedure_0.6.0"><a class="link" href="#upgrade_procedure_0.6.0">Upgrade procedure</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Stop the Kudu master and tablet server services:</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo service kudu-master stop
$ sudo service kudu-tserver stop</code></pre>
</div>
</div>
</li>
<li>
<p>Upgrade the packages.</p>
<div class="ulist">
<ul>
<li>
<p>On RHEL hosts:</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">sudo yum clean all
sudo yum upgrade kudu</code></pre>
</div>
</div>
</li>
<li>
<p>On Ubuntu or Debian hosts:</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">sudo apt-get update
sudo apt-get install kudu</code></pre>
</div>
</div>
</li>
</ul>
</div>
</li>
<li>
<p>Start the Kudu master and tablet server services:</p>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-bash" data-lang="bash">$ sudo service kudu-master start
$ sudo service kudu-tserver start</code></pre>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="next_steps"><a class="link" href="#next_steps">Next Steps</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><a href="configuration.html">Configuring Kudu</a></p>
</li>
<li>
<p><a href="administration.html">Kudu Administration</a></p>
</li>
</ul>
</div>
</div>
</div>
    </div>
    <div class="col-md-3">

  <div id="toc" data-spy="affix" data-offset-top="70">
  <ul>

      <li>

          <a href="introduction.html">Introducing Kudu</a> 
      </li> 
      <li>

          <a href="release_notes.html">Kudu Release Notes</a> 
      </li> 
      <li>

          <a href="quickstart.html">Getting Started with Kudu</a> 
      </li> 
      <li>
<span class="active-toc">Installation Guide</span>
            <ul class="sectlevel1">
<li><a href="#_prerequisites_and_requirements">Prerequisites and Requirements</a></li>
<li><a href="#install_packages">Install Using Packages</a>
<ul class="sectlevel2">
<li><a href="#_install_on_rhel_hosts">Install On RHEL Hosts</a></li>
<li><a href="#_install_on_ubuntu_or_debian_hosts">Install On Ubuntu or Debian Hosts</a></li>
<li><a href="#_verify_the_installation">Verify the Installation</a></li>
<li><a href="#required_config_without_cm">Required Configuration</a></li>
</ul>
</li>
<li><a href="#_build_from_source">Build From Source</a>
<ul class="sectlevel2">
<li><a href="#rhel_from_source">RHEL or CentOS</a></li>
<li><a href="#ubuntu_from_source">Ubuntu or Debian</a></li>
<li><a href="#osx_from_source">OS X</a></li>
</ul>
</li>
<li><a href="#build_cpp_client">Installing the C++ Client Libraries</a></li>
<li><a href="#build_java_client">Build the Java Client</a></li>
<li><a href="#view_api">View API Documentation</a></li>
<li><a href="#upgrade">Upgrade from 0.5.0 to 0.6.0</a>
<ul class="sectlevel2">
<li><a href="#client_compatibility_0.6.0">Client compatibility</a></li>
<li><a href="#api_compatibility_0.6.0">API Compatibility</a></li>
<li><a href="#upgrade_procedure_0.6.0">Upgrade procedure</a></li>
</ul>
</li>
<li><a href="#next_steps">Next Steps</a></li>
</ul> 
      </li> 
      <li>

          <a href="configuration.html">Configuring Kudu</a> 
      </li> 
      <li>

          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
      </li> 
      <li>

          <a href="administration.html">Administering Kudu</a> 
      </li> 
      <li>

          <a href="troubleshooting.html">Troubleshooting Kudu</a> 
      </li> 
      <li>

          <a href="developing.html">Developing Applications with Kudu</a> 
      </li> 
      <li>

          <a href="schema_design.html">Kudu Schema Design</a> 
      </li> 
      <li>

          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
      </li> 
      <li>

          <a href="contributing.html">Contributing to Kudu</a> 
      </li> 
      <li>

          <a href="style_guide.html">Kudu Documentation Style Guide</a> 
      </li> 
      <li>

          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
      </li> 
  </ul>
  </div>
    </div>
  </div>
</div>
      <footer class="footer">
        <p class="pull-left">
        <a href="http://incubator.apache.org"><img src="/img/apache-incubator.png" width="225" height="53" align="right"/></a>
        </p>
        <p class="small">
        Apache Kudu (incubating) is an effort undergoing incubation at the Apache Software
        Foundation (ASF), sponsored by the Apache Incubator PMC. Incubation is
        required of all newly accepted projects until a further review
        indicates that the infrastructure, communications, and decision making
        process have stabilized in a manner consistent with other successful
        ASF projects. While incubation status is not necessarily a reflection
        of the completeness or stability of the code, it does indicate that the
        project has yet to be fully endorsed by the ASF.

        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2015-11-24 16:23:43 PST 
        </p>
      </footer>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
            integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
            crossorigin="anonymous"></script>
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-68448017-1', 'auto');
      ga('send', 'pageview');
    </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
    <script>
      anchors.options = {
        placement: 'right',
        visible: 'touch',
      };
      anchors.add();
    </script>
  </body>
</html>

