# 安裝指南
原文鏈接 :[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)