~/src/hypertable
~/build/hypertable
~/hypertable
$ sudo apt-get install git-core
$ git config --global user.name "<your name>" $ git config --global user.email "<your email>"
$ git clone git://scm.hypertable.org/pub/repos/hypertable.git
$ cd ~/hypertable $ git pull
$ sudo apt-get install build-essential
$ sudo apt-get install zlib1g-dev
$ sudo apt-get install cmake
$ sudo apt-get install libboost.*-dev libboost-doc libboost.*1.34.1
$ sudo apt-get install liblog4cpp*
$ sudo apt-get install expat libexpat1 libexpat1-dev
$ sudo apt-get install libattr1 libattr1-dev
$ sudo apt-get install libreadline5-dev
$ sudo apt-get install libncurses5 libncurses5-dev
$ sudo apt-get install libgoogle-perftools0 libgoogle-perftools-dev
$ mkdir ~/src/hypertable $ mkdir -p ~/build/hypertable
$ cmake -DCMAKE_INSTALL_PREFIX="~/hypertable" -DCMAKE_BUILD_TYPE="Debug" -DBoost_INCLUDE_DIR="/usr/include/boost" ~/src/hypertable
組態過程... -- Looking for required boost libraries... 尋找boost程式庫當中... -- Boost include dir: /usr/include/boost 找到boost的header檔案路徑 -- Boost thread lib: /usr/lib/libboost_thread-mt.so 找到boost的多執行緒處理之動態程式庫 -- Boost program options lib: /usr/lib/libboost_program_options-mt.so 找到boost的程式參數處理之動態程式庫 -- Boost lib dir: /usr/lib 找到boost的動態程式庫存放路徑 -- Boost version: 1_34_1 顯示boost的版本資訊 -- Looking for doxygen... 尋找doxygen程式庫當中... -- Looking for doxygen... - found /usr/bin/doxygen 找到doxygen的執行程式路徑 -- Looking for dot tool... 尋找graphviz繪圖使用的dot套件 -- Looking for dot tool... - found /usr/bin/dot 找到dot的執行程式路徑 -- Found Tcmalloc: /usr/lib/libtcmalloc_minimal.so 找到tcmalloc的動態連結程式庫路徑 -- Got boost 1.34.x, prepend fix directory -- Configuring done -- Generating done -- Build files have been written to: ~/build/hypertable 組態完成後把編譯需要的設定檔放到指定路徑~/build/hypertable
$ cd ~/build/hypertable $ make
[ 6%] Built target HyperComm [ 10%] Built target HyperCommon [ 11%] Built target commTest [ 12%] Built target commTestDatagram [ 12%] Built target commTestReverseRequest [ 13%] Built target commTestTimeout [ 13%] Built target commTestTimer [ 13%] Built target sampleClient [ 14%] Built target testServer [ 14%] Built target htConvert [ 17%] Built target Hyperspace [ 33%] Built target Hypertable [ 42%] Built target HyperDfsBroker [ 50%] Built target Hyperspace.Master [ 56%] Built target Hypertable.Master [ 57%] Built target htgc [ 73%] Built target Hypertable.RangeServer [ 76%] Built target count_stored [ 79%] Built target csdump [ 79%] Built target bmz-test [ 79%] Built target bmzip [ 80%] Built target compressor_test [ 80%] Built target generate_test_data [ 80%] Built target loadDataSourceTest [ 81%] Built target locationCacheTest [ 81%] Built target schemaTest [ 85%] Built target dfsTest [ 88%] Built target dfsclient [ 94%] Built target hyperspace [ 94%] Built target hyperspaceTest [ 95%] Built target hypertable [ 95%] Built target hypertable_test [ 96%] Built target dumplog [ 96%] Built target merge_diff [ 97%] Built target rsTest [ 98%] Built target rsclient [ 99%] Built target rsdump [ 99%] Built target serverup [100%] Built target localBroker
$ make install DESTDIR="~/hypertable"
編譯過程省略.. [ 6%] Built target HyperComm ... ... [100%] Built target localBroker 連結程式過程.. Linking CXX executable CMakeFiles/CMakeRelink.dir/Hyperspace.Master Linking CXX executable CMakeFiles/CMakeRelink.dir/Hypertable.Master Linking CXX executable CMakeFiles/CMakeRelink.dir/htgc Linking CXX executable CMakeFiles/CMakeRelink.dir/Hypertable.RangeServer Linking CXX executable CMakeFiles/CMakeRelink.dir/count_stored Linking CXX executable CMakeFiles/CMakeRelink.dir/csdump Linking CXX executable CMakeFiles/CMakeRelink.dir/generate_test_data Linking CXX executable CMakeFiles/CMakeRelink.dir/dfsclient Linking CXX executable CMakeFiles/CMakeRelink.dir/hyperspace Linking CXX executable CMakeFiles/CMakeRelink.dir/hypertable Linking CXX executable CMakeFiles/CMakeRelink.dir/dumplog Linking CXX executable CMakeFiles/CMakeRelink.dir/merge_diff Linking CXX executable CMakeFiles/CMakeRelink.dir/rsclient Linking CXX executable CMakeFiles/CMakeRelink.dir/rsdump Linking CXX executable CMakeFiles/CMakeRelink.dir/serverup Linking CXX executable CmakeFiles/CMakeRelink.dir/localBroker 安裝程式過程,部份內容省略未列出,僅列出整理排列後之內容.. Install the project... -- Install configuration: "Debug" 安裝設定檔.. -- Installing ~/hypertable/0.9.0.5/conf/hypertable.cfg -- Installing ~/hypertable/0.9.0.5/conf/METADATA.xml 安裝引用檔案及應用范例程式及測試資料庫內容(省略).. 安裝Java及C/C++程式庫.. -- Installing ~/hypertable/0.9.0.5/java/lib/commons-logging-1.0.4.jar -- Installing ~/hypertable/0.9.0.5/java/lib/Hadoop-0.14.4-core.jar -- Installing ~/hypertable/0.9.0.5/java/lib/junit-4.3.1.jar -- Installing ~/hypertable/0.9.0.5/java/lib/log4j-1.2.13.jar -- Installing ~/hypertable/0.9.0.5/java/lib/hypertable-0.9.0.jar -- Installing ~/hypertable/0.9.0.5/lib/libHyperComm.a -- Installing ~/hypertable/0.9.0.5/lib/libHyperCommon.a -- Installing ~/hypertable/0.9.0.5/lib/libHyperspace.a -- Installing ~/hypertable/0.9.0.5/lib/libHypertable.a -- Installing ~/hypertable/0.9.0.5/lib/libHyperDfsBroker.a 安裝可執行程式.. -- Installing ~/hypertable/0.9.0.5/bin/jrun -- Installing ~/hypertable/0.9.0.5/bin/start-all-servers.sh -- Installing ~/hypertable/0.9.0.5/bin/start-master.sh -- Installing ~/hypertable/0.9.0.5/bin/start-range-server.sh -- Installing ~/hypertable/0.9.0.5/bin/kill-servers.sh -- Installing ~/hypertable/0.9.0.5/bin/slaves.sh -- Installing ~/hypertable/0.9.0.5/bin/Hyperspace.Master -- Installing ~/hypertable/0.9.0.5/bin/Hypertable.Master -- Installing ~/hypertable/0.9.0.5/bin/htgc -- Installing ~/hypertable/0.9.0.5/bin/Hypertable.RangeServer -- Installing ~/hypertable/0.9.0.5/bin/csdump -- Installing ~/hypertable/0.9.0.5/bin/count_stored -- Installing ~/hypertable/0.9.0.5/bin/generate_test_data -- Installing ~/hypertable/0.9.0.5/bin/dfsclient -- Installing ~/hypertable/0.9.0.5/bin/hyperspace -- Installing ~/hypertable/0.9.0.5/bin/hypertable -- Installing ~/hypertable/0.9.0.5/bin/dumplog -- Installing ~/hypertable/0.9.0.5/bin/merge_diff -- Installing ~/hypertable/0.9.0.5/bin/rsclient -- Installing ~/hypertable/0.9.0.5/bin/rsdump -- Installing ~/hypertable/0.9.0.5/bin/serverup -- Installing ~/hypertable/0.9.0.5/bin/localBroker
$ cd ~/build/hypertable $ make doc
$ ~/build/hypertable/doc/html/index.html
$ /dev/sda1 ext3 defaults,errors=remount-ro 0 1
$ /dev/sda1 ext3 defaults,user_xattr,errors=remount-ro 0 1
$ sudo mount -o remount /home
切換到執行檔案路徑 $ cd ~/hypertable/0.9.0.5/bin 關閉Server $ ./kill-servers.sh 使用本機端磁碟空間的開啟方式 $ ./start-all-servers.sh local
Usage: start-test-servers.sh [local|hadoop|kosmos]
$ make test Running tests... Start processing tests Test project /home/sunny/build/hypertable 1/ 17 Testing HyperComm Passed 2/ 17 Testing HyperComm-datagram Passed 3/ 17 Testing HyperComm-timeout Passed 4/ 17 Testing HyperComm-timer Passed 5/ 17 Testing HyperComm-reverse-request Passed 6/ 17 Testing Schema Passed 7/ 17 Testing LocationCache Passed 8/ 17 Testing LoadDataSource Passed 9/ 17 Testing BlockCompressor-BMZ Passed 10/ 17 Testing BlockCompressor-LZO Passed 11/ 17 Testing BlockCompressor-NONE Passed 12/ 17 Testing BlockCompressor-QUICKLZ Passed 13/ 17 Testing BlockCompressor-ZLIB Passed 14/ 17 Testing HyperDfsBroker Passed 15/ 17 Testing Hyperspace Passed 16/ 17 Testing hypertable Passed 17/ 17 Testing RangeServer Passed 100% tests passed, 0 tests failed out of 17
~/hypertable/0.9.0.5/conf/hypertable.cfg
# # hypertable.cfg # # Global properties # Hypertable的等待連線時間 Hypertable.Request.Timeout=180 # HDFS Broker服務的相關設定 HdfsBroker.Port=38030 HdfsBroker.fs.default.name=hdfs://localhost:9000 HdfsBroker.Workers=20 # Local DFS Broker 服務的相關設定 DfsBroker.Local.Port=38030 DfsBroker.Local.Root=fs/local # DFS Broker 給用戶端的相關設定 DfsBroker.Host=localhost DfsBroker.Port=38030 # Hyperspace 的相關設定 Hyperspace.Master.Host=localhost Hyperspace.Master.Port=38040 Hyperspace.Master.Dir=hyperspace Hyperspace.Master.Workers=20 # Hypertable.Master 的相關設定 Hypertable.Master.Host=localhost Hypertable.Master.Port=38050 Hypertable.Master.Workers=20 # Hypertable.RangeServer 的相關設定 Hypertable.RangeServer.Port=38060