Aliyun Code

首页  >   chuyu / tfs

项目语言:c

创建者:chuyu 创建时间:2012年09月23日

快速使用TFS

一. 使用原生TFS

1. 搭建集群

  1. 获取TFS

获取TFS有两种方法:
一是直接使用rpm包,下载页面请参见下载TFS,但是rpm包目前仅支持1.3-1.4的老版本。
二是使用源码编译,最新版本svn地址为 http://code.taobao.org/svn/tfs/tags/release-2.2.16
目前TFS的编译环境基于gcc 4.1.2版本,高版本的gcc在编译时可能会出现一些错误,建议在4.1.2版本上编译。另外由于2.2.8包含了其他server的功能,编译时还需要libuuid-develzlib-develmysql-devel三个开发包。
编译具体步骤请参见编译安装TFS

  1. 配置conf文件

配置文件有2个,ns.conf和ds.conf,若安装后发现conf目录下没有文件,则从源码下的conf将这两个conf模板拷贝过来,具体的配置方法请参见配置TFS

  1. 启动ds和ns

具体启动方法请参见运行TFS

  1. 检查集群是否可用

进入运行目录下的bin,使用tfstool工具读写文件。方法为
./tfstool -s ns_addr -i 'put testfile'
看是否提示成功,并返回tfs文件名。
./tfstool -s ns_addr -i 'get tfsname'
看是否能正常读到刚才put进去的文件,注意,这个tfsname即为put后提示返回的TFS文件名。

2. 使用java客户端访问

tfs-java-client首页地址为http://code.taobao.org/p/tfs-client-java/src/
对应可使用http://code.taobao.org/svn/tfs-client-java/tags/tfs-client-java-2.1.3 进行读写。

二. 使用资源管理服务器

随着TFS规模变大,用户数增多,集群数增多,为了实现对TFS各应用的管理及集群管理,TFS在原生TFS的基础上增加了rcserver用于管理。注意的是,由于需要存储应用信息和集群信息,rcserver需要依赖mysql。

1. 搭建集群

  1. 获取TFS

rpm包没有高版本的tfs,因此需要直接编译源码获取。最新版本svn地址为 http://code.taobao.org/svn/tfs/tags/release-2.2.8
目前TFS的编译环境基于gcc 4.1.2版本,高版本的gcc在编译时可能会出现一些错误,建议在4.1.2版本上编译。编译时需要libuuid-develzlib-develmysql-devel三个开发包。
编译具体步骤请参见编译安装TFS

  1. 配置conf文件

配置文件有3个,ns.conf,ds.conf和rc.conf。具体的配置方法请参见配置TFS

  1. 配置rc数据库
  2. 启动ds,ns和rcserver

具体启动方法请参见运行TFS

  1. 检查集群是否可用

进入运行目录下的bin,使用tfstool工具读写文件。方法为
./tfstool -r rc_addr -i 'put testfile'
看是否提示成功,并返回tfs文件名。
./tfstool -r rc_addr -i 'get tfsname'
看是否能正常读到刚才put进去的文件,注意,这个tfsname即为put后提示返回的TFS文件名。

2. 使用java客户端访问

tfs-java-client首页地址为http://code.taobao.org/p/tfs-client-java/src/
对应可使用http://code.taobao.org/svn/tfs-client-java/tags/release-2.2.6 进行读写。
注意,由于需要针对应用进行管理,这里使用时需要配置appkey,appkey和应用一一对应,具体的命名方式可以自行决定(如,自增id,或和时间相关的字符串),只要确保唯一性即可。

三. 使用自定义文件功能

用户使用原生TFS时,必须要用TFS返回的固定文件名进行操作,对于有目录结构的应用来说,这种使用方式相对比较麻烦,因此在此基础上,TFS实现了自定义文件名功能,对自定义文件名和原生文件进行了映射,并将此存储在关系数据库中(目前采用mysql)。 由于自定义文件名客户端基于资源管理服务器实现,因此在搭建自定义文件相应的server时,也需要搭建rcserver。自定义功能同样需要依赖mysql。

1. 搭建集群

  1. 获取TFS

rpm包没有高版本的tfs,因此需要直接编译源码获取。最新版本svn地址为 http://code.taobao.org/svn/tfs/tags/release-2.2.8
目前TFS的编译环境基于gcc 4.1.2版本,高版本的gcc在编译时可能会出现一些错误,建议在4.1.2版本上编译。编译时需要libuuid-develzlib-develmysql-devel三个开发包。

  1. 配置conf文件

配置文件有5个,ns.conf,ds.conf,rc.conf,meta.conf和rs.conf。具体的配置方法请参见配置TFS

  1. 配置rc数据库
  2. 配置meta数据库
  3. 启动ds,ns,rc,mts和rs

具体启动方法请参见运行TFS

  1. 检查集群是否可用

进入运行目录下的bin,使用tfstool工具读写文件。方法为
./tfstool -r rc_addr -i 'createdir /testdir' ./tfstool -r rc_addr -i 'put_meta testfile /testdir/testfile appid userid appkey'
看是否提示成功,并返回tfs文件名。
./tfstool -r rc_addr -i 'get_meta /testdir/testfile ret_testfile appid userid appkey'
看是否能正常读到刚才put进去的文件,注意,这个tfsname即为put后提示返回的TFS文件名。

2. 使用java客户端访问

tfs-java-client首页地址为http://code.taobao.org/p/tfs-client-java/src/
对应可使用http://code.taobao.org/svn/tfs-client-java/tags/release-2.2.6 进行读写。
由于自定义文件使用的接口不同,因此只需在bean中配置use_meta为true既可以使用。