CentOS 6.5下编译安装TFS

来源:互联网 发布:雷神3知乎 编辑:程序博客网 时间:2024/06/10 00:18

TFS官方有个安装文档(http://code.taobao.org/p/tfs/wiki/get/),不过如果对于小白确实写的太简单了。本人整理了自己编译安装TFS的过程,给大家参考一下。

一、安装依赖包

yum -y install  automakeyum -y install libtoolyum -y install readline readline-develyum -y install libuuid-develyum -y install zlib-develyum -y install mysql-devel安装jemalloc(编译tfs源码要用到)wget http://www.canonware.com/download/jemalloc/jemalloc-3.5.0.tar.bz2tar jxvf jemalloc-3.5.0.tar.bz2./configure --prefix=/usr/localmake && make install

二、TFS依赖于底层开发包tbnet,这里要先安装tbsys和tbnet。

从TaoCode上checkout下tb-common-utils项目。

cd /usr/local/srcsvn checkout -r 18 http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utils

如果没有安装svn客户端,请先安装svn客户端

yum install subversion

开始编译安装tbsys和tbnet

cd tb-common-utilsmkdir -p /opt/tblib/

设置环境变量TBLIB_ROOT

vim /etc/profile

在最后加上

export TBLIB_ROOT=/opt/tblib/

使环境变量生效

source /etc/profile

安装

sh build.sh

三、对GCC降级

由于TFS编译需要用到gcc 4.1.2,CentOS 6.5默认安装的gcc版本是4.4.7,所以这里要多现有的gcc进行降级。

cd /home/downloadswget http://www.mirrorservice.org/sites/sources.redhat.com/pub/gcc/releases/gcc-4.1.2/gcc-4.1.2.tar.bz2tar xjvf gcc-4.1.2.tar.bz2cd gcc-4.1.2

以下会在名称前面加上当前所在路径方便大家判断命令是在哪里执行的。
新建gcc 4.1.2安装目录

[root@localhost gcc-4.1.2]# mkdir -p  /opt/gcc-4.1.2/[root@localhost gcc-4.1.2]# ./configure --prefix=/opt/gcc-4.1.2/

编译gcc源码的需要,这了要先安装 texinfo

[root@localhost gcc-4.1.2]# yum install texinfo

查找makeinfo的安装路径

[root@localhost gcc-4.1.2]# which makeinfo/usr/bin/makeinfo

并修改当前文件夹下Makefile文件

[root@localhost gcc-4.1.2]# vim MakefileMAKEINFO = MAKEINFO = /home/downloads/gcc-4.1.2/missing makeinfo修改为MAKEINFO = /usr/bin/makeinfo

安装依赖

[root@localhost gcc-4.1.2]# yum -y install glibc-devel.i686 glibc-devel

安装gcc

[root@localhost gcc-4.1.2]# make[root@localhost gcc-4.1.2]# make install

时间有点长,需要耐心等待,多核处理器可以在make的时候加上并发处理命名,例如make -j4。
安装完成之后替换系统默认gcc和g++版本为刚才安装的gcc和g++ 4.1.2

[root@localhost bin]# mv /usr/bin/gcc /usr/bin/gccold[root@localhost bin]# ln -s /opt/gcc-4.1.2/bin/gcc /usr/bin/gcc[root@localhost bin]# mv /usr/bin/g++ /usr/bin/g++old[root@localhost bin]# ln -s /opt/gcc-4.1.2/bin/g++ /usr/bin/g++

查看当前gcc版本
gcc -v

四、编译安装TFS

[root@localhost bin]# [root@localhost src]# svn co http://code.taobao.org/svn/tfs/tags/release-2.2.16[root@localhost src]# cd release-2.2.16创建tfs安装目录[root@localhost src]# mkdir /opt/tfs-2.2.16[root@localhost release-2.2.16]# sh build.sh init[root@localhost release-2.2.16]# ./configure  --prefix=/opt/tfs-2.2.16/  --without-tcmalloc --with-release[root@localhost release-2.2.16]# make && make install

至此TFS的安装完成
TFS的配置部署可以参考http://code.taobao.org/p/tfs/wiki/deploy/
TFS的启动运行请参考http://code.taobao.org/p/tfs/wiki/start/

五、其他说明

TFS不一定非得挂载一整个磁盘,可以单独挂载一个文件夹为disk目录。
下面为为挂载一个文件夹为disk的配置文件和对挂载文件夹进行TFS要求的格式的格式化的过程

然后修改tfs配置文件,修改安装目录下/opt/tfs-2.2.16/conf目录下的ds.conf(PS:编译安装之后需要从源码目录/conf下copy配置文件到安装目录)[root@localhost release-2.2.16]# vim /opt/tfs-2.2.16/conf/ds.conf修改 mount_name = /home/disk执行tfs 安装目录下的format命令[root@localhost release-2.2.16]# cd /opt/tfs-2.2.16/scripts/[root@localhost scripts]# ./stfs format 1执行完之后会自动在/home下创建一个disk1的目录,可以看到这个目录下面已经新增了很多文件,这些文件应该就是TFSBlock存储单元

六、FAQ

  1. 64为的系统,如果启动ds的时候提示error while loading shared libraries: libjemalloc.so.1: cannot open shared object file: No such file or directory
    做一下软链接就可以了
ln -s /usr/local/lib/libjemalloc.so.1 /usr/lib64/libjemalloc.so.1
1 0
原创粉丝点击