# 安装指南
原文链接 :[http://kudu.apache.org/docs/installation.html](http://kudu.apache.org/docs/installation.html)
译文链接 : [http://cwiki.apachecn.org/pages/viewpage.action?pageId=10813613](http://cwiki.apachecn.org/pages/viewpage.action?pageId=10813613)
贡献者 : [小瑶](/display/~chenyao) [ApacheCN](/display/~apachecn) [Apache中文网](/display/~apachechina)
## 安装 Apache Kudu
您可以使用软件包在集群上部署 **Kudu** ,也可以从源代码构建 **Kudu** 。要运行 **Kudu** 而不安装任何东西,请使用** [Kudu QuickStart VM](/pages/viewpage.action?pageId=10813610)** 。
注意
**Kudu** 目前更容易使用 **Cloudera Manager 5.4.7** 或更高版本进行安装和管理。如果您使用 **[Cloudera Manager](http://www.cloudera.com/content/www/en-us/products/cloudera-manager.html)** ,请参阅 **Cloudera** 的 [**Kudu** 文档](http://www.cloudera.com/documentation/kudu/latest/topics/kudu_installation.html)。
### 升级 Kudu
要从以前的版本升级 **Kudu** ,请参阅从以前版本的[ **Kudu** 升级](/pages/viewpage.action?pageId=10813613)。
## 先决条件和要求
### 硬件
* 一个或者多个主机运行 **Kudu masters**。建议使用一个主站 ( **master** ) ( 无容错 ),三个 **masters** ( 可以容忍一个故障 ) 或 五个 **masters** ( 可以容忍两个故障 )。
* 运行 **Kudu tablet servers** 的一个或多个主机。使用副本时,至少需要三个 **tablet servers** 。
### 操作系统要求
#### Linux
* **RHEL 6** ,**RHEL 7** , **CentOS 6** , **CentOS 7** , **Ubuntu 14.04 (Trusty)** , **Ubuntu 16.04 (Xenial)** , **Debian 8 (Jessie**) , 或 **SLES 12** 。
* 支持 **hole punching** ( 打孔的 ) 内核和文件系统。打孔是使用** FALLOC_FL_PUNCH_HOLE** 选项设置的 **fallocate(2)** 系统调用。有关详细信息,请参阅 [故障排除 **hole punching**](/pages/viewpage.action?pageId=10813626) 。
* **ntp** 。
* **xfs** 或者 **ext4** 格式化的驱动器。
#### macOS
* **OS X 10.10 Yosemite** , **OS X 10.11 El Capitan** , 或 **macOS Sierra** 。
* 未提供预建的 **macOS** 包。
#### Windows
* **Microsoft Windows** 不受支持。
#### Storage ( 存储 )
* 如果固态存储可用,在这种高性能介质上存储 **Kudu WAL** 可以显著改善 **Kudu** 配置为其最高耐久性水平时的延迟。
#### Management ( 管理 )
* 如果您使用 **Cloudera Manager** 和 **CDH** ,则需要 C**loudera Manager 5.4.3** 或更高版本。**Cloudera Manager 5.4.7** 及更新版本提供更好的监控和管理选项。
## 使用包安装
您可以使用操作系统管理的软件包来安装 **Kudu** 。
表1.**Kudu** 包位置
| OS ( 操作系统 ) | Repository ( 存储库 ) | Individual Packages ( 单个包 ) |
| --- | --- | --- |
| RHEL 或 CentOS | [RHEL 6 or CentOS 6](http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/cloudera-kudu.repo), [RHEL 7 or CentOS 7](http://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/cloudera-kudu.repo) | [RHEL 6 or CentOS 6](http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/5/RPMS/x86_64/), [RHEL 7 or CentOS 7](http://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/5/RPMS/x86_64/) |
| SLES | [SLES 12](http://archive.cloudera.com/kudu/sles/12/x86_64/kudu/cloudera-kudu.repo) | [SLES 12](http://archive.cloudera.com/kudu/sles/12/x86_64/kudu/5/RPMS/x86_64/) |
| Ubuntu | [Trusty](http://archive.cloudera.com/kudu/ubuntu/trusty/amd64/kudu/cloudera.list), [Xenial](http://archive.cloudera.com/kudu/ubuntu/xenial/amd64/kudu/cloudera.list) | [Trusty](http://archive.cloudera.com/kudu/ubuntu/trusty/amd64/kudu/pool/contrib/k/kudu/), [Xenial](http://archive.cloudera.com/kudu/ubuntu/xenial/amd64/kudu/pool/contrib/k/kudu/) |
| Debian | [Jessie](http://archive.cloudera.com/kudu/debian/jessie/amd64/kudu/cloudera.list) | [Jessie](http://archive.cloudera.com/kudu/debian/jessie/amd64/kudu/pool/contrib/k/kudu/) |
### 安装在 RHEL 或 CentOS 主机上
1. 下载并配置您的操作系统的 **Kudu** 存储库,或使用 **Kudu Package Locations** 的相应链接手动下载各个 **RPM** 。
2. 如果使用 **Yum** 存储库,请在将 **cloudera-kudu.repo** 文件保存到 **/etc/yum.repos.d/** 之后,使用以下命令在每个主机上安装 **Kudu** 软件包。
```
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
```
3. 要手动安装 **Kudu RPM** ,首先下载它们,然后使用命令 **sudo rpm -ivh <RPM安装>** 来安装。
4. 注意:**kudu-master** 和 **kudu-tserver** 软件包仅在分别有 **master** 或 **tserver** 的主机上需要 ( 如果使用 **Cloudera Manager** 则完全不必要 )。每个提供配置文件和一个 **init.d** 脚本来管理相应的 **Kudu** 进程。一旦安装, **Kudu** 进程将在主机启动并关闭时自动启动和停止。
### 安装在 SLES 主机上
1. 下载并配置您的操作系统的 **Kudu** 存储库,或使用 **Kudu Package Locations** 的相应链接手动下载各个 **RPM** 。
2. 如果使用 **Zypper** 存储库,请在将 **cloudera-kudu.repo** 文件保存到 ** /etc/zypper/repos.d** 之后,使用以下命令在每个主机上安装 **Kudu** 软件包。
```
sudo zypper install kudu # Base Kudu files
sudo zypper install kudu-master # Kudu master init.d service script and default configuration
sudo zypper install kudu-tserver # Kudu tablet server init.d service script and default configuration
sudo zypper install kudu-client0 # Kudu C++ client shared library
sudo zypper install kudu-client-devel # Kudu C++ client SDK
```
3. 要手动安装 **Kudu RPM** ,首先下载它们,然后使用命令 **sudo rpm -ivh <RPM安装>** 来安装。
4. 注意:**kudu-master** 和 **kudu-tserver** 软件包仅在分别有 **master** 或 **tserver** 的主机上需要 ( 如果使用 **Cloudera Manager** 则完全不必要 )。每个提供配置文件和一个 **init.d** 脚本来管理相应的 **Kudu** 进程。一旦安装, **Kudu** 进程将在主机启动并关闭时自动启动和停止。
### 安装在 Ubuntu 或 Debian 主机上
1. 如果使用 **ubuntu** 或 **debian** 存储库,请在将 **cloudera.list** 文件保存到 **/etc/apt/sources.list.d/** 之后,使用以下命令在每个主机上安装 **Kudu** 软件包。
```
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
```
2. 要手动安装 **Kudu RPM** ,首先下载它们,然后使用命令 **sudo rpm -ivh <RPM安装>** 来安装。
3. 注意:**kudu-master** 和 **kudu-tserver** 软件包仅在分别有 **master** 或 **tserver** 的主机上需要 ( 如果使用 **Cloudera Manager** 则完全不必要 ) 。每个提供配置文件和一个 **init.d** 脚本来管理相应的 **Kudu** 进程。一旦安装, **Kudu** 进程将在主机启动并关闭时自动启动和停止。
### 验证安装
1. 使用以下方法之一验证服务是否正在运行:
***** 在服务器上检查 **ps** 命令的输出,以验证 **kudu-master** 或 **kudu-tserver** 进程之一或两者正在运行。
***** 打开 **Master** 或者 **Tablet Server web UI** ,方法是打开 **http://<_host_name_>:8051/ for master** 或者 **http://<_host_name_>:8050/ for tablet servers** 。
2. 如果 **Kudu** 没有运行,请查看 ** '/var/log/kudu'** 中的日志文件,如果有一个以** '.FATAL'** 结尾的文件,那意味着 **Kudu** 无法启动。
* 如果 **error** 是 **" Error during hole punch test"** ,可能是 [您的操作系统的问题](/pages/viewpage.action?pageId=10813626) 。
* 如果 **error** 是 **" Couldn’t get the current time "** ,这是 [ntp 的问题](/pages/viewpage.action?pageId=10813626)。
* 如果这是其他似乎不明显的东西,或者如果您没有运气尝试上述解决方案,您可以在 [用户邮件列表](http://kudu.apache.org/community.html) 中寻求帮助。
### 必需配置
在启动 **Kudu** 服务之前,需要在每个主机上执行其他配置步骤。
1. 这些包在操作系统的备用数据库中创建一个 **kudu-conf** 条目,并且它们运送内置的 **conf.dist** 替代。要调整配置,您可以直接编辑 **/etc/kudu/conf/** 中的文件,或者使用操作系统实用程序创建一个新的选项,确保它是 **/etc/kudu/conf/** 指向的链接,在那里创建自定义配置文件配置的某些部分也配置在 **/etc/default/kudu-master** 和 **/etc/default/kudu-tserver** 文件中。如果创建自定义配置文件,您应该包括或者复制这些配置选项。
查看配置,包括默认的 **WAL** 和数据目录位置,并根据您的要求进行调整。
2. 使用以下命令启动 **Kudu** 服务:
```
$ sudo service kudu-master start
$ sudo service kudu-tserver start
```
3. 要停止 **Kudu** 服务,请使用以下命令:
```
$ sudo service kudu-master stop
$ sudo service kudu-tserver stop
```
4. 将 **Kudu** 服务配置为在服务器启动时自动启动,将其添加到默认运行级别:
```
$ sudo chkconfig kudu-master on # RHEL / CentOS / SLES
$ sudo chkconfig kudu-tserver on # RHEL / CentOS / SLES
$ sudo update-rc.d kudu-master defaults # Debian / Ubuntu
$ sudo update-rc.d kudu-tserver defaults # Debian / Ubuntu
```
5. 有关 **Kudu** 服务的其他配置,请参阅 [配置 **Kudu**](/pages/viewpage.action?pageId=10813616) 。
## 从源代码构建
如果使用包裹或者软件包安装 **Kudu** 不能提供所需的灵活性,则可以从源代码构建 **Kudu** 。您可以在任何支持的操作系统上从源代码构建。
注意
已知的构建问题
* 不可能在 **MicroSoft Windows** 上构建 **Kudu** 。
* 需要一个 **C+ 11** 编译器 ( **GCC 4.8** ) 。
### RHEL 或者 CentOS
需要 **RHEL** 或者 **CentOS 6.6** 或更高版本从源代码构建 **Kudu** 。要建立在 **7.0** 以上的版本上,必须安装** Red Hat Developer Toolset** ( 才能访问支持 **C++ 11** 的编译器 )。
1. 安装必备库( 如果没有安装 )。
```
$ sudo yum install autoconf automake cyrus-sasl-devel cyrus-sasl-gssapi \
cyrus-sasl-plain gcc gcc-c++ gdb git krb5-server krb5-workstation libtool \
make openssl-devel patch pkgconfig redhat-lsb-core rsync unzip vim-common which
```
2. 如果建立在 **7.0** 以上的 **RHEL** 或 **CentOS** 上,请安装 **Red Hat Developer Toolset**
```
$ DTLS_RPM=rhscl-devtoolset-3-epel-6-x86_64-1-2.noarch.rpm
$ DTLS_RPM_URL=https://www.softwarecollections.org/repos/rhscl/devtoolset-3/epel-6-x86_64/noarch/${DTLS_RPM}
$ wget ${DTLS_RPM_URL} -O ${DTLS_RPM}
$ sudo yum install -y scl-utils ${DTLS_RPM}
$ sudo yum install -y devtoolset-3-toolchain
```
3. 可选:如果您计划构建文档,请安装其他包,包括 **ruby**。
```
$ sudo yum install doxygen gem graphviz ruby-devel zlib-devel
```
注意
如果建立在 **7.0** 以上的 **RHEL** 或者 **CentOS** 上,则可能需要使用 **rubygems** 替换 **gem** 包
4. 克隆 **Git** 存储库并切换到新的 **kudu** 目录
```
$ git clone https://github.com/apache/kudu
$ cd kudu
```
5. 使用 **build-if-necessary.sh** 脚本构建任何缺少的第三方要求。不使用 **devtoolset** 会导致主机编译器似乎需要 **libatomic** ,但找不到它。
```
$ build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
```
6. 使用上一步中安装的实用程序构建 **Kudu** 。为中间输出选择一个构建目录,除了 **Kudu** 目录本身之外,它可以在文件系统中的任何位置。请注意,**devtoolset** 仍然必须指定,否则您会得到 **cc1plus**:错误:**unrecognized command line option "-std=c++11"** 。
```
mkdir -p build/release
cd build/release
../../build-support/enable_devtoolset.sh \
../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
../..
make -j4
```
7. 可选:安装 **Kudu** 二进制文件,库和标题。如果不通过 **DESTDIR** 环境变量指定安装目录,则默认为 **/usr/local/** 。
```
sudo make DESTDIR=/opt/kudu install
```
8. 可选:构建文档。注意:此命令构建不适合上传到 **Kudu** 网站的本地文档。
```
$ make docs
```
**示例 1 . RHEL / CentOS 构建脚本**
此脚本概述了在新安装的 **RHEL** 或 **CentOS** 主机上构建 **Kudu** 的过程,可用作自动部署场景的基础。它跳过上面标记为可选步骤的步骤。
```
#!/bin/bash
sudo yum -y install autoconf automake cyrus-sasl-devel cyrus-sasl-gssapi \
cyrus-sasl-plain gcc gcc-c++ gdb git krb5-server krb5-workstation libtool \
make openssl-devel patch pkgconfig redhat-lsb-core rsync unzip vim-common which
DTLS_RPM=rhscl-devtoolset-3-epel-6-x86_64-1-2.noarch.rpm
DTLS_RPM_URL=https://www.softwarecollections.org/repos/rhscl/devtoolset-3/epel-6-x86_64/noarch/${DTLS_RPM}
wget ${DTLS_RPM_URL} -O ${DTLS_RPM}
sudo yum install -y scl-utils ${DTLS_RPM}
sudo yum install -y devtoolset-3-toolchain
git clone https://github.com/apache/kudu
cd kudu
build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
mkdir -p build/release
cd build/release
../../build-support/enable_devtoolset.sh \
../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
../..
make -j4
```
### Ubuntu 或者 Debian
1. 安装必备库 ( 如果它们没有安装 )
```
$ sudo apt-get install autoconf automake curl g++ gcc gdb git \
krb5-admin-server krb5-kdc krb5-user libkrb5-dev libsasl2-dev libsasl2-modules \
libsasl2-modules-gssapi-mit libssl-dev libtool lsb-release make ntp openssl \
patch pkg-config python rsync unzip vim-common
```
2. 可选:如果您计划构建文档,请安装其他包,包括 **ruby** 。
```
$ sudo apt-get install doxygen gem graphviz ruby-dev xsltproc zlib1g-dev
```
3. 克隆 **Git** 存储库并切换到新的 **kudu** 目录。
```
$ git clone https://github.com/apache/kudu
$ cd kudu
```
4. 使用 **build-if-necessary.sh** 脚本构建任何缺少的第三方要求。
```
$ thirdparty/build-if-necessary.sh
```
5. 使用上一步中安装的实用程序构建 **Kudu** 。为中间输出选择一个构建目录,除了 **kudu** 目录本身之外,它可以在文件系统中的任何位置。
```
mkdir -p build/release
cd build/release
../../thirdparty/installed/common/bin/cmake -DCMAKE_BUILD_TYPE=release ../..
make -j4
```
6. 可选:安装 **Kudu** 二进制文件,库和标题。如果不通过 **DESTDIR** 环境变量指定安装目录,则默认为 **/usr/local/** 。
```
sudo make DESTDIR=/opt/kudu install
```
7. 可选:构建文档。注意:此命令构建不适合上传到 **Kudu** 网站的本地文档。
```
$ make docs
```
**示例 2 . Ubuntu 或者 Debian 构建脚本**
该脚本概述了在 **Ubuntu** 上构建 **Kudu** 的过程,可以作为自动部署场景的基础。它跳过上面标记为可选步骤的步骤。
```
#!/bin/bash
sudo apt-get -y install autoconf automake curl g++ gcc gdb git \
krb5-admin-server krb5-kdc krb5-user libkrb5-dev libsasl2-dev libsasl2-modules \
libsasl2-modules-gssapi-mit libssl-dev libtool lsb-release make ntp openssl \
patch pkg-config python rsync unzip vim-common
git clone https://github.com/apache/kudu
cd kudu
thirdparty/build-if-necessary.sh
mkdir -p build/release
cd build/release
../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
../..
make -j4
```
### SUSE Linux Enterprise Server
1. 安装必备库(如果没有安装)。
```
$ sudo zypper install autoconf automake curl cyrus-sasl-devel \
cyrus-sasl-gssapi gcc gcc-c++ gdb git krb5-devel libtool lsb-release make ntp \
openssl-devel patch pkg-config python rsync unzip vim
```
2. 克隆 **Git** 存储库并切换到新的 **kudu** 目录。
```
$ git clone https://github.com/apache/kudu
$ cd kudu
```
3. 使用 **build-if-necessary.sh** 脚本构建任何缺少的第三方要求。
```
$ thirdparty/build-if-necessary.sh
```
4. 使用上一步中安装的实用程序构建 **Kudu** 。为中间输出选择一个构建目录,除了 **kudu** 目录本身之外,它可以在文件系统中的任何位置。
```
mkdir -p build/release
cd build/release
../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
../..
make -j4
```
5. 可选:安装 **Kudu** 二进制文件,库和标题。如果不通过 **DESTDIR** 环境变量指定安装目录,则默认为 **/usr/local/** 。
```
sudo make DESTDIR=/opt/kudu install
```
**示例 3 .SLES 构建脚本**
此脚本概述了在 **SLES** 上构建 **Kudu** 的过程,并可用作自动部署场景的基础。它跳过上面标记为可选步骤的步骤。
```
#!/bin/bash
sudo zypper install -y autoconf automake curl cyrus-sasl-devel \
cyrus-sasl-gssapi gcc gcc-c++ gdb git krb5-devel libtool lsb-release make ntp \
openssl-devel patch pkg-config python rsync unzip vim
git clone https://github.com/apache/kudu
cd kudu
thirdparty/build-if-necessary.sh
mkdir -p build/release
cd build/release
../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
../..
make -j4
```
### macOS
**Xcode** 包是编译 **Kudu** 所必需的。下面的一些说明使用 [**Homebrew**](http://brew.sh/) 来安装依赖关系,但手动依赖安装是可能的。
注意
**macOS** 已知问题
**Kudu** 对 **macOS** 的支持是实验性的,只能用于开发。有关详细信息,请参阅 [**macOS** 限制和已知问题](https://issues.cloudera.org/browse/KUDU-1219)。
1. 安装必备库(如果没有安装)。
```
$ brew tap homebrew/dupes
$ brew install autoconf automake cmake git krb5 libtool openssl pkg-config pstree
```
2. 可选:如果您计划构建文档,请安装其他包,包括 **ruby** 。
```
$ brew install doxygen graphviz ruby
$ brew install gnu-sed --with-default-names #The macOS default sed handles the -i parameter differently
```
3. 克隆 **Git** 存储库并切换到新的 **kudu** 目录。
```
$ git clone https://github.com/apache/kudu
$ cd kudu
```
4. 使用 **build-if-necessary.sh** 脚本构建任何缺少的第三方要求。
```
$ thirdparty/build-if-necessary.sh
```
* * 如果不同版本的依赖关系在调用 **thirdParty / build-if-necessary.sh** 时安装并使用,则可能会遇到类似于以下内容的输出:
```
./configure: line 16299: error near unexpected token `newline'
./configure: line 16299: ` PKG_CHECK_MODULES('
```
第三方构建可能被缓存,并可能反映不正确版本的依赖关系。确保您具有步骤1中列出的正确依赖项,清理工作区,然后尝试重新构建。
```
$ git clean -fdx
$ thirdparty/build-if-necessary.sh
```
* 自制安装和系统升级的一些组合可能会导致不同种类的错误:
```
libtool: Version mismatch error. This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from libtool 2.4.2.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.
```
如 [本线程](https://github.com/Homebrew/legacy-homebrew/issues/43874) 所述,可能的修复是卸载并重新安装 **libtool**:
```
$ brew uninstall libtool && brew install libtool
```
5\. 构建 **Kudu** 。为中间输出选择一个构建目录,除了 **kudu** 目录本身之外,它可以在文件系统中的任何位置。
```
mkdir -p build/release
cd build/release
../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
../..
make -j4
```
**示例 4\. macOS 构建脚本**
此脚本概述了在 **MacOS** 上构建 **Kudu** 的过程,可用作自动部署场景的基础。它假定安装了 **Xcode** 和 **Homebrew** 。
```
#!/bin/bash
brew tap homebrew/dupes
brew install autoconf automake cmake git krb5 libtool openssl pkg-config pstree
git clone https://github.com/apache/kudu
cd kudu
thirdparty/build-if-necessary.sh
mkdir -p build/release
cd build/release
../../thirdparty/installed/common/bin/cmake \
-DCMAKE_BUILD_TYPE=release \
-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl \
../..
make -j4
```
## 安装 C++ 客户端库
如果您需要访问 **Kudu** 客户端库进行开发,请为您的平台安装 **kudu-client** 和 **kudu-client-devel** 软件包。请参阅 [使用软件包安装](/pages/viewpage.action?pageId=10813613) 。
注意
仅针对客户端库和头( **kudu_client.so** 和 **client.h** )构建。其他图书馆和标题是 **Kudu** 的内部,没有稳定的保证。
## 构建 **Java** 客户端
### 要求
* **JDK 7**
* **Apache Maven 3.x**
要构建 **Java** 客户端,请克隆 **Kudu Git** 存储库,更改为 **java** 目录,并发出以下命令:
```
$ mvn install -DskipTests
```
有关构建 **Java API** 以及 **Eclipse** 集成的更多信息,请参阅 **java/README.md** 。
## 查看 API 文档
### C++ API 文档
您可以在线查看 [**C ++**客户端**API**文档](http://kudu.apache.org/cpp-client-api/index.html) 。或者,在 [从源代码构建 **Kudu**](/pages/viewpage.action?pageId=10813613) 后,您还可以另外构建 **doxygen** 目标(例如,如果使用 **make** ,则运行 **make doxygen** ),并通过在您最喜欢的 **Web** 中打开 **docs/doxygen/client_api/html/index.html** 文件来使用本地生成的 **API** 文档浏览器。
注意
为了构建 **doxygen** 目标,有必要在您的构建机器上安装带有 **Dot(graphviz)** 支持的 **doxygen** 。如果您从源代码构建 **Kudu** 后安装了 **doxygen** ,则需要再次运行 **cmake** 以获取 **doxygen** 位置并生成适当的目标。
### Java API 文档
您可以在线查看 [**Java API** 文档](http://kudu.apache.org/apidocs/index.html)。或者,在 [构建 **Java** 客户端](/pages/viewpage.action?pageId=10813613) 之后,**Java API** 文档可以在 **java/kudu-client/target/apidocs/index.html** 中找到。
## 从以前版本的 Kudu 升级
升级之前,您应该阅读要安装的 **Kudu** 版本的发行说明。 密切关注不兼容性,升级和降级在那里记录的笔记。
注意
目前不支持滚动升级。 升级软件之前,请关闭所有的 **Kudu** 服务。
### 升级程序
1. 停止 **Kudu master** 和 **tablet server** 服务:
```
$ sudo service kudu-master stop
$ sudo service kudu-tserver stop
```
2. 升级软件包:
* 在 **RHEL** 或者 **CentOS** 主机上:
```
sudo yum clean all
sudo yum upgrade kudu
```
* 在 **SLES** 主机上:
```
sudo zypper clean --all
sudo zypper update kudu
```
* 在 **Ubuntu** 或者 **Debian** 主机上:
```
sudo apt-get update
sudo apt-get install kudu
```
3. 启动 **Kudu master** 和**tablet server** 服务:
```
$ sudo service kudu-master start
$ sudo service kudu-tserver start
```
## 下一步
* [配置 **Kudu**](/pages/viewpage.action?pageId=10813616)
* [管理 **Kudu**](/pages/viewpage.action?pageId=10813623)