深爱那片海 发表于 2015-1-14 20:42:32

CentOS教程之啊里云散布式文件体系TFS装置设置手册:体系装置

欢迎大家来到仓酷云论坛!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的设置文件:
#vi/etc/resolv.conf修正以下内容:
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:
yumupdate到这里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版本:
gcc-v了局:以上一切呆板前往了局: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*.rpm2.向以下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.repo3.反省mysql是不是有可晋级版本。发明有版本能够晋级到mysql5.5.11。
yumCenablerepo=remilistmysql4.反省是不是有可晋级版本。发明有版本能够晋级到mysql5.5.11。
yumCenablerepo=remilistmysql5.删除操纵体系自带的低版本的mysqlyumremovemysql6.经由过程新yum源装置高版本的mysql
yum-yCenablerepo=remiinstallmysqlmysql-servermysql.x86_64mysql-devel.x86_64―-第6步装置撑持包―-
必要确保装置了automakeautoconfig和libtool,一样平常情形下已装置。
auotmake1.4以上版本必要装置libuuid-devel,zlib-devel,mysql-devel三个开辟包考证automake是不是装置:
rpm-qa|grepautomake了局:已装置
考证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#谷歌域名办事器8ps:倡议将这行下令间接写进~/.bash_profile,然后实行“.~/.bash_profile”
修正:
nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器9增加:(企图装置在/usr/local/tb/lib目次)
yumupdate0失效:
yumupdate1进进tb-common-utils文件夹,实行build.sh举行装置。
yumupdate2装置完成后,在TBLIB_ROOT暗示的目次(/usr/local/tb/lib),应当能够看到include、lib两个目次。
―-第9步编译装置TFS―-
编译装置tfs(装置到/usr/local/tfs目次)
yumupdate3进进tfs目次:
yumupdate4这是由于前面的tfs版本利用tcmalloc库了。
能够在config时加Cwithout-tcmalloc参数,从头编译,大概装tcmalloc库。我试过前者,是能够编译的。
TCMalloc(Thread-CachingMalloc)是谷歌开辟的开源工具。与尺度的glibc库的malloc比拟,TCMalloc在内存的分派上效力和速率要高,能够在很年夜水平上进步办事器在高并发情形下的功能,下降体系负载。这个模块能够用来让MySQL在高并发下内存占用加倍不乱。(参考博客)
make完后,假如有相似以下信息,暗示编译不乐成,假如没有报错,申明装置乐成。
我make乐成了,makeinstall同样成功了。到这里本文停止了。
yumupdate5官网:http://code.taobao.org/p/tfs/wiki/index/


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!

透明 发表于 2015-1-14 22:51:19

CentOS教程之啊里云散布式文件体系TFS装置设置手册:体系装置

边撸边过

飘灵儿 发表于 2015-1-17 12:32:27

上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.

小妖女 发表于 2015-1-26 16:21:58

有疑问前,知识学习前,先用搜索。

愤怒的大鸟 发表于 2015-2-4 22:05:55

这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?

灵魂腐蚀 发表于 2015-2-10 22:20:11

感谢老师和同学们在学习上对我的帮助。

深爱那片海 发表于 2015-3-1 17:30:40

Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。

若天明 发表于 2015-3-24 23:40:34

我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
页: [1]
查看完整版本: CentOS教程之啊里云散布式文件体系TFS装置设置手册:体系装置