TFS文件系统 安装
来源:互联网 发布:李婧磁 知乎 编辑:程序博客网 时间:2024/06/02 05:02
TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据的存储;TFS使用C++语言开发,需要运行在64bit Linux OS上,TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用 在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。本文介绍如何在Linux环境编译安装TFS及相关使用说明:
一、安装依赖的软件包:
1、automake TFS基于automake工具构建:
2、libtool automake需要使用libtool:
3、realine 用于命令行编辑的库:
4、libz-devel 用于数据压缩/解压缩:
5、uuid-devel 用于生成全局唯一ID:
6、tcmalloc google的内存管理库(由玩googl被封,那就暂且跳过吧,可选)
二、安装tb-common-utils
TFS使用tb-common-utils软件包,tb-common-utils包含淘宝使用的基础系统库tbsys和网络库tbnet两个组件;安装tb-common-utils前需要设置环境变量TBLIB_ROOT,tbsys和tbnet将会被安装TBLIB_ROOT对应的路径(必须是绝对路径)下,TFS会在这个路径下查找tbsys、tbnet头文件和库。
设置TBLIB_ROOT环境变量:
1、在~/.bash_profile文件中加入,export TBLIB_ROOT=path_to_tbutil , 然后执行source:
2、下载源码:
注意: 这里不要checkout最新版本,version18以后的修改导致部分接口不能前向兼容
这个错误是因为缺少gcc-c++:
如果一切顺利,tb-common-utils已经安装成功到$TBLIB_ROOT路径下;
三、安装TFS
TFS开源用户大都只使用TFS的基本功能,所以这个版本我们默认只编译TFS的nameserver,dataserver,client和tool,以去除对mysql的依赖,需要使用到rcserver(全局资源管理服务),metaserver(TFS自定义文件名服务)的用户请自行编译安装这两个服务。
下载源码并安装:
注意,这里报错了,是因为之前我们没有安装tcmalloc,所以这里要改一下编译条件:
–prefix 指定tfs安装路径,默认会被安装到~/tfs_bin目录
–with-release 指定按release版本的参数进行编译,如果不指定这个参数,则会按开发版本比较严格的参数编译,包含-Werror参数,所有的警告都会被当错误,在高版本gcc下会导致项目编译不过,很多开源用户反馈的编译问题都跟这个有关,因为gcc高版本对代码的检查越来越严格,淘宝内部使用的gcc版本是gcc-4.1.2。
四、配置文件:
ns.conf:
ds.conf:
第三台服务器的ds配置如下:
五、启动说胆:
1、运行TFS
启动nameserver
执行scripts目录下的tfs:
2、启动DS
现有TFS可以在一台服务器上启动多个DataServer进程。一般每个DataServer进程负责一个磁盘。
将数据盘格式化成EXT4文件系统,并挂载到/data/tfs1至/data/tfs(i),其中i为磁盘号。
启动步骤:
A、存储区预分配。执行scripts下的stfs format n (n为挂载点的序号,具体用法见stfs的Usage)。例如stfs format 2,4-6 则会对/data/tfs2,
/data/tfs4,/data/tfs5,/data/tfs6,进行预分配。运行完后会在生成/data/tfs2, /data/tfs4,/data/tfs5,/data/tfs6下预先创建主块,扩展块及相应的统计信息。
B、运行data server。有两种方法:
通过adminserver来启动dataserver(推荐): 执行scripts下的./tfs admin_ds
直接启动dataserver,执行scripts下的./tfs start_ds 2,4-6, 则会启动dataserver2,dataserver4,dataserver5,dataserver6
程序基本上启动起来了
第六、相关操作
存数据至tfs:
从tfs取数据:
存放大文件至tfs:
取大文件:
对比结果:
对比结果大小相同
原文:http://www.0550go.com/cluster/tfs/tfs-file-system.html
- TFS文件系统 安装
- TFS--淘宝文件系统Nginx模块安装篇
- 在CentOS7下安装TFS及Nginx-TFS(分布式文件系统TFS、Nginx-TFS模块、TFS RESTful API)
- TFS文件系统
- TFS文件系统格式化分析
- TFS文件系统策略分析
- tfs文件系统笔记
- TFS集群文件系统
- tfs--淘宝文件系统扩容
- TFS淘宝文件系统原理
- 淘宝分布式文件系统TFS
- 安装TFS
- TFS安装
- TFS安装
- TFS安装
- tfs安装
- Taobao分布式文件系统TFS简析
- Taobao分布式文件系统TFS简析
- Tomcat启动报错 Failed to initialize connector [Connector[HTTP/1.1-8080]]
- autoreleasepool底层详解
- c#泛型使用详解:泛型特点、泛型继承、泛型接口、泛型委托
- Dubbo分布式服务框架入门(附工程)
- leetcode141: Linked List Cycle
- TFS文件系统 安装
- ImageView设置成手机内存卡图片
- C++ num++书写位置影响其值的输出问题
- Non-standard evaluation
- Java Bean 还是 POJO, 究竟用哪个好?
- mysql存储过程 例子 游标cursor 循环嵌套 事物
- JAVA多线程和并发基础面试问答
- 【BZOJ 1614】: [Usaco2007 Jan]Telephone Lines架设电话线 spfa+二分
- Android之免费短信验证Mob