很少說,直接上乾貨!html
這是安裝Kudu的另外一種方法c++
http://kudu.apache.org/docs/installation.html#rhel_from_source
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.git
Known Build Issues
|
咱們把它翻譯過來,叫作apache
我這裏仍是以RHEL or CentOS爲例。其實你們能夠去看官網vim
第一步:安裝必要的librariescentos
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
第二步:若是centos版本低於7.0(好比CentOS6.5),安裝toolset,下載不了手動下載一下。api
$ 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
第三步:可選項,安裝gem、ruby-devel、ascidoctor。ruby
$ sudo yum install doxygen gem graphviz ruby-devel zlib-devel
注意:若是創建在7.0以上的RHEL或CentOS上,則可能須要使用rubygems替換gem包。
第四步:下載kudu工程,最新版本建議使用cloudera kudu git
$ git clone https://github.com/apache/kudu $ cd kudu
第五步:安裝第三方必要的包,很耗時
$ build-support/enable_devtoolset.sh thirdparty/build-if-necessary.sh
第六步:cmake構建makefile文件,而後make編譯工程,若cmake剔除test,加入參數-DNO_TESTS=1
$ cd kudu $ mkdir -p build/release $ cd build/release ../../build-support/enable_devtoolset.sh \ ../../thirdparty/installed/bin/cmake \ -DCMAKE_BUILD_TYPE=release \ ../.. $ make -j4
第七步:Optional: Install Kudu binaries, libraries, and headers. If you do not specify an installation directory through the DESTDIR
environment variable, /usr/local/
is the default.
sudo make DESTDIR=/opt/kudu install
第八步:Optional: Build the documentation. NOTE: This command builds local documentation that is not appropriate for uploading to the Kudu website.
$ make docs
總的是
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 Optional above.
#!/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
第九步:目錄結構
..bin
..CMakeCache.txt
..CMakeFiles
..cmake_install.cmake
..CTestTetFile.cmake
..lib
..Makefile
..src