Changes between Version 9 and Version 10 of HyperTable/HowToInstall


Ignore:
Timestamp:
Jun 17, 2008, 11:39:13 AM (16 years ago)
Author:
sunny
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HyperTable/HowToInstall

    v9 v10  
    3939$ git pull
    4040}}}
    41 === 【如何編譯】 ===
     41=== 【如何設定編譯組態】 ===
    4242 * 在編譯Hypertable之前,需要先把編譯環境準備好,有一些編譯軟體要先安裝就序,以下條列出在Ubuntu環境下,各項編譯軟體的安裝指令:
    4343  * 此套件在安裝C語言標準程式庫所需要的編譯環境,如果沒有安裝build-essential套件時可能會出現編譯階段找不到stdio.h這個引入檔案的位置,因此建議要先確認這項套件是否有安裝。
     
    9090$ cmake -DCMAKE_INSTALL_PREFIX="~/hypertable" -DCMAKE_BUILD_TYPE="Debug" -DBoost_INCLUDE_DIR="/usr/include/boost" ~/src/hypertable
    9191}}}
    92   * 編譯過程中,顯示結果如下:
     92  * 在產生編譯程式讀取的組態檔過程中,顯示結果加註說明如下:
    9393{{{
    9494組態過程...
    9595-- Looking for required boost libraries...
     96尋找boost程式庫當中...
     97
    9698-- Boost include dir: /usr/include/boost
     99找到boost的header檔案路徑
     100
    97101-- Boost thread lib: /usr/lib/libboost_thread-mt.so
     102找到boost的多執行緒處理之動態程式庫
     103
    98104-- Boost program options lib: /usr/lib/libboost_program_options-mt.so
     105找到boost的程式參數處理之動態程式庫
     106
    99107-- Boost lib dir: /usr/lib
     108找到boost的動態程式庫存放路徑
     109
    100110-- Boost version: 1_34_1
     111顯示boost的版本資訊
     112
    101113-- Looking for doxygen...
     114尋找doxygen程式庫當中...
     115
    102116-- Looking for doxygen... - found /usr/bin/doxygen
     117找到doxygen的執行程式路徑
     118
    103119-- Looking for dot tool...
     120尋找graphviz繪圖使用的dot套件
     121
    104122-- Looking for dot tool... - found /usr/bin/dot
     123找到dot的執行程式路徑
     124
    105125-- Found Tcmalloc: /usr/lib/libtcmalloc_minimal.so
    106 -- Found Tcmalloc: /usr/lib/libtcmalloc_minimal.so
     126找到tcmalloc的動態連結程式庫路徑
     127
    107128-- Got boost 1.34.x, prepend fix directory
    108129-- Configuring done
    109130-- Generating done
    110 -- Build files have been written to: /home/sunny/build/hypertable
    111 }}}
    112 
    113   * Build the software (make)
    114 {{{
    115 sunny@hsihdp:~/build/hypertable$ make
     131-- Build files have been written to: ~/build/hypertable
     132組態完成後把編譯需要的設定檔放到指定路徑~/build/hypertable
     133}}}
     134=== 【如何編譯與安裝】 ===
     135 * 開始編譯之前,要先切換到編譯組態檔的存放路徑,根據上述組態預設路徑為~/build/hypertable,然後再執行編譯指令:
     136{{{
     137$ cd ~/build/hypertable
     138$ make
     139}}}
     140 * 編譯之後的結果顯示如下:
     141{{{
    116142[  6%] Built target HyperComm
    117143[ 10%] Built target HyperCommon
     
    154180[100%] Built target localBroker
    155181}}}
    156 === 【如何安裝】 ===
    157  * Install the software (make install)
    158 {{{
    159 sunny@hsihdp:~/build/hypertable$ make install DESTDIR="~/hypertable"
     182 * 安裝指令如下:
     183{{{
     184$ make install DESTDIR="~/hypertable"
     185}}}
     186 * 由於安裝過程較為繁雜,所以省略了其中一些步驟之後說明如下:
     187{{{
     188編譯過程省略..
    160189[  6%] Built target HyperComm
    161 [ 10%] Built target HyperCommon
    162 [ 11%] Built target commTest
    163 [ 12%] Built target commTestDatagram
    164 [ 12%] Built target commTestReverseRequest
    165 [ 13%] Built target commTestTimeout
    166 [ 13%] Built target commTestTimer
    167 [ 13%] Built target sampleClient
    168 [ 14%] Built target testServer
    169 [ 14%] Built target htConvert
    170 [ 17%] Built target Hyperspace
    171 [ 33%] Built target Hypertable
    172 [ 42%] Built target HyperDfsBroker
    173 [ 50%] Built target Hyperspace.Master
    174 [ 56%] Built target Hypertable.Master
    175 [ 57%] Built target htgc
    176 [ 73%] Built target Hypertable.RangeServer
    177 [ 76%] Built target count_stored
    178 [ 79%] Built target csdump
    179 [ 79%] Built target bmz-test
    180 [ 79%] Built target bmzip
    181 [ 80%] Built target compressor_test
    182 [ 80%] Built target generate_test_data
    183 [ 80%] Built target loadDataSourceTest
    184 [ 81%] Built target locationCacheTest
    185 [ 81%] Built target schemaTest
    186 [ 85%] Built target dfsTest
    187 [ 88%] Built target dfsclient
    188 [ 94%] Built target hyperspace
    189 [ 94%] Built target hyperspaceTest
    190 [ 95%] Built target hypertable
    191 [ 95%] Built target hypertable_test
    192 [ 96%] Built target dumplog
    193 [ 96%] Built target merge_diff
    194 [ 97%] Built target rsTest
    195 [ 98%] Built target rsclient
    196 [ 99%] Built target rsdump
    197 [ 99%] Built target serverup
     190...
     191...
    198192[100%] Built target localBroker
     193
     194連結程式過程..
    199195Linking CXX executable CMakeFiles/CMakeRelink.dir/Hyperspace.Master
    200196Linking CXX executable CMakeFiles/CMakeRelink.dir/Hypertable.Master
     
    212208Linking CXX executable CMakeFiles/CMakeRelink.dir/rsdump
    213209Linking CXX executable CMakeFiles/CMakeRelink.dir/serverup
    214 Linking CXX executable CMakeFiles/CMakeRelink.dir/localBroker
     210Linking CXX executable CmakeFiles/CMakeRelink.dir/localBroker
     211
     212安裝程式過程,部份內容省略未列出,僅列出整理排列後之內容..
    215213Install the project...
    216214-- Install configuration: "Debug"
    217 -- Installing /home/sunny/hypertable/0.9.0.5/demo/metadata-test.xml
    218 -- Installing /home/sunny/hypertable/0.9.0.5/demo/testdata.txt.bz2
    219 -- Installing /home/sunny/hypertable/0.9.0.5/demo/Test.xml
    220 -- Installing /home/sunny/hypertable/0.9.0.5/demo/Test-schema.xml
    221 -- Installing /home/sunny/hypertable/0.9.0.5/conf/hypertable.cfg
    222 -- Installing /home/sunny/hypertable/0.9.0.5/conf/METADATA.xml
    223 -- Installing /home/sunny/hypertable/0.9.0.5/java/lib/commons-logging-1.0.4.jar
    224 -- Installing /home/sunny/hypertable/0.9.0.5/java/lib/hadoop-0.14.4-core.jar
    225 -- Installing /home/sunny/hypertable/0.9.0.5/java/lib/junit-4.3.1.jar
    226 -- Installing /home/sunny/hypertable/0.9.0.5/java/lib/log4j-1.2.13.jar
    227 -- Installing /home/sunny/hypertable/0.9.0.5/java/lib/hypertable-0.9.0.jar
    228 -- Installing /home/sunny/hypertable/0.9.0.5/bin/jrun
    229 -- Installing /home/sunny/hypertable/0.9.0.5/bin/start-all-servers.sh
    230 -- Installing /home/sunny/hypertable/0.9.0.5/bin/start-master.sh
    231 -- Installing /home/sunny/hypertable/0.9.0.5/bin/start-range-server.sh
    232 -- Installing /home/sunny/hypertable/0.9.0.5/bin/kill-servers.sh
    233 -- Installing /home/sunny/hypertable/0.9.0.5/bin/slaves.sh
    234 -- Installing /home/sunny/hypertable/0.9.0.5/test/create-test-tables.hql
    235 -- Installing /home/sunny/hypertable/0.9.0.5/examples/apache_log
    236 -- Installing /home/sunny/hypertable/0.9.0.5/examples/apache_log/apache_log_query.cc
    237 -- Installing /home/sunny/hypertable/0.9.0.5/examples/apache_log/README.txt
    238 -- Installing /home/sunny/hypertable/0.9.0.5/examples/apache_log/apache_log_load.cc
    239 -- Installing /home/sunny/hypertable/0.9.0.5/examples/apache_log/access.log.gz
    240 -- Installing /home/sunny/hypertable/0.9.0.5/examples/apache_log/WebServerLog-create-table.hql
    241 -- Installing /home/sunny/hypertable/0.9.0.5/examples/apache_log/Makefile
    242 -- Installing /home/sunny/hypertable/0.9.0.5/examples/hql_tutorial
    243 -- Installing /home/sunny/hypertable/0.9.0.5/examples/hql_tutorial/Pages-create.hql
    244 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/ReactorRunner.h
    245 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/IOHandlerData.h
    246 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/ConnectionManager.h
    247 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/ApplicationHandler.h
    248 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/CommBuf.h
    249 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/DispatchHandlerSynchronizer.h
    250 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/DispatchHandler.h
    251 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/ApplicationQueue.h
    252 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/Reactor.h
    253 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/Header.h
    254 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/HandlerMap.h
    255 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/IOHandlerAccept.h
    256 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/IOHandler.h
    257 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/Protocol.h
    258 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/Serialization.h
    259 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/Timer.h
    260 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/PollTimeout.h
    261 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/ResponseCallback.h
    262 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/ReactorFactory.h
    263 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/Comm.h
    264 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/IOHandlerDatagram.h
    265 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/HeaderBuilder.h
    266 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/RequestCache.h
    267 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/Event.h
    268 -- Installing /home/sunny/hypertable/0.9.0.5/include/AsyncComm/ConnectionHandlerFactory.h
    269 -- Installing /home/sunny/hypertable/0.9.0.5/lib/libHyperComm.a
    270 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/SockAddrMap.h
    271 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/ReferenceCount.h
    272 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/FileUtils.h
    273 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Exception.h
    274 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Logger.h
    275 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/CharStrHashMap.h
    276 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/CharStrHashTraits.h
    277 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/ByteString.h
    278 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/InteractiveCommand.h
    279 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/InetAddr.h
    280 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/ServerLauncher.h
    281 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/System.h
    282 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/NumberStream.h
    283 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Init.h
    284 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/atomic.h
    285 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/CharArena.h
    286 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/DynamicBuffer.h
    287 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/StringExt.h
    288 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Thread.h
    289 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/HashMap.h
    290 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Checksum.h
    291 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/ByteOrder.h
    292 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Properties.h
    293 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Runnable.h
    294 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Error.h
    295 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/TestHarness.h
    296 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Sweetener.h
    297 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/md5.h
    298 -- Installing /home/sunny/hypertable/0.9.0.5/include/Common/Usage.h
    299 -- Installing /home/sunny/hypertable/0.9.0.5/lib/libHyperCommon.a
    300 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ClientConnectionHandler.h
    301 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerAttrDel.h
    302 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/SessionData.h
    303 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/Session.h
    304 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerExists.h
    305 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerRelease.h
    306 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ResponseCallbackOpen.h
    307 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerReaddir.h
    308 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ResponseCallbackLock.h
    309 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerLock.h
    310 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerDelete.h
    311 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/DirEntry.h
    312 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerMkdir.h
    313 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerAttrGet.h
    314 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/HandleData.h
    315 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerAttrSet.h
    316 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ClientKeepaliveHandler.h
    317 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ServerKeepaliveHandler.h
    318 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ServerConnectionHandler.h
    319 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerOpen.h
    320 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerStatus.h
    321 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/Protocol.h
    322 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/NodeData.h
    323 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/Master.h
    324 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ResponseCallbackAttrGet.h
    325 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ClientHandleState.h
    326 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/LockSequencer.h
    327 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ResponseCallbackExists.h
    328 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/Notification.h
    329 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/HandleCallback.h
    330 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/ResponseCallbackReaddir.h
    331 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/RequestHandlerClose.h
    332 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hyperspace/Event.h
    333 -- Installing /home/sunny/hypertable/0.9.0.5/bin/Hyperspace.Master
    334 -- Installing /home/sunny/hypertable/0.9.0.5/lib/libHyperspace.a
    335 -- Installing /home/sunny/hypertable/0.9.0.5/bin/Hypertable.Master
    336 -- Installing /home/sunny/hypertable/0.9.0.5/bin/htgc
    337 -- Installing /home/sunny/hypertable/0.9.0.5/bin/Hypertable.RangeServer
    338 -- Installing /home/sunny/hypertable/0.9.0.5/bin/csdump
    339 -- Installing /home/sunny/hypertable/0.9.0.5/bin/count_stored
    340 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Client.h
    341 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionHeader.h
    342 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/HqlCommandInterpreter.h
    343 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/CommandShell.h
    344 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/TableMutator.h
    345 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/RangeLocator.h
    346 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionCodecBmz.h
    347 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/CommitLogReader.h
    348 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/ApacheLogParser.h
    349 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/TestData.h
    350 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/KeySpec.h
    351 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/CommandInterpreter.h
    352 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/TableScanner.h
    353 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/TableMutatorDispatchHandler.h
    354 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionCodecLzo.h
    355 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/CompressorFactory.h
    356 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionHeaderCommitLog.h
    357 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Defaults.h
    358 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionCodecNone.h
    359 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/LoadDataSource.h
    360 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Cell.h
    361 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Filesystem.h
    362 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/LocationCache.h
    363 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Key.h
    364 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/RangeServerProtocol.h
    365 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/TestSource.h
    366 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/HqlParser.h
    367 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/MasterFileHandler.h
    368 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionCodecQuicklz.h
    369 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/RangeLocationInfo.h
    370 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionCodecZlib.h
    371 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/ScanBlock.h
    372 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Schema.h
    373 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/TableMutatorScatterBuffer.h
    374 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/RangeServerClient.h
    375 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/MasterProtocol.h
    376 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/HqlHelpText.h
    377 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/CommitLog.h
    378 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/MasterClient.h
    379 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Types.h
    380 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/DataSource.h
    381 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/BlockCompressionCodec.h
    382 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/fletcher16.h
    383 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/RootFileHandler.h
    384 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/Table.h
    385 -- Installing /home/sunny/hypertable/0.9.0.5/include/Hypertable/Lib/EventHandlerMasterChange.h
    386 -- Installing /home/sunny/hypertable/0.9.0.5/bin/generate_test_data
    387 -- Installing /home/sunny/hypertable/0.9.0.5/lib/libHypertable.a
    388 -- Installing /home/sunny/hypertable/0.9.0.5/bin/dfsclient
    389 -- Installing /home/sunny/hypertable/0.9.0.5/bin/hyperspace
    390 -- Installing /home/sunny/hypertable/0.9.0.5/bin/hypertable
    391 -- Installing /home/sunny/hypertable/0.9.0.5/bin/dumplog
    392 -- Installing /home/sunny/hypertable/0.9.0.5/bin/merge_diff
    393 -- Installing /home/sunny/hypertable/0.9.0.5/bin/rsclient
    394 -- Installing /home/sunny/hypertable/0.9.0.5/bin/rsdump
    395 -- Installing /home/sunny/hypertable/0.9.0.5/bin/serverup
    396 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/Client.h
    397 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerPread.h
    398 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/Broker.h
    399 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ResponseCallbackOpen.h
    400 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerReaddir.h
    401 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerFlush.h
    402 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/OpenFileMap.h
    403 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerOpen.h
    404 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerMkdirs.h
    405 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerStatus.h
    406 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerLength.h
    407 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ResponseCallbackRead.h
    408 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/Protocol.h
    409 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerRemove.h
    410 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerAppend.h
    411 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ResponseCallbackAppend.h
    412 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerSeek.h
    413 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ResponseCallbackLength.h
    414 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerCreate.h
    415 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerRead.h
    416 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ClientBufferedReaderHandler.h
    417 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerRmdir.h
    418 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ResponseCallbackReaddir.h
    419 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/RequestHandlerClose.h
    420 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ConnectionHandler.h
    421 -- Installing /home/sunny/hypertable/0.9.0.5/include/DfsBroker/Lib/ConnectionHandlerFactory.h
    422 -- Installing /home/sunny/hypertable/0.9.0.5/lib/libHyperDfsBroker.a
    423 -- Installing /home/sunny/hypertable/0.9.0.5/bin/localBroker
    424 }}}
    425 === 【運行迴歸測試程式】 ===
    426  * Enable the extended attributes on the partition that holds the installation
    427   * NOTE. mac os, hadoop(HDFS), kosmos(KFS) 不需要再修改 extended attributes
    428 {{{
    429 $ sudo vim /etc/fstab
    430 /dev/sda1 ext3 defaults,errors=remount-ro 0 1 => /dev/sda1 ext3 defaults,user_xattr,errors=remount-ro 0 1
     215
     216安裝設定檔..
     217-- Installing ~/hypertable/0.9.0.5/conf/hypertable.cfg
     218-- Installing ~/hypertable/0.9.0.5/conf/METADATA.xml
     219
     220安裝引用檔案及應用範例程式及測試資料庫內容(省略)..
     221
     222安裝Java及C/C++程式庫..
     223-- Installing ~/hypertable/0.9.0.5/java/lib/commons-logging-1.0.4.jar
     224-- Installing ~/hypertable/0.9.0.5/java/lib/hadoop-0.14.4-core.jar
     225-- Installing ~/hypertable/0.9.0.5/java/lib/junit-4.3.1.jar
     226-- Installing ~/hypertable/0.9.0.5/java/lib/log4j-1.2.13.jar
     227-- Installing ~/hypertable/0.9.0.5/java/lib/hypertable-0.9.0.jar
     228-- Installing ~/hypertable/0.9.0.5/lib/libHyperComm.a
     229-- Installing ~/hypertable/0.9.0.5/lib/libHyperCommon.a
     230-- Installing ~/hypertable/0.9.0.5/lib/libHyperspace.a
     231-- Installing ~/hypertable/0.9.0.5/lib/libHypertable.a
     232-- Installing ~/hypertable/0.9.0.5/lib/libHyperDfsBroker.a
     233
     234安裝可執行程式..
     235-- Installing ~/hypertable/0.9.0.5/bin/jrun
     236-- Installing ~/hypertable/0.9.0.5/bin/start-all-servers.sh
     237-- Installing ~/hypertable/0.9.0.5/bin/start-master.sh
     238-- Installing ~/hypertable/0.9.0.5/bin/start-range-server.sh
     239-- Installing ~/hypertable/0.9.0.5/bin/kill-servers.sh
     240-- Installing ~/hypertable/0.9.0.5/bin/slaves.sh
     241-- Installing ~/hypertable/0.9.0.5/bin/Hyperspace.Master
     242-- Installing ~/hypertable/0.9.0.5/bin/Hypertable.Master
     243-- Installing ~/hypertable/0.9.0.5/bin/htgc
     244-- Installing ~/hypertable/0.9.0.5/bin/Hypertable.RangeServer
     245-- Installing ~/hypertable/0.9.0.5/bin/csdump
     246-- Installing ~/hypertable/0.9.0.5/bin/count_stored
     247-- Installing ~/hypertable/0.9.0.5/bin/generate_test_data
     248-- Installing ~/hypertable/0.9.0.5/bin/dfsclient
     249-- Installing ~/hypertable/0.9.0.5/bin/hyperspace
     250-- Installing ~/hypertable/0.9.0.5/bin/hypertable
     251-- Installing ~/hypertable/0.9.0.5/bin/dumplog
     252-- Installing ~/hypertable/0.9.0.5/bin/merge_diff
     253-- Installing ~/hypertable/0.9.0.5/bin/rsclient
     254-- Installing ~/hypertable/0.9.0.5/bin/rsdump
     255-- Installing ~/hypertable/0.9.0.5/bin/serverup
     256-- Installing ~/hypertable/0.9.0.5/bin/localBroker
     257}}}
     258
     259=== 【由原始程式碼建立程式說明文件】 ===
     260 * 要由原始程式碼產生文件資料,需要再額外安裝2個套件,分別為Doxygen及Graphviz,第1個套件是產生類別,屬性及函式功能說明文件之文件產生器程式庫,可協助程式設計者將特定格式之註解裡的說明文件導出,產生說明文件,目前Doxygen支援的程式語言包含C++/C/Java/Object-C/Python/IDL/Fortran/VHDL/PHP/C#等程式語言;另一個套件Graphviz可以將指定格式的結構化資訊,轉換為抽象圖形或網路圖形,在Doxygen套件裡的圖形處理,是引用這個套件來產生類別階層圖。[[BR]]產生說明文件的方式,只要將目錄切換到組態設定檔路徑,然後執行Make指令後可以自動產生文件:
     261{{{
     262$ cd ~/build/hypertable
     263$ make doc
     264}}}
     265 * 文件產生後放置路徑為~/build/hypertable/doc ,文件首頁放置路徑為:
     266{{{
     267$ ~/build/hypertable/doc/html/index.html
     268}}}
     269
     270=== 【執行迴歸測試】 ===
     271 * 執行程式部署完成之後,還需要再進一步設定Hypertable掛載的磁碟分割區,開啟檔案的延伸屬性功能,然後重新啟動Hypertable之後才算完成安裝步驟。當Hypertable使用的磁碟磁區是本機硬碟空間,並且作業系統為Windows/Linux/Unix,才會需要特別再修改/etc/fstab設定檔,增加user_xattr屬性;若是作業系統為Mac OS或是使用Hadoop File System(HDFS)/Kosmos File System(KFS),則會內建有延伸屬性功能,不用再去修改檔案系統。
     272  * 修改/etc/fstab前的內容範本:
     273{{{
     274$ /dev/sda1 ext3 defaults,errors=remount-ro 0 1
     275}}}
     276  * 修改/etc/fstab後的內容範本:
     277{{{
     278$ /dev/sda1 ext3 defaults,user_xattr,errors=remount-ro 0 1
     279}}}
     280  * 不用關機並重新掛載磁碟空間的方法:
     281{{{
    431282$ sudo mount -o remount /home
    432283}}}
    433  * Restart servers and re-create test tables
    434   * ./start-all-servers.sh: Usage: start-test-servers.sh [local|hadoop|kosmos]
    435 {{{
    436 sunny@hsihdp:~/hypertable/0.9.0.5/bin$ ./kill-servers.sh
    437 Unable to connect to DfsBroker.
    438 ./kill-servers.sh: line 59: kill: (6213) - 沒有此一程序
    439 ./kill-servers.sh: line 59: kill: (6247) - 沒有此一程序
    440 ./kill-servers.sh: line 59: kill: (6282) - 沒有此一程序
    441 sunny@hsihdp:~/hypertable/0.9.0.5/bin$ ./start-all-servers.sh local
    442 Successfully started DFSBroker (local)
    443 Successfully started Hyperspace
    444 Successfully started Hypertable.Master
    445 Successfully started Hypertable.RangeServer
    446 }}}
    447  * Run the regression tests
    448 {{{
    449 sunny@hsihdp:~/build/hypertable$ make test
     284  * 重新啟動Hypertable方式是先關閉所有的伺服器,然後再開啟,指令如下:
     285{{{
     286切換到執行檔案路徑
     287$ cd ~/hypertable/0.9.0.5/bin
     288
     289關閉Server
     290$ ./kill-servers.sh
     291
     292使用本機端磁碟空間的開啟方式
     293$ ./start-all-servers.sh local
     294}}}
     295  * 啟動所有伺服器的指令格式如下:
     296{{{
     297Usage: start-test-servers.sh [local|hadoop|kosmos]
     298}}}
     299  * 運行迴歸測試之指令及結果如下:
     300{{{
     301$ make test
    450302Running tests...
    451303Start processing tests
     
    471323100% tests passed, 0 tests failed out of 17
    472324}}}
     325
     326=== 【組態設定說明】 ===
     327 * 系統組態預設的存放位置為安裝路徑的conf目錄底下:
     328{{{
     329~/hypertable/0.9.0.5/conf/hypertable.cfg
     330}}}
     331 * 這個組態檔可提供使用者設定3種檔案系統的橋接程式 (DfsBroker)之位址與通訊埠等等資訊,以及Hyperspace與Hypertable的Master伺服器資訊,和Hypertable的Range Server資訊,換言之,這些可設定的伺服器位址可以不限定在同一台機器上,它們可以各別存在於不同台機器上運作,除了Hyperspace與Hypertable的Master伺服器同一時間只允許互動運作一個執行個體之外,Range Server與DfsBroker是可以多個執行個體同時互動執行的,所以啟動Hypertable服務的機器,都會先確認過DfsBroker是否運作正常,Hyperspace與Hypertable的Master是否啟動成功,然後再啟動本機的Range Server;單機版的Hypertable會同時啟動Hyperspace+Master+Range Server+Local DfsBroker在同一台機器上,多機版的Hypertable則可以把這4種服務分散在不同台機器上。
     332 * 預設的設定檔內容如下:
     333{{{
     334#
     335# hypertable.cfg
     336#
     337
     338# Global properties
     339
     340# Hypertable的等待連線時間
     341Hypertable.Request.Timeout=180
     342
     343# HDFS Broker服務的相關設定
     344HdfsBroker.Port=38030
     345HdfsBroker.fs.default.name=hdfs://localhost:9000
     346HdfsBroker.Workers=20
     347
     348# Local DFS Broker 服務的相關設定
     349DfsBroker.Local.Port=38030
     350DfsBroker.Local.Root=fs/local
     351
     352# DFS Broker 給用戶端的相關設定
     353DfsBroker.Host=localhost
     354DfsBroker.Port=38030
     355
     356# Hyperspace 的相關設定
     357Hyperspace.Master.Host=localhost
     358Hyperspace.Master.Port=38040
     359Hyperspace.Master.Dir=hyperspace
     360Hyperspace.Master.Workers=20
     361
     362# Hypertable.Master 的相關設定
     363Hypertable.Master.Host=localhost
     364Hypertable.Master.Port=38050
     365Hypertable.Master.Workers=20
     366
     367
     368# Hypertable.RangeServer 的相關設定
     369Hypertable.RangeServer.Port=38060
     370}}}
     371=== 【參考來源】 ===
     372[1] 系統概觀, http://code.google.com/p/hypertable/wiki/HypertableOverview [[BR]]
     373[2] 系統架構說明, http://code.google.com/p/hypertable/wiki/ArchitecturalOverview [[BR]]
     374[3] 運作方式說明, http://code.google.com/p/hypertable/wiki/HowHypertableWorks [[BR]]
     375[4] 原始程式碼取得說明, http://code.google.com/p/hypertable/wiki/SourceCode [[BR]]
     376[5] 安裝說明, http://code.google.com/p/hypertable/wiki/HowToInstall [[BR]]
     377[6] 結構化數據的分佈存儲系統, http://labs.google.com/papers/bigtable-osdi06.pdf Bigtable. [[BR]]
     378[7] Hypertable Query Language教學手冊, http://code.google.com/p/hypertable/wiki/HQLTutorial [[BR]]
     379[8] 組態設定手冊, http://code.google.com/p/hypertable/wiki/ConfigPropetiesReference [[BR]]
     380[9] 系統測試步驟說明, http://code.google.com/p/hypertable/wiki/ReleaseSystemTests [[BR]]
     381[10] 效能測試, http://code.google.com/p/hypertable/wiki/PerformanceTestAOLQueryLog [[BR]]
     382[11] 已知的弱點說明, http://code.google.com/p/hypertable/wiki/KnownDeficiencies