干货丨Trafodion开发环境搭建实例

2022-04-13 00:00:00 编译 启动 安装 脚本 第三方软件


1准备一台Linux CentOS 6.x的开发机 (x≥5)。

2通过yum安装需要的工具和第三方软件。

【例2.1】通过yum安装工具和第三方软件

(可能需要一段时间)

sudo  yum install alsa-lib-devel ant ant-nodeps boost-devel cmake\

device-mapper-multipath  dhcp flex gcc-c++ gd git glibc-devel\

graphviz-perl  gzip java-1.7.0-openjdk-devel\

         libX11-devel libXau-devel  libaio-devel\

         libcurl-devel  libibumad-devel \

         libiodbc libiodbc-devel  librdmacm-devel  \

         libxml2-devel lua-devel lzo-minilzo \

         openldap-clients openldap-devel \

         openmotif openssl-devel  \

         openssl-static perl-Config-IniFiles  perl-Config-Tiny \

         perl-DBD-SQLite perl-Expect  perl-IO-Tty perl-Math-Calc-Units \

         perl-Params-Validate  perl-Parse-RecDescent perl-TermReadKey \

         perl-Time-HiRes protobuf-compiler  protobuf-devel \

         readline-devel saslwrapper sqlite-devel \

         unixODBC unixODBC-devel uuid-perl  wget xerces-c-devel xinetd git

3下载代码。

新建一个$YOUR_WORK_DIR工作目录,您将在这里下载代码,并进行后续编译。

【例3.1】在$YOUR_WORK_DIR中下载代码

(可能需要一段时间)

cd $YOUR_WORK_DIR

git clone  git://git.apache.org/incubator-trafodion.git

 4安装那些无法通过yum安装的第三方软件

编译Trafodion需要依赖一些无法通过yum安装的第三方软件,包括以下:

Bison, ICU, LLVM, Log4cxx, Maven,MPICH, Thrift, Udis86和 Zookeeper

在Trafodion的源代码中,traf_tools_setup.sh脚本能帮助您下载和安装这些第三方软件。traf_tools_setup.sh脚本将自动从互联网上下载以上第三方软件的源码包,然后自动编译。

此时,需要新建两个辅助目录:

(1)一个存放下载的源代码并进行编译;

(2)另一个作为这些第三方软件的安装目录。

注 意


必须将安装目录设置给TOOLSDIR这个环境变量,编译Trafodion时需要通过此变量来找到这些依赖的第三方软件。

例如,用~/download目录存放下载的源码,用~/tools作为安装目录,设置TOOLSDIR,并修改.bashrc。

【例4.1】新建辅助目录并修改.bashrc

mkdir  ~/tools

mkdir  ~/download

echo  “export TOOLSDIR=~/tools” >> ~/.bashrc

.  ~/.bashrc

运行traf_tools_setup.sh脚本,这些依赖的第三方软件将自动被安装。

【例4.2】运行traf_tools_setup.sh脚本

(可能需要很长时间)

cd $YOUR_WORK_DIR

cdincubator-trafodion

./install/traf_tools_setup.sh  -d ~/download -i ~/tools

traf_tools_setup.sh脚本需要在互联网上下载软件包,对于中国国内开发者,因为网络的原因,可能需要耐心多试几次。

修改Maven设置:

PATH=$PATH:$TOOLSDIR/apache-maven-3.3.3/bin

echo -en "PATH=\$PATH:\$TOOLSDIR/apache-maven-3.3.3/bin\n">> $HOME/.bashrc

提 示


  • 更多资源请访问https://github.com/traflm/trafodion-repo,在这您能找到libhdfs.so相关信息,更多信息今后会逐渐增加。

  • 多数Trafodion开发者倾向使用openJDK 1.x (x ≥7),但更推荐使用Oracle JDK1.7。下载Oracle JDK1.7安装包请访问: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

5编译源代码。

编译源代码,命令如下:

【例5.1】编译源代码命令

(可能需要很长时间)

cd    $YOUR_WORK_DIR/incubator-trafodion

source ./env.sh

 

rm -rf ~/.ssh

ssh-keygen -t rsa -N "" -f  ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >>  ~/.ssh/authorized_keys

chmod 600 ~/.ssh/id_rsa.pub

echo  "NoHostAuthenticationForLocalhost=yes" >>~/.ssh/config

chmod go-w ~/.ssh/config

chmod 755 ~/.ssh; chmod 640  ~/.ssh/authorized_keys;

cds

./install_local_hadoop –p rand

 

make all

提 示


  • 以上编译过程中的install_local_hadoop是为了简化开发而编译的,该脚本自动安装一个单机hadoop/hbase实例并启动。

  • 在运行该脚本前,需要配置ssh无密码访问。

  • 因此,Trafodion被编译完后能直接在本机启动,运行Trafodion需要hadoop/hbase环境。

  • 若仅需编译Trafodion,则无需运行install_local_hadoop,但必须单独安装Trafodion。下一篇文章将介绍如何安装Trafodion。

提 示


由于maven需要下载大量jar包,国内开发者在编译时可能会因网络问题而频繁出错,需要耐心,或使用一个较好的maven镜像,例如OSChina镜像

【例5.2】修改~/.m2/settings.xml

<settings  xmlns=http://maven.apache.org/SETTINGS/1.1.0

                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0  

                   http://maven.apache.org/xsd/settings-1.1.0.xsd">

     <mirrors>

        <mirror>

          <id>CN</id>

          <name>OSChina  Central</name> 

               

<url>http://maven.oschina.net/content/groups/public/</url>

           <mirrorOf>central</mirrorOf>

        </mirror>

     </mirrors>

</settings>

6修改ulimit,并启动Trafodion实例。

启动Trafodion需要修改ulimit,Trafodion的安装程序会自动配置。开发环境下必须手动修改,而且需要root权限。拷贝以下内容至/etc/security/limits.conf文件中,将liuliumi替换成您的Linux用户名。

【例6.1】拷贝以下内容至/etc/security/limits.conf中

#  Added for Trafodion: Max locked-in memory size

liuliumi  soft     memlock 49595556

liuliumi  hard     memlock 99191112

#

#  Added for Trafodion: Increase maximum number of file opens since Trafodion  needs many

liuliumi  soft     nofile  32768

liuliumi  hard     nofile  32768

#

#  Added for Trafodion: Increase maximum number of pending signals

liuliumi  soft     sigpending 515196

liuliumi  hard     sigpending 515196

#

#  Added for Trafodion: Increase maximum number of proceses

liuliumi  soft     nproc     267263

liuliumi  hard     nproc     267263

启动Trafodion。

注 意


启动Trafodion前必须退出当前shell,重新启动一个新的shell。

【例6.2】启动Trafodion

cd    $YOUR_WORK_DIR/incubator-trafodion

source ./env.sh

swstarthbase  #有时hbase在上一步没有能够启动,这里再启动一次

cds

sqgen

sqstart

如果启动失败,则需确保hostname已经加在/etc/hosts中,或确保您的系统有正确的DNS配置,可以通过机器名获取正确的IP地址。

如果出现 'orphanprocesses' 等问题,使用ckillall命令终止一些遗留进程,这些进程可能是上次启动失败遗留下的。

Trafodion提供了一个名为sqlci的命令行SQL客户端用以运行SQL,现在可以启动sqlci。

【例6.3】启动sqlci

sqlci

>initialize  trafodion;

现在可以正常使用Trafodion了。

愿一切顺利,祝你好运!

刘明

http://blog.itpub.net/30206145/

相关文章