🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 安装指南 原文链接 :[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)