<!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 completes Hadoop's storage layer to enable fast analytics on fast data" />
    <meta name="author" content="Cloudera" />
    <title>Apache Kudu - 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/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>
    <div class="kudu-site container-fluid">
      <!-- Static navbar -->
        <nav class="navbar navbar-default">
          <div class="container-fluid">
            <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="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png"
                srcset="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png 1x, //d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_160px.png 2x"
                alt="Apache Kudu"/></a>
              
            </div>
            <div id="navbar" class="collapse navbar-collapse">
              <ul class="nav navbar-nav navbar-right">
                <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>
                <!-- NOTE: this dropdown menu does not appear on Mobile, so don't add anything here
                     that doesn't also appear elsewhere on the site. -->
                <li class="dropdown">
                  <a href="/community.html" role="button" aria-haspopup="true" aria-expanded="false">Community <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li class="dropdown-header">GET IN TOUCH</li>
                    <li><a class="icon email" href="/community.html">Mailing Lists</a></li>
                    <li><a class="icon slack" href="https://getkudu-slack.herokuapp.com/">Slack Channel</a></li>
                    <li role="separator" class="divider"></li>
                    <li><a href="/community.html#meetups-user-groups-and-conference-presentations">Events and Meetups</a></li>
                    <li><a href="/committers.html">Project Committers</a></li>
                    <!--<li><a href="/roadmap.html">Roadmap</a></li>-->
                    <li><a href="/community.html#contributions">How to Contribute</a></li>
                    <li role="separator" class="divider"></li>
                    <li class="dropdown-header">DEVELOPER RESOURCES</li>
                    <li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
                    <li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
                    <li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
                    <li role="separator" class="divider"></li>
                    <li class="dropdown-header">SOCIAL MEDIA</li>
                    <li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
                  </ul>
                </li>
                <li >
                  <a href="/faq.html">FAQ</a>
                </li>
              </ul><!-- /.nav -->
            </div><!-- /#navbar -->
          </div><!-- /.container-fluid -->
        </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="small">
        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>
      // Try to detect touch-screen devices. Note: Many laptops have touch screens.
      $(document).ready(function() {
        if ("ontouchstart" in document.documentElement) {
          $(document.documentElement).addClass("touch");
        } else {
          $(document.documentElement).addClass("no-touch");
        }
      });
    </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>

