源码编译-Build Source
来源:互联网 发布:武汉seo编辑招聘 编辑:程序博客网 时间:2024/05/29 07:33
1.环境准备
想要更进一步了解和使用Trafodion,难免不得不自己尝试一番编译源码,此为之前做的一个小任务,踩过一些坑,现分享出来并做个总结。[参考](https://cwiki.apache.org/confluence/display/TRAFODION/Build+Source)
1.1 虚拟机
源码编译准备搭建自己的一个虚拟机,系统CentOS6.X即可,7版本会编译错误不支持。配置参考:硬盘:30G 最好不要默认,否则多次编译会使磁盘空间不足内存:2G网卡:NATTips:避免出错需要重新新建虚拟机,最好每做一步做好快照,方便恢复。
查看系统版本:cat /etc/redhat-releaseCentOS release 6.7 (Final)
1.2 安装编译需要的包
# Install first to avoid dependency problems for the steps belowsudo yum install epel-releasesudo yum install alsa-lib-devel ant ant-nodeps apr-devel apr-util-devel \ boost-devel cmake device-mapper-multipath dhcp doxygen flex \ gcc-c++ gd git glibc-devel glibc-devel.i686 graphviz-perl gzip \ java-1.7.0-openjdk-devel libX11-devel libXau-devel libaio-devel \ libcurl-devel libibcm.i686 libibumad-devel libibumad-devel.i686 \ libiodbc libiodbc-devel librdmacm-devel librdmacm-devel.i686 \ libxml2-devel lua-devel lzo-minilzo \ net-snmp-devel net-snmp-perl openldap-clients openldap-devel \ openldap-devel.i686 openmotif openssl-devel openssl-devel.i686 \ 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 rpm-build saslwrapper sqlite-devel \ unixODBC unixODBC-devel uuid-perl wget xerces-c-devel xinetd
Tips: 避免因为包安装失败造成编译错误,请确保每一个包均安装成功
1.3 配置
配置java的环境变量,通过java -version 验证成功
#新建编译目录trafodionmkdir trafodioncd trafodion#下载源码git clone git://git.apache.org/incubator-trafodion.git# 新建trafodion 编译目录mkdir ~/trafodion-download ~/trafodion-build-toolscd ~/mysource/incubator-trafodion/install# 利用脚本安装./traf_tools_setup.sh -d ~/trafodion-download -i ~/trafodion-build-tools# 安装成功信息基本如下INFO: Starting tools build on Mon Jan 25 12:30:41 PST 2016Tools install directory /home/trafdeveloper/trafodion-build-tools does not exist, do you want to to create it? y/n : yINFO: Created directory /home/trafdeveloper/trafodion-build-toolsINFO: Tar download location: /home/trafdeveloper/downloadINFO: Tool install directory location: /home/trafdeveloper/trafodion-build-toolsINFO: LogFile location: /home/trafdeveloper/mysource/incubator-trafodion/install/traf_tools_setup.log ***********************************************************INFO: Installing MPI on Mon Jan 25 12:30:45 PST 2016INFO: downloaded tar file: mpich-3.0.4.tar.gz...INFO: downloaded tar file: apache-maven-3.3.3-bin.tar.gzINFO: Maven installation complete***********************************************************INFO: Completed tools build on Mon Jan 25 13:18:31 PST 2016INFO: List of tools directory:apache-log4cxx-0.10.0apache-maven-3.3.3bison_3_linuxdest-llvm-3.2dest-mpich-3.0.4icu4c_4.4thrift-0.9.0udis86-1.7.2zookeeper-3.4.5
Tips : 此过程需要从网络上下载包并解压安装,由于网络限制,速度较慢,一般在1-1.5h
安装完成导入环境变量,后续需要使用,否则因为找不到变量而发生错误export TOOLSDIR=$HOME/trafodion-build-toolsecho -en "export TOOLSDIR=$HOME/trafodion-build-tools\n" >> $HOME/.bashrc本步骤结束,请验证$JAVA_HOME$TOOLSDIR是否有值
2.编译
源码编译一般来说有debug和release两种方式,但是debug多用于开发百衲衣测试,在正式的环境中编译请推荐使用release方式Tips:debug方式我没有编译成功过,具体问题需要待研究
# 在你的trafodion 目录d <Trafodion source directory>/core/sqfsource ./sqenvr.shcd ../..执行 make all或者make package-all(后续就不需要安装local_hadoop)# 需要等待2-3h 没有任何编译错误,出现success 就算成功[INFO] Building jar: /home/trafdeveloper/mysource/incubator-trafodion/dcs/target/dcs-1.3.0.jar ##(DCS)[INFO] Building tar: /home/trafdeveloper/mysource/incubator-trafodion/dcs/target/dcs-1.3.0.tar.gz ##(DCS)[INFO] BUILD SUCCESS ##(DCS)mkdir -p ../distribution ##(DCS)mv target/dcs-1.3.0.tar.gz ../distribution ##(DCS)rm -f trafodion-dcs.jar.versions ##(DCS)make[2]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/dcs' ##(DCS)make[1]: Leaving directory `/home/trafdeveloper/mysource/incubator-trafodion/core'
Tips:这部分完成需要验证编译情况sqvers -u
sqcers -uTRAF_HOME=/home/trafdeveloper/mysource/incubator-trafodion/core/sqfwho@host=trafdeveloper@box01JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64SQ_MBTYPE=64d (64-debug)linux=2.6.32-504.el6.x86_64redhat=6.6NO patchesMost common Apache_Trafodion Release 1.3.0 (Build debug [trafdeveloper], branch -, date 25Jan16)UTT count is 1[6] Release 1.3.0 (Build debug [trafdeveloper], branch -, date 25Jan16) export/lib/hbase-trx-cdh5_3-1.3.0.jar export/lib/hbase-trx-hbase_98_4-1.3.0.jar export/lib/hbase-trx-hdp2_2-1.3.0.jar export/lib/sqmanvers.jar export/lib/trafodion-dtm-1.3.0.jar export/lib/trafodion-sql-1.3.0.jar
3.搭建测试环境
编译完成,我们需要配置SSH免登录和测试一下环境服务
3.1 ssh 免登录
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/id_rsaecho "NoHostAuthenticationForLocalhost=yes" >>~/.ssh/configchmod go-w ~/.ssh/configchmod 755 ~/.ssh; chmod 640 ~/.ssh/authorized_keys;
3.2 修改默认配置
edit /etc/security/limits.conf and reboot the server
# Changes added for the Trafodion Test Environment* - core 1000000* - nproc 267263* - nofile 32000* - sigpending 515196* - memlock 49595556* - stack 10240
3.3 安装local_hadoop
如果前面编译make package-all,这步可不需要
# 选择编译源d <Trafodion source directory>/core/sqfsource ./sqenvr.shcd ../..# 进入脚本目录cdsinstall_local_hadoop# 大约2.5-1hChecking for existing Hadoop processes...The testware tpcds_kit.zip does not exist and will not be installedThis testware is needed to run developer HIVE regression tests...Installed directory size and name = 2.7G /home/trafdeveloper/mysource/incubator-trafodion/core/sqf/sql/local_hadoopSetup is complete. You can use the convenience scripts starting with sw... located in /home/trafdeveloper/mysource/incubator-trafodion/core/sqf/sql/scripts.$ ./install_traf_componentsInstalling and configuring DCS, REST, TRAFCI & Phoenix tests for Trafodion...Environment used for core, DCS, REST and Phonenix ......Configuration scripts for DCS, REST, TRAFCI and Phoenix test are set up Open a new session and start Trafodion by executing sqgen and sqstart scripts # 编译成功执行./install_traf_components
3.4 测试服务
测试服务状态
swstatus# 无报错,打印两行字大致是所有服务以启动即可# 一般HBase 没有正常启动执行swstarthbase 启动HMaster# sqgen# 重新打开终端,引入源,执行sqstart所有服务启动正常,没有down的服务即大功告成
4.总结
1.以上Tips都是常遇到的错误,请注意2.Trafodion 基于hadoop的基础
最后欢迎一起讨论学习Trafodion,支持企业版Esgyn
阅读全文
0 0
- 源码编译-Build Source
- openfire source build 源码编译、Eclipse 运行
- ubuntu上编译Android源码(Build Android source
- Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)
- Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)
- Build android source code 3 -- 编译
- 编译——source build/envsetup.sh
- Build android source code 2 -- 下载源码
- 养成喜欢进行外部编译(out-of-source build) 而不是in-source build
- Qt源代码在Windows XP上编译(in-source build)
- Qtcreator在Windows XP上的编译(in-source build)
- android编译系统分析一:source build/envsetup.sh与lunch
- UBUNTU 编译安装source navigator源码包
- Android源码Build之单独编译
- build Qt source
- Build hudson source
- build ubuntu from source
- build qgroundcontrol source code
- 接口测试和app测试的总结
- POJ
- springMVC ueditor傻瓜配置系列之不成功你砍我!
- Mysql中修改字段左右补齐
- mysql语句大全
- 源码编译-Build Source
- HDU
- Accessing JSON Data with C++
- JavaNIO循环读取文件
- xshell5日志记录设置
- 使用C#发送Http请求实现模拟登陆实例
- 设计模式——单列设计模式
- [直观学习排序算法] 视觉直观感受若干常用排序算法
- POJ