第一步,准备一台Linux CentOS 6.x 的开发机,(x>=5)
如果您已经有一个CentOS 6.5或者更高版本的开发机,直接进入第二步。
第二步,通过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 apr-devel apr-util-devel |
第三步,下载代码
建立一个工作目录,$YOUR_WORK_DIR,您将在这里下载代码,并后续在这里进行编译
cd $YOUR_WORK_DIR git clone git://git.apache.org/incubator-trafodion.git |
第四步,安装那些无法通过yum安装的第三方软件。
Trafodion的编译需要依赖一些无法通过yum安装的第三方软件,包括以下这些:
Bison , ICU ,LLVM,Log4cxx , Maven, MPICH, Thrift , Udis86, Zookeeper
在Trafodion的源代码中,有一个脚本可以帮助用户下载和安装所有的这些第三方软件。
脚本 traf_tools_setup.sh自动从互联网上下载以上软件的源码包,然后自动编译。因此需要创建两个辅助目录:一个用来存放下载的源代码并进行编译;另一个用来安装这些软件,作为这些软件的安装目录,需要注意:必须将安装目录设置给TOOLSDIR这个环境变量,Trafodion编译的时候需要通过这个TOOLSDIR环境变量来找到这些依赖的第三方软件。
假设用~/download目录存放下载的源码;用~/tools作为安装目录,设置TOOLSDIR,并修改.bashrc,示例如下:
mkdir ~/tools mkdir ~/download echo export TOOLSDIR=~/tools >> ~/.bashrc . ~/.bashrc |
然后运行traf_tools_setup.sh脚本自动安装依赖的第三方软件
cd $YOUR_WORK_DIR cd incubator-trafodion ./install/traf_tools_setup.sh -d ~/download -i ~/tools |
脚本traf_tools_setup.sh需要在互联网上下载软件包,对于中国国内开发者,因为网络的原因,可能需要耐心多试几次。
还是第四步,关于jdk
虽然很多Trafodion开发者都使用openJDK,只要1.7版本以上就可以。但我还是强烈建议使用Oracle的JDK1.7版本。关于Oracle JDK1.7的安装就不再赘述。
第五步,编译源代码
现在可以开始编译源代码了,命令如下:
cd $YOUR_WORK_DIR/incubator-trafodion source ./env.sh cds ./install_local_hadoop –p rand make all |
提示:对于国内的开发者,因为maven需要下载大量的jar包,编译过程可能会因为网络问题而频繁出错,需要耐心,或者使用一个比较好的maven的镜像。比如OSChina的镜像:
修改~/.m2/settings.xml
<?xml version="1.0" encoding="UTF-8"?>
|
此外需要说明一下,以上编译过程中有一步是install_local_hadoop,这是为了简化开发,该脚本自动安装一个单机hadoop/hbase实例并启动,这样编译完Trafodion后,就可以直接在本机启动。Trafodion的运行需要一个Hadoop/Hbase环境。
如果您仅仅想编译Trafodion,则无需运行install_local_hadoop这一步,但必须进行一个单独的Trafodion安装过程。我们将在下一篇文章中再进行单独介绍Trafodion的安装。
第六步,修改ulimit,并启动Trafodion实例
Trafodion的启动需要对ulimit进行一些修改,Trafodion的安装程序会自动配置。开发环境下,必须手动修改,而且需要root权限。
拷贝下面这些内容加入/etc/security/limits.conf文件中,将liuliumi替换为您的Linux用户名。
# 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了,请先退出当前shell,重新启动一个新的shell,切记,这是必须的,必须使用一个新的Shell。
cd $YOUR_WORK_DIR/incubator-trafodion source ./env.sh swstarthbase #有时hbase在上一步没有能够启动,这里再启动一次 cds sqgen sqstart |
有时候启动不来,需要确保hostname已经加在/etc/hosts里面,或者确保您的系统有正确的DNS配置,可以通过机器名获取正确的IP地址。
如果出现‘orphan processes’等问题,使用ckillall命令杀掉一些遗留的进程,可能是上次启动不成功遗留下的。
好了,希望一切顺利。Trafodion提供了一个命令行SQL客户端,可以运行SQL,叫做sqlci,现在可以启动它
sqlci >initialize trafodion;
现在可以正常使用Trafodion了。 |
祝你好运!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30206145/viewspace-1986828/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30206145/viewspace-1986828/