CentOS 6.5下编译安装TFS

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

一、安装依赖包
yum -y install  automake
yum -y install libtool
yum -y install readline readline-devel
yum -y install libuuid-devel
yum -y install zlib-devel
yum -y install mysql-devel

安装jemalloc(编译tfs源码要用到)
wget http://www.canonware.com/download/jemalloc/jemalloc-3.5.0.tar.bz2
tar jxvf jemalloc-3.5.0.tar.bz2
./configure --prefix=/usr/local
make && make install
二、TFS依赖于底层开发包tbnet,这里要先安装tbsys和tbnet。

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

cd /usr/local/src
svn 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-utils
mkdir -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/downloads
wget http://www.mirrorservice.org/sites/sources.redhat.com/pub/gcc/releases/gcc-4.1.2/gcc-4.1.2.tar.bz2
tar xjvf gcc-4.1.2.tar.bz2
cd 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值