|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!TFS(TaobaoFileSystem)是一个高可扩大、高可用、高功能、面向互联网办事的散布式文件体系,次要针对海量的非布局化数据,它修建在一般的Linux呆板集群上,可为内部供应高牢靠和高并发的存储会见。TFS为淘宝供应海量小文件存储,一般文件巨细不凌驾1M,满意了淘宝对小文件存储的需求,被普遍地使用在淘宝各项使用中。它接纳了HA架构宁静滑扩容,包管了全部文件体系的可用性和扩大性。同时扁平化的数据构造布局,可将文件名映照到文件的物理地点,简化了文件的会见流程,必定水平上为TFS供应了优秀的读写功能。
下面说有太优美了,实践利用起来仍是挺周折的。TFS有三个次要年夜版本:1.x,2.0.x,2.2.x,我前后试用了多个版本,以为2.0.4绝对来讲对照不乱,别的版本(2.2.8,2.2.10)成绩良多。这话是2012年11月说的,假如今后TFS的新版本不乱了另当别论。
TFS文件体系的装置申明
―注:本文本操纵体系是RedHat5.6
―-第1步筹办事情―-
反省办事器是不是能一般DNS剖析,目标是一般剖析域名,能够举行yum更新。
假如你的办事器DNS剖析一般,可跳过此步。
CentOS修正DNS***:(修正后可立即失效,重启后一样无效)
修正对应网卡的DNS的设置文件:修正以下内容:- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器
复制代码 ―-第2步筹办事情―-
RedHat5.6利用centosyum源:因为RedHat的yum在线更新是免费的,我们的RedHat没有注册,不克不及在线更新下载rpm包。需将RedHat的yum卸载后,重启装置Centos的yum,再设置其他yum源。
假如你的办事器yum可一般事情,可跳过此步。
详细操纵请看:RedHat5.6、6.0利用CentOSyum源
―-第3步筹办事情―-
先更新yum:到这里yum已能够一般事情。前面都必要利用的yum。
―-第4步筹办事情―-
RedHat5.x和Centos5.x利用gcc版本是4.1.2,RedHat6.x和Centos6.x利用gcc版本是4.4.6,对编译的语法反省更严厉,编译TFS给报错。
淘宝的tfs官网上请求利用gcc版本是4.1.2。
确认gcc版本:了局:以上一切呆板前往了局:gccversion4.1.220080704(RedHat4.1.2-50)
假如你利用RedHat6.x和Centos6.x,就要从头装置低版本的gcc,g++。
―-第5步晋级装置高版本mysql―-
TFS请求MySql版本>=5.1.40,否则编译时报错:checkingifMySQLversionis>=5.1.40…no
但我的CentOS5的yum源中最新只要5.0.95版本,一切利用这个yum源在线装置最高也只能装置5.0.95,换一个yum来办理成绩。
1.装置设置yum源:- wgethttp://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpmwgethttp://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5-8.el5.remi.noarch.rpmrpm-ivh*.rpm
复制代码 2.向以下3个文件尾部追加一个文本(能够不做):- echo‘priority=1′>>/etc/yum.repos.d/remi.repoecho‘priority=1′>>/etc/yum.repos.d/epel-testing.repoecho‘priority=1′>>/etc/yum.repos.d/epel.repo
复制代码 3.反省mysql是不是有可晋级版本。发明有版本能够晋级到mysql5.5.11。- yumCenablerepo=remilistmysql
复制代码 4.反省是不是有可晋级版本。发明有版本能够晋级到mysql5.5.11。- yumCenablerepo=remilistmysql5.删除操纵体系自带的低版本的mysqlyumremovemysql
复制代码 6.经由过程新yum源装置高版本的mysql- yum-yCenablerepo=remiinstallmysqlmysql-servermysql.x86_64mysql-devel.x86_64
复制代码 ―-第6步装置撑持包―-
必要确保装置了automakeautoconfig和libtool,一样平常情形下已装置。
auotmake1.4以上版本必要装置libuuid-devel,zlib-devel,mysql-devel三个开辟包考证automake是不是装置:了局:已装置
考证autoconfig是不是装置:- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器0
复制代码 了局:已装置
检察以装置的rpm包:rpm-qa|grep包名:- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器1
复制代码 假如你利用RedHat5.x和Centos5.x会找不到libuuid-devel包,请看上面。
- RedHat5.x和Centos5.x装置:yuminstalluuidd
- RedHat6.x和Centos6.x装置:yuminstalllibuuid-devel
- 装置别的撑持包:yuminstalllibtoolzlib-devel
晋级autoconf(不晋级也能够):- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器2
复制代码 上面的readline包体系自带了,ncurses包体系默许没有,我也没有装置,你安不安自已定吧。- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器3
复制代码 ―-第7步装置ext4格局―-
装置ext4格局工具:- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器4
复制代码 加载ext4模块,让体系撑持ext4文件体系- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器5
复制代码 申明:
1、TSF利用ext3文件体系,能够事情。
2、TSF的数据盘,只利用一个文件夹,能够事情,研讨时不克不及分区格盘时能够这么做。
―-第8步装置tb-common-utils―-
tb-common-utils是淘宝开辟利用的一个大众库。tbsys是对操纵体系办事的封装,tbnet则供应了收集框架。tbnet和tbsys被作为tb-common-utils被开源了,能够会见:http://code.taobao.org/trac/tb-common-utils/wiki。
TFS依附于底层开辟包tbnet。tb-common-utils内里含有tbsys和tbnet。
起首编译装置tblib(tb-common-utils),这里我装置在和tfs统一个路径。
gtest库是单位测试框架,上面装置装置gtest:
自行上彀下载gtest,新建一个下载目次,并进进这个目次。- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器6
复制代码 新建一个下载目次,并进进这个目次。下载源码:- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器7
复制代码 编译和装置tbnet,tbsys库:
指定情况变量TBLIB_ROOT为必要装置的目次。这个情况变量在后续tfs的编译装置中仍然会被利用到.好比要装置到以后用户的lib目次下,则指定export,- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器8
复制代码 ps:倡议将这行下令间接写进~/.bash_profile,然后实行“.~/.bash_profile”
修正:- nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器9
复制代码 增加:(企图装置在/usr/local/tb/lib目次)失效:进进tb-common-utils文件夹,实行build.sh举行装置。装置完成后,在TBLIB_ROOT暗示的目次(/usr/local/tb/lib),应当能够看到include、lib两个目次。
―-第9步编译装置TFS―-
编译装置tfs(装置到/usr/local/tfs目次)进进tfs目次:这是由于前面的tfs版本利用tcmalloc库了。
能够在config时加Cwithout-tcmalloc参数,从头编译,大概装tcmalloc库。我试过前者,是能够编译的。
TCMalloc(Thread-CachingMalloc)是谷歌开辟的开源工具。与尺度的glibc库的malloc比拟,TCMalloc在内存的分派上效力和速率要高,能够在很年夜水平上进步办事器在高并发情形下的功能,下降体系负载。这个模块能够用来让MySQL在高并发下内存占用加倍不乱。(参考博客)
make完后,假如有相似以下信息,暗示编译不乐成,假如没有报错,申明装置乐成。
我make乐成了,makeinstall同样成功了。到这里本文停止了。官网:http://code.taobao.org/p/tfs/wiki/index/
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|