2024年11月Ubuntu编译安装Hypertable的方法

发布时间:

  ⑴HyperTable是开源的数据库,在Ubuntu系统中的安装并没有那么简单,下面小编将针对HyperTable在Ubuntu下的编译安装做个详细的介绍,如果你还不知道怎么安装的话可以来学习一下。

  ⑵安装过程运行于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

  ⒄更新已下载之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 zlibg-dev

  ⒍安装可跨平台的makefiles产生工具CMake,因此可以选择编译器及编译环境来产生Hypertable的执行档;根据官网公佈资讯,目前测试过可执行的平台仍以Linux/Unix为主,Windows平台仍在测试当中。

  ⒎$ sudo apt-get install cmake

  ⒏安装Boost 程式库..以上版本,这套程式库为强化C++ Standard Library而设计,内含功能像是记忆体的Buffer处理,数学,Hash,MPI,图形等等函式库。

  ⒐$ sudo apt-get install libboost.*-dev libboost-doc libboost.*..

  ⒑安装logcpp套件,此套件参考logj而设计,故名思议是针对c++而设计的记录日志档机制,在Hypertable里的记录档案便是由此套记录机制在处理Log功能。

  ⒒$ sudo apt-get install liblogcpp*

  ⒓安装expat套件,这个套件是一个XML处理程式库,在Hypertable举凡对于XML的存取都是引用这个套件来处理。

  ⒔$ sudo apt-get install expat libexpat libexpat-dev

  ⒕安装libattr套件,它是处理档案的延伸属性的程式库。

  ⒖$ sudo apt-get install libattr libattr-dev

  ⒗安装readline套件,这份套件内含读取terminal上的mand line程式库,在Hypertable里面像是登入hql shell模式,或其他会需要读取mand line的情况会使用到这一类的功能。

  ⒘$ sudo apt-get install libreadline-dev

  ⒙安装ncurses,透过它可以撰写terminal底下的文字模式介面程式,在Hypertable里面像是登入hql shell模式,或需要模拟文字模式下的使用者介面,会使用到这一类的功能。

  ⒚$ sudo apt-get install libncurses libncurses-dev

  ⒛安装tcmalloc(Thread-Caching Malloc套件,它是一个记忆体配置套件,可处理多执行绪情况下的记忆体回收之程式库。

  ①$ sudo apt-get install libgoogle-perftools 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: __

  Ⅸ显示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 ..x, prepend fix directory

  -- Configuring done

  -- Generating done

  -- Build files have been written to: ~/build/hypertable

  组态完成后把编译需要的设定档放到指定路径~/build/hypertable

  【如何编译与安装】

  开始编译之前,要先切换到编译组态档的存放路径,根据上述组态预设路径为~/build/hypertable,然后再执行编译指令:

  $ cd ~/build/hypertable