Google Wiki
- Get Source Code
- Build Source Code & Generate Documentation Tree
【安装】
- 安装过程运行于Ubuntu操作系统,以下所列说明指令适用于Ubuntu的安装方式,若使用者要安装到其他作业平台环境,可以参考下列安装项目并以通用该平台的安装指令来取代之,接下来会说明编译过程中的相关档案存放位置,以及如何组态并编译原始程式码,最后再说明安装方式及如何执行迴归测试。
- Hypertable原始程式码的存放路径放置于:
~/src/hypertable
- 编译过程中所产生的连结物件档存放于:
~/build/hypertable
- 编译完成的输出执行档存放路径:
~/hypertable
【下载原始程式码】
- 要取得Hypertable原始码需要先安装 git这套由google所提出的版本控制软体,安装指令如下:
$ sudo apt-get install git-core
- 然后执行以下指令设定git所通行的使用者资讯,这一份使用者资讯原则上是由git这套版本控制软体储存,以及留作记录程式码被哪些使用者下载的一份参考来源,其设定使用者资讯方式如下:
$ git config –global user.name “<your name>”
$ git config –global user.email “<your email>”
- 使用git下载Hypertable原始码之指令:
$ git clone git://scm.hypertable.org/pub/repos/hypertable.git
- 更新已下载之Hypertable原始码方式:
$ cd ~/hypertable
$ git pull
【如何设定编译组态】
- 在编译Hypertable之前,需要先把编译环境准备好,有一些编译软体要先安装就序,以下条列出在Ubuntu环境下,各项编译软体的安装指令:
- 此套件在安装C语言标准程式库所需要的编译环境,如果没有安装build-essential套件时可能会出现编译阶段找不到stdio.h这个引入档案的位置,因此建议要先确认这项套件是否有安装。
$ sudo apt-get install build-essential
- 在Hypertable会使用到一些资料压缩与解压缩功能,因此需要安装 z library。
$ sudo apt-get install zlib1g-dev
- 安装可跨平台的makefiles产生工具CMake,因此可以选择编译器及编译环境来产生Hypertable的执行档;根据官网公佈资讯,目前测试过可执行的平台仍以Linux/Unix为主,Windows平台仍在测试当中。
$ sudo apt-get install cmake
- 安装Boost 程式库1.34.1以上版本,这套程式库为强化C++ Standard Library而设计,内含功能像是记忆体的Buffer处理,数学,Hash,MPI,图形等等函式库。
$ sudo apt-get install libboost.*-dev libboost-doc libboost.*1.34.1
- 安装log4cpp套件,此套件参考log4j而设计,故名思议是针对c++而设计的记录日志档机制,在Hypertable里的记录档案便是由此套记录机制在处理Log功能。
$ sudo apt-get install liblog4cpp*
- 安装expat套件,这个套件是一个XML处理程式库,在Hypertable举凡对于XML的存取都是引用这个套件来处理。
$ sudo apt-get install expat libexpat1 libexpat1-dev
- 安装libattr套件,它是处理档案的延伸属性的程式库。
$ sudo apt-get install libattr1 libattr1-dev
- 安装readline套件,这份套件内含读取terminal上的command line程式库,在Hypertable里面像是登入hql shell模式,或其他会需要读取command line的情况会使用到这一类的功能。
$ sudo apt-get install libreadline5-dev
- 安装ncurses,透过它可以撰写terminal底下的文字模式介面程式,在Hypertable里面像是登入hql shell模式,或需要模拟文字模式下的使用者介面,会使用到这一类的功能。
$ sudo apt-get install libncurses5 libncurses5-dev
- 安装tcmalloc(Thread-Caching Malloc)套件,它是一个记忆体配置套件,可处理多执行绪情况下的记忆体回收之程式库。
$ sudo apt-get install libgoogle-perftools0 libgoogle-perftools-dev
- 开始编译程式前还需要建立安装目录,以及编译后的物件档案存放目录
$ mkdir ~/src/hypertable
$ mkdir -p ~/build/hypertable
- 执行CMake来产生编译组态文件(makefiles),并指定编译后的执行档模式为侦错模式(Debug)或发行模式(Release),以及安装路径,如果组态过程中出现找不到预设路径下的Boost程式库时,可以再指定其路径,指令范例如下列所示,其中 -D代表定义某个变数的前置符号。
$ 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
【如何编译与安装】
- 开始编译之前,要先切换到编译组态档的存放路径,根据上述组态预设路径为~/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
【由原始程式码建立程式说明文件】¶
- 要由原始程式码产生文件资料,需要再额外安装2个套件,分别为Doxygen及Graphviz,第1个套件是产生类别,属性及函式功能说明文件之文件产生器程式库,可协助程式设计者将特定格式之註解里的说明文件导出,产生说明文件,目前Doxygen支援的程式语言包含C++/C/Java/Object-C/Python/IDL/Fortran/VHDL/PHP/C#等程式语言;另一个套件Graphviz可以将指定格式的结构化资讯,转换为抽象图形或网路图形,在Doxygen套件里的图形处理,是引用这个套件来产生类别阶层图。
产生说明文件的方式,只要将目录切换到组态设定档路径,然后执行Make指令后可以自动产生文件: $ cd ~/build/hypertable
$ make doc
- 文件产生后放置路径为~/build/hypertable/doc ,文件首页放置路径为:
$ ~/build/hypertable/doc/html/index.html
【执行迴归测试】
- 执行程式部署完成之后,还需要再进一步设定Hypertable挂载的磁碟分割区,开启档案的延伸属性功能,然后重新启动Hypertable之后才算完成安装步骤。当Hypertable使用的磁碟磁区是本机硬碟空间,并且作业系统为Windows/Linux/Unix,才会需要特别再修改/etc/fstab设定档,增加user_xattr属性;若是作业系统为Mac OS或是使用Hadoop File System(HDFS)/Kosmos File System(KFS),则会内建有延伸属性功能,不用再去修改档案系统。
- 修改/etc/fstab前的内容范本:
$ /dev/sda1 ext3 defaults,errors=remount-ro 0 1
- 修改/etc/fstab后的内容范本:
$ /dev/sda1 ext3 defaults,user_xattr,errors=remount-ro 0 1
- 不用关机并重新挂载磁碟空间的方法:
$ sudo mount -o remount /home
- 重新启动Hypertable方式是先关闭所有的伺服器,然后再开启,指令如下:
切换到执行档案路径
$ 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
【组态设定说明】
- 系统组态预设的存放位置为安装路径的conf目录底下:
~/hypertable/0.9.0.5/conf/hypertable.cfg
- 这个组态档可提供使用者设定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种服务分散在不同台机器上。
- 预设的设定档内容如下:
#
# 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
~/src/hypertable
~/build/hypertable
~/hypertable
- 要取得Hypertable原始码需要先安装 git这套由google所提出的版本控制软体,安装指令如下:
$ sudo apt-get install git-core
- 然后执行以下指令设定git所通行的使用者资讯,这一份使用者资讯原则上是由git这套版本控制软体储存,以及留作记录程式码被哪些使用者下载的一份参考来源,其设定使用者资讯方式如下:
$ git config –global user.name “<your name>”
$ git config –global user.email “<your email>”
- 使用git下载Hypertable原始码之指令:
$ git clone git://scm.hypertable.org/pub/repos/hypertable.git
- 更新已下载之Hypertable原始码方式:
$ cd ~/hypertable
$ git pull
【如何设定编译组态】
- 在编译Hypertable之前,需要先把编译环境准备好,有一些编译软体要先安装就序,以下条列出在Ubuntu环境下,各项编译软体的安装指令:
- 此套件在安装C语言标准程式库所需要的编译环境,如果没有安装build-essential套件时可能会出现编译阶段找不到stdio.h这个引入档案的位置,因此建议要先确认这项套件是否有安装。
$ sudo apt-get install build-essential
- 在Hypertable会使用到一些资料压缩与解压缩功能,因此需要安装 z library。
$ sudo apt-get install zlib1g-dev
- 安装可跨平台的makefiles产生工具CMake,因此可以选择编译器及编译环境来产生Hypertable的执行档;根据官网公佈资讯,目前测试过可执行的平台仍以Linux/Unix为主,Windows平台仍在测试当中。
$ sudo apt-get install cmake
- 安装Boost 程式库1.34.1以上版本,这套程式库为强化C++ Standard Library而设计,内含功能像是记忆体的Buffer处理,数学,Hash,MPI,图形等等函式库。
$ sudo apt-get install libboost.*-dev libboost-doc libboost.*1.34.1
- 安装log4cpp套件,此套件参考log4j而设计,故名思议是针对c++而设计的记录日志档机制,在Hypertable里的记录档案便是由此套记录机制在处理Log功能。
$ sudo apt-get install liblog4cpp*
- 安装expat套件,这个套件是一个XML处理程式库,在Hypertable举凡对于XML的存取都是引用这个套件来处理。
$ sudo apt-get install expat libexpat1 libexpat1-dev
- 安装libattr套件,它是处理档案的延伸属性的程式库。
$ sudo apt-get install libattr1 libattr1-dev
- 安装readline套件,这份套件内含读取terminal上的command line程式库,在Hypertable里面像是登入hql shell模式,或其他会需要读取command line的情况会使用到这一类的功能。
$ sudo apt-get install libreadline5-dev
- 安装ncurses,透过它可以撰写terminal底下的文字模式介面程式,在Hypertable里面像是登入hql shell模式,或需要模拟文字模式下的使用者介面,会使用到这一类的功能。
$ sudo apt-get install libncurses5 libncurses5-dev
- 安装tcmalloc(Thread-Caching Malloc)套件,它是一个记忆体配置套件,可处理多执行绪情况下的记忆体回收之程式库。
$ sudo apt-get install libgoogle-perftools0 libgoogle-perftools-dev
- 开始编译程式前还需要建立安装目录,以及编译后的物件档案存放目录
$ mkdir ~/src/hypertable
$ mkdir -p ~/build/hypertable
- 执行CMake来产生编译组态文件(makefiles),并指定编译后的执行档模式为侦错模式(Debug)或发行模式(Release),以及安装路径,如果组态过程中出现找不到预设路径下的Boost程式库时,可以再指定其路径,指令范例如下列所示,其中 -D代表定义某个变数的前置符号。
$ 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
【如何编译与安装】
- 开始编译之前,要先切换到编译组态档的存放路径,根据上述组态预设路径为~/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
【由原始程式码建立程式说明文件】¶
- 要由原始程式码产生文件资料,需要再额外安装2个套件,分别为Doxygen及Graphviz,第1个套件是产生类别,属性及函式功能说明文件之文件产生器程式库,可协助程式设计者将特定格式之註解里的说明文件导出,产生说明文件,目前Doxygen支援的程式语言包含C++/C/Java/Object-C/Python/IDL/Fortran/VHDL/PHP/C#等程式语言;另一个套件Graphviz可以将指定格式的结构化资讯,转换为抽象图形或网路图形,在Doxygen套件里的图形处理,是引用这个套件来产生类别阶层图。
产生说明文件的方式,只要将目录切换到组态设定档路径,然后执行Make指令后可以自动产生文件: $ cd ~/build/hypertable
$ make doc
- 文件产生后放置路径为~/build/hypertable/doc ,文件首页放置路径为:
$ ~/build/hypertable/doc/html/index.html
【执行迴归测试】
- 执行程式部署完成之后,还需要再进一步设定Hypertable挂载的磁碟分割区,开启档案的延伸属性功能,然后重新启动Hypertable之后才算完成安装步骤。当Hypertable使用的磁碟磁区是本机硬碟空间,并且作业系统为Windows/Linux/Unix,才会需要特别再修改/etc/fstab设定档,增加user_xattr属性;若是作业系统为Mac OS或是使用Hadoop File System(HDFS)/Kosmos File System(KFS),则会内建有延伸属性功能,不用再去修改档案系统。
- 修改/etc/fstab前的内容范本:
$ /dev/sda1 ext3 defaults,errors=remount-ro 0 1
- 修改/etc/fstab后的内容范本:
$ /dev/sda1 ext3 defaults,user_xattr,errors=remount-ro 0 1
- 不用关机并重新挂载磁碟空间的方法:
$ sudo mount -o remount /home
- 重新启动Hypertable方式是先关闭所有的伺服器,然后再开启,指令如下:
切换到执行档案路径
$ 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
【组态设定说明】
- 系统组态预设的存放位置为安装路径的conf目录底下:
~/hypertable/0.9.0.5/conf/hypertable.cfg
- 这个组态档可提供使用者设定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种服务分散在不同台机器上。
- 预设的设定档内容如下:
#
# 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
- 此套件在安装C语言标准程式库所需要的编译环境,如果没有安装build-essential套件时可能会出现编译阶段找不到stdio.h这个引入档案的位置,因此建议要先确认这项套件是否有安装。
$ sudo apt-get install build-essential
- 在Hypertable会使用到一些资料压缩与解压缩功能,因此需要安装 z library。
$ sudo apt-get install zlib1g-dev
- 安装可跨平台的makefiles产生工具CMake,因此可以选择编译器及编译环境来产生Hypertable的执行档;根据官网公佈资讯,目前测试过可执行的平台仍以Linux/Unix为主,Windows平台仍在测试当中。
$ sudo apt-get install cmake
- 安装Boost 程式库1.34.1以上版本,这套程式库为强化C++ Standard Library而设计,内含功能像是记忆体的Buffer处理,数学,Hash,MPI,图形等等函式库。
$ sudo apt-get install libboost.*-dev libboost-doc libboost.*1.34.1
- 安装log4cpp套件,此套件参考log4j而设计,故名思议是针对c++而设计的记录日志档机制,在Hypertable里的记录档案便是由此套记录机制在处理Log功能。
$ sudo apt-get install liblog4cpp*
- 安装expat套件,这个套件是一个XML处理程式库,在Hypertable举凡对于XML的存取都是引用这个套件来处理。
$ sudo apt-get install expat libexpat1 libexpat1-dev
- 安装libattr套件,它是处理档案的延伸属性的程式库。
$ sudo apt-get install libattr1 libattr1-dev
- 安装readline套件,这份套件内含读取terminal上的command line程式库,在Hypertable里面像是登入hql shell模式,或其他会需要读取command line的情况会使用到这一类的功能。
$ sudo apt-get install libreadline5-dev
- 安装ncurses,透过它可以撰写terminal底下的文字模式介面程式,在Hypertable里面像是登入hql shell模式,或需要模拟文字模式下的使用者介面,会使用到这一类的功能。
$ sudo apt-get install libncurses5 libncurses5-dev
- 安装tcmalloc(Thread-Caching Malloc)套件,它是一个记忆体配置套件,可处理多执行绪情况下的记忆体回收之程式库。
$ sudo apt-get install libgoogle-perftools0 libgoogle-perftools-dev
- 开始编译程式前还需要建立安装目录,以及编译后的物件档案存放目录
$ mkdir ~/src/hypertable
$ mkdir -p ~/build/hypertable
- 执行CMake来产生编译组态文件(makefiles),并指定编译后的执行档模式为侦错模式(Debug)或发行模式(Release),以及安装路径,如果组态过程中出现找不到预设路径下的Boost程式库时,可以再指定其路径,指令范例如下列所示,其中 -D代表定义某个变数的前置符号。
$ 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
- 开始编译之前,要先切换到编译组态档的存放路径,根据上述组态预设路径为~/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
【由原始程式码建立程式说明文件】¶
- 要由原始程式码产生文件资料,需要再额外安装2个套件,分别为Doxygen及Graphviz,第1个套件是产生类别,属性及函式功能说明文件之文件产生器程式库,可协助程式设计者将特定格式之註解里的说明文件导出,产生说明文件,目前Doxygen支援的程式语言包含C++/C/Java/Object-C/Python/IDL/Fortran/VHDL/PHP/C#等程式语言;另一个套件Graphviz可以将指定格式的结构化资讯,转换为抽象图形或网路图形,在Doxygen套件里的图形处理,是引用这个套件来产生类别阶层图。
产生说明文件的方式,只要将目录切换到组态设定档路径,然后执行Make指令后可以自动产生文件: $ cd ~/build/hypertable
$ make doc
- 文件产生后放置路径为~/build/hypertable/doc ,文件首页放置路径为:
$ ~/build/hypertable/doc/html/index.html
【执行迴归测试】
- 执行程式部署完成之后,还需要再进一步设定Hypertable挂载的磁碟分割区,开启档案的延伸属性功能,然后重新启动Hypertable之后才算完成安装步骤。当Hypertable使用的磁碟磁区是本机硬碟空间,并且作业系统为Windows/Linux/Unix,才会需要特别再修改/etc/fstab设定档,增加user_xattr属性;若是作业系统为Mac OS或是使用Hadoop File System(HDFS)/Kosmos File System(KFS),则会内建有延伸属性功能,不用再去修改档案系统。
- 修改/etc/fstab前的内容范本:
$ /dev/sda1 ext3 defaults,errors=remount-ro 0 1
- 修改/etc/fstab后的内容范本:
$ /dev/sda1 ext3 defaults,user_xattr,errors=remount-ro 0 1
- 不用关机并重新挂载磁碟空间的方法:
$ sudo mount -o remount /home
- 重新启动Hypertable方式是先关闭所有的伺服器,然后再开启,指令如下:
切换到执行档案路径
$ 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
【组态设定说明】
- 系统组态预设的存放位置为安装路径的conf目录底下:
~/hypertable/0.9.0.5/conf/hypertable.cfg
- 这个组态档可提供使用者设定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种服务分散在不同台机器上。
- 预设的设定档内容如下:
#
# 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
产生说明文件的方式,只要将目录切换到组态设定档路径,然后执行Make指令后可以自动产生文件:
$ cd ~/build/hypertable
$ make doc
$ ~/build/hypertable/doc/html/index.html
- 执行程式部署完成之后,还需要再进一步设定Hypertable挂载的磁碟分割区,开启档案的延伸属性功能,然后重新启动Hypertable之后才算完成安装步骤。当Hypertable使用的磁碟磁区是本机硬碟空间,并且作业系统为Windows/Linux/Unix,才会需要特别再修改/etc/fstab设定档,增加user_xattr属性;若是作业系统为Mac OS或是使用Hadoop File System(HDFS)/Kosmos File System(KFS),则会内建有延伸属性功能,不用再去修改档案系统。
- 修改/etc/fstab前的内容范本:
$ /dev/sda1 ext3 defaults,errors=remount-ro 0 1
- 修改/etc/fstab后的内容范本:
$ /dev/sda1 ext3 defaults,user_xattr,errors=remount-ro 0 1
- 不用关机并重新挂载磁碟空间的方法:
$ sudo mount -o remount /home
- 重新启动Hypertable方式是先关闭所有的伺服器,然后再开启,指令如下:
切换到执行档案路径
$ 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 Passed100% tests passed, 0 tests failed out of 17
- 修改/etc/fstab前的内容范本:
【组态设定说明】
- 系统组态预设的存放位置为安装路径的conf目录底下:
~/hypertable/0.9.0.5/conf/hypertable.cfg
- 这个组态档可提供使用者设定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种服务分散在不同台机器上。
- 预设的设定档内容如下:
#
# 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
~/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