hypertable安装

来源:互联网 发布:淘宝联盟导购推广id 编辑:程序博客网 时间:2024/05/16 19:35

参考资料:

http://code.google.com/p/hypertable/wiki/HowToBuild#Building,_Installing,_and_Running_Tests

安装平台:fedora 10

安装依赖包:

 

1)yum install git gcc-c++ make cmake python-devel bzip2-devel zlib-devel expat-devel rrdtool rrdtool-devel
2)wget http
://downloads.sourceforge.net/boost/boost_1_40_0.tar.bz2
bzip2
-d boost_1_40_0.tar.bz2
tar xvf boost_1_40_0
.tar
cd boost_1_40_0
./bootstrap.sh --with-libraries=filesystem,iostreams,program_options,system,thread,graph,regex
./bjam install
或者

./bjam -a "-sTOOLS=gcc" "--includedir=/usr/include" "--libdir=/usr/lib/boost" "--build-type=complete" threading=multi "--layout=tagged" install

注意"--build-type=complete"  
//注意bootstrap.sh执行的参数或bjam参数否则后面编译会出现无法找到libiostream-mt.so之类类库等情况
3)安装log4cpp 
wget http://dag.wieers.com/rpm/packages/log4cpp/log4cpp-1.0-1.el5.rf.i386.rpm
rpm -i log4cpp-1.0-1.el5.rf.i386.rpm 
wget http://dag.wieers.com/rpm/packages/log4cpp/log4cpp-devel-1.0-1.el5.rf.i386.rpm
rpm
-i log4cpp-devel-1.0-1.el5.rf.i386.rpm 
4)BerkeleyDB
cd build_unix 
    ../dist/configure --enable-cxx --enable-java #(java is optional 
here, but enable it for later usage) 
    make 
    make install 
注意--enable-cxx参数,否则后面对hypertable make时也会出错
5) tcmalloc (Optional) 
    
虽然是Optional,但据说这东西对内存分配的性能有巨大提升,那就安装之吧。 
    
http://code.google.com/p/google-perftools/ 下载google- 
perftools-0.98.tar.gz
并好好学习一下下感觉说的好强的。 
    
但如果你是x86_64的主机,就要先安装另外一个东东libunwind 先到http://www.nongnu.org/ 
libunwind/ 
下载 libunwind-0.98.6.tar.gz 
编译libunwind有点参数注意了: 
    CFLAGS=-fPIC ./configure 
    make CFLAGS=-fPIC 
    make CFLAGS=-fPIC install 
    ldconfig 
    -------------------------- 
    
再编译安装google-perftools-0.98。步骤无非是configure/make/make install 
    
这个东东也被缺省安装在/usr/local/lib下面,那就再ldconfig一下吧,前面我们已经创建号/etc/ 
ld.so.conf.d/usr_local_lib.conf
了,这里只需 ldconfig 
4)yum install cronolog google
-perftools-devel libevent-devel readline-devel ncurses-devel db4-devel
wget http
://hypertable.org/pub/re2.tgz
tar
-zxvf re2.tgz
cd re2
make
make test
make install
make testinstall
5)wget http
://www.hypertable.org/pub/hyperic-sigar-1.6.3.tar.gz
tar
-xzvf hyperic-sigar-1.6.3.tar.gz
cp hyperic
-sigar-1.6.3/sigar-bin/include/*.h /usr/local/include
cp hyperic-sigar-1.6.3/sigar-bin/lib/libsigar-x86-linux.so /usr/local/lib/
sh -c "echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf"
/sbin/ldconfig

开始编译安装

 

1修改cmakelist中关于kfs库和头文件的信息(非必需,如果已经安装了kfs可以修改)

 

2编译安装过程是: 
    (1) 
找个地方创建你的安装目录,如我在/home/schunert/test/hypertable,缺省人家是要安装到/opt/ 
hypertable
的,记得后面cmake的时候要修改一下。 
    (2) 
找个地方创建你的build目录,如我在/home/schubert/test/src/hypertable-0.9.0.6- 
alpha/build
,然后进去这个目录 
    (3) 
然后 cmake <your_source_dir>,如我只需cmake .. 
         
建议还是仔细看看cmake输出的东东,行数不多,大多是关联模块的执行文件或库文件的位置,特别注意库文件的位置是否正确。特别注 
boostBerkeleyDB. 一般他找到的东西都对,但我们有两个版本的BerkeleyDB,他有时找到老的,所以我们需在下一步改之。 
    (4)  
ccmake修改编译配置文件,运行ccmake <your_source_dir>。在显示的界面里面键入t,根据提示修改相 
关配置变量内容,特别注意,如果不对就修改之
          BDB_INCLUDE_DIR  /usr/local/BerkeleyDB.4.7/include 
          BDB_LIBRARY   /usr/local/BerkeleyDB.4.7/lib/libdb_cxx.so 
          CMAKE_INSTALL_PREFIX   /home/schubert/test/hypertable 
         
修改好后键入c然后g保存就行了。其实这些参数的设置都在build目录下的CMakeCache.txt文件中啦,进去看看吧。 
    (5) 
然后make/make install就可以了。

3)安装后启动kfs

将KFS作为底层的文件系统,目前hypertable最新版本已经支持

1)    修改conf/hypertable.cfg文件

加入以下内容

#kfs meta server

Kfs.MetaServer.Name=10.60.1.125

Kfs.MetaServer.Port=20000

Kfs.Broker.Workers=20

2)    启动kfs的metaserver chunkserver

3)    ./bin/start-all-servers.sh  kfs

另外hypertable 使用了开源的集群管理工具capistrano  使用前提是各个机器间建立ssh信任关系,我是直接使用脚本来启动server,bin/目录下的脚本还是很有用的

Bin目录下的脚本说明:

1) start-all-server.sh  启动所有的有关server 包括DfsBroker hyperspace Hypertable.MasterHypertable.RangeServer 使用这个脚本的话,所有的server同时在一台机器上启动

2)  start-dfsbroker.sh  启动文件系统,参数:kfs | hdfs | local

3)  start-hyperspace.sh  启动hyperspace

4)  start-master.sh   启动Hypertable.Master

5)  start-rangeserver.sh  启动Hypertable.Rangeserver

6) stop-servers.sh 停止服务脚本

7)  ./ht shell 进入hypertable命令行界面 与./hypertable命令相同

如果是运行在集群下的话,

在master上启动start-dfsborker.sh  start-hyperspace.sh start.master.sh三个脚本

在slave机器上启动start-dfsborker.sh start-rangeserver.sh 两个脚本

原创粉丝点击