TiDB在Centos7上通過原始碼編譯安裝
阿新 • • 發佈:2019-02-14
這裡難以編譯安裝的是tikv,tidb的三大部分tidb,pd,tikv中tidb,pd均是採用go語言編寫,安裝go語言包即可編譯,唯獨tikv是採用rust語言寫的,他的編譯是最複雜的。而且編譯環境非常嚴格。需要的工具也最多:gcc-c++,cmake3,rust(cargo)。以下介紹具體的編譯過程。
以下原文是github上給出的編譯tikv所需的系統環境。
Rust Nightly is required. TiKV is currently tested mainly with rust-nightly-2018-01-12
, however we would like to track
nightly
, so please report new breakage.github上明確給出了編譯tikv時rust,cargo對應的版本號。
# Get rustup from rustup.rs, then in your `tikv` folder: rustup override set nightly-2018-01-12 cargo +nightly-2018-01-12 install rustfmt-nightly --version 0.3.4
一、根據前面提到需要的環境,先安裝cmake3,go
yum install gcc-c++ git cmake3 golang -y ln -s /usr/bin/cmake3 /usr/bin/cmake
二、rust的安裝,這裡不再多介紹,如果不清楚,可以看這裡。運氣好,可以一步安裝完成。
curl https://sh.rustup.rs -sSf | sh -s rustup override set nightly-2018-01-12 cargo +nightly-2018-01-12 install rustfmt-nightly --version 0.3.4 --force
三、準備編譯tidb,pd,tikv的編譯目錄和環境變數的設定。
設定GOPATH
export GOPATH=/data/tidb
建立tidb編譯所需的目錄,一定需要這樣設定,不能隨便找一個目錄,然後克隆程式碼。
mkdir -p /data/tidb/src/github.com/pingcap
四、先編譯tidb
cd $GOPATH/src/github.com/pingcap git clone https://github.com/pingcap/tidb gmake
再編譯pd
最後編譯最難編譯的tikv ,編譯過程很漫長,需要一個多小時。
cd $GOPATH/src/github.com/pingcap git clone https://github.com/pingcap/tikv cd tikv cargo build
編譯完成之後,為了使用方便,將tidb,pd,tikv編譯後生成的可執行程式(pd-server,tikv-server,tidb-server等)均拷貝到/data/tidb/bin目錄下。然後依次啟動pd,tikv,tidb,如下所示。
最後就是通過mysql連線測試了。如果本機沒有mysql命令,可以通過yum install mysql安裝。
mysql -h 127.0.0.1 -u root -P 4000