仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 683|回复: 7
打印 上一主题 下一主题

[CentOS(社区)] CentOS教程之啊里云散布式文件体系TFS装置设置手册:体系装置

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:42:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的设置文件:
  1. #vi/etc/resolv.conf
复制代码
修正以下内容:
  1. 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:
  1. 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版本:
  1. 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源:
  1. 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个文件尾部追加一个文本(能够不做):
  1. 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。
  1. yumCenablerepo=remilistmysql
复制代码
4.反省是不是有可晋级版本。发明有版本能够晋级到mysql5.5.11。
  1. yumCenablerepo=remilistmysql5.删除操纵体系自带的低版本的mysqlyumremovemysql
复制代码
6.经由过程新yum源装置高版本的mysql
  1. yum-yCenablerepo=remiinstallmysqlmysql-servermysql.x86_64mysql-devel.x86_64
复制代码
―-第6步装置撑持包―-
必要确保装置了automakeautoconfig和libtool,一样平常情形下已装置。
auotmake1.4以上版本必要装置libuuid-devel,zlib-devel,mysql-devel三个开辟包考证automake是不是装置:
  1. rpm-qa|grepautomake
复制代码
了局:已装置
考证autoconfig是不是装置:
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器0
复制代码
了局:已装置
检察以装置的rpm包:rpm-qa|grep包名:
  1. 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(不晋级也能够):
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器2
复制代码
上面的readline包体系自带了,ncurses包体系默许没有,我也没有装置,你安不安自已定吧。
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器3
复制代码
―-第7步装置ext4格局―-
装置ext4格局工具:
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器4
复制代码
加载ext4模块,让体系撑持ext4文件体系
  1. 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,新建一个下载目次,并进进这个目次。
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器6
复制代码
新建一个下载目次,并进进这个目次。下载源码:
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器7
复制代码
编译和装置tbnet,tbsys库:
指定情况变量TBLIB_ROOT为必要装置的目次。这个情况变量在后续tfs的编译装置中仍然会被利用到.好比要装置到以后用户的lib目次下,则指定export,
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器8
复制代码
ps:倡议将这行下令间接写进~/.bash_profile,然后实行“.~/.bash_profile”
修正:
  1. nameserver8.8.8.8#谷歌域名办事器nameserver8.8.4.4#谷歌域名办事器9
复制代码
增加:(企图装置在/usr/local/tb/lib目次)
  1. yumupdate0
复制代码
失效:
  1. yumupdate1
复制代码
进进tb-common-utils文件夹,实行build.sh举行装置。
  1. yumupdate2
复制代码
装置完成后,在TBLIB_ROOT暗示的目次(/usr/local/tb/lib),应当能够看到include、lib两个目次。
―-第9步编译装置TFS―-
编译装置tfs(装置到/usr/local/tfs目次)
  1. yumupdate3
复制代码
进进tfs目次:
  1. yumupdate4
复制代码
这是由于前面的tfs版本利用tcmalloc库了。
能够在config时加Cwithout-tcmalloc参数,从头编译,大概装tcmalloc库。我试过前者,是能够编译的。
TCMalloc(Thread-CachingMalloc)是谷歌开辟的开源工具。与尺度的glibc库的malloc比拟,TCMalloc在内存的分派上效力和速率要高,能够在很年夜水平上进步办事器在高并发情形下的功能,下降体系负载。这个模块能够用来让MySQL在高并发下内存占用加倍不乱。(参考博客)
make完后,假如有相似以下信息,暗示编译不乐成,假如没有报错,申明装置乐成。
我make乐成了,makeinstall同样成功了。到这里本文停止了。
  1. 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 | 只看该作者
有疑问前,知识学习前,先用搜索。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-4 22:05:55 | 只看该作者
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-10 22:20:11 | 只看该作者
感谢老师和同学们在学习上对我的帮助。
深爱那片海 该用户已被删除
7#
 楼主| 发表于 2015-3-1 17:30:40 | 只看该作者
Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。
若天明 该用户已被删除
8#
发表于 2015-3-24 23:40:34 | 只看该作者
我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-1 07:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表