自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淘寶分布式文件系統(tǒng)TFS安裝配置手冊:系統(tǒng)安裝

運維 系統(tǒng)運維 分布式
TFS(Taobao File System)是一個高可擴展、高可用、高性能、面向互聯(lián)網(wǎng)服務的分布式文件系統(tǒng),主要針對海量的非結(jié)構(gòu)化數(shù)據(jù),它構(gòu)筑在普通的Linux機器集群上,可為外部提供高可靠和高并發(fā)的存儲訪問。本文總結(jié)了淘寶分布式文件系統(tǒng)TFS文件系統(tǒng)的安裝方法。

TFS(Taobao File System)是一個高可擴展、高可用、高性能、面向互聯(lián)網(wǎng)服務的分布式文件系統(tǒng),主要針對海量的非結(jié)構(gòu)化數(shù)據(jù),它構(gòu)筑在普通的Linux機器集群上,可為外部提供高可靠和高并發(fā)的存儲訪問。TFS為淘寶提供海量小文件存儲,通常文件大小不超過1M,滿足了淘寶對小文件存儲的需求,被廣泛地應用 在淘寶各項應用中。它采用了HA架構(gòu)和平滑擴容,保證了整個文件系統(tǒng)的可用性和擴展性。同時扁平化的數(shù)據(jù)組織結(jié)構(gòu),可將文件名映射到文件的物理地址,簡化了文件的訪問流程,一定程度上為TFS提供了良好的讀寫性能。

上面說有太美好了,實際使用起來還是挺周折的。TFS有三個主要大版本:1.x,2.0.x,2.2.x,我先后試用了多個版本,認為2.0.4相對來說 比較穩(wěn)定,其它版本(2.2.8,2.2.10)問題很多。這話是2012年11月說的,如果以后TFS的新版本穩(wěn)定了另當別論。

TFS文件系統(tǒng)的安裝說明  

—   注:本文本操作系統(tǒng)是RedHat5.6

—- 第1步 準備工作—-

檢查服務器是否能正常DNS解析,目的是正常解析域名,可以進行yum更新。

如果你的服務器DNS解析正常,可跳過此步。

CentOS修改DNS方法:(修改后可即時生效,重啟后同樣有效)

修改對應網(wǎng)卡的DNS的配置文件:

  1. # vi /etc/resolv.conf 

修改以下內(nèi)容:

  1. nameserver 8.8.8.8 #google域名服務器  
  2. nameserver 8.8.4.4 #google域名服務器 

—- 第2步 準備工作—- 

RedHat5.6使用centos yum源:由于RedHat的yum在線更新是收費的,我們的RedHat沒有注冊,不能在線更新下載rpm包。需將RedHat的yum卸載后,重啟安裝Centos的yum,再配置其他yum源。

如果你的服務器yum可正常工作,可跳過此步。

具體操作請看: RedHat5.6、6.0使用CentOS yum源

—- 第3步 準備工作—-

先更新yum:

  1. yum update 

到這里yum已可以正常工作。后面都需要使用的yum。

—- 第4步 準備工作—-

RedHat5.x和Centos 5.x使用gcc版本是4.1.2,RedHat6.x和Centos 6.x使用gcc版本是4.4.6,對編譯的語法檢查更嚴格,編譯TFS給報錯。

淘寶的tfs官網(wǎng)上要求使用gcc版本是4.1.2。

確認gcc版本:

  1. gcc -v 

結(jié)果:以上所有機器返回結(jié)果 :gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)

如果你使用RedHat6.x和Centos 6.x,就要重新安裝低版本的gcc,g++。

—- 第5步 升級安裝高版本mysql—-

TFS要求MySql版本>= 5.1.40,不然編譯時報錯:checking if MySQL version is >= 5.1.40… no

但我的CentOS 5的yum源中***只有 5.0.95版本,所有使用這個yum源在線安裝***也只能安裝5.0.95,換一個yum來解決問題。

1.安裝配置yum源:

  1. wget http://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm 
  2. wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5-8.el5.remi.noarch.rpm 
  3. rpm -ivh *.rpm 

2.向以下3個文件尾部追加一個文本(可以不做):

  1. echo ‘priority=1′ >> /etc/yum.repos.d/remi.repo 
  2. echo ‘priority=1′ >> /etc/yum.repos.d/epel-testing.repo 
  3. echo ‘priority=1′ >> /etc/yum.repos.d/epel.repo 

3.檢查mysql 是否有可升級版本。發(fā)現(xiàn)有版本可以升級到mysql5.5.11。

  1. yum –enablerepo=remi list mysql 

4.檢查是否有可升級版本。發(fā)現(xiàn)有版本可以升級到mysql5.5.11。

  1. yum –enablerepo=remi list mysql5.刪除操作系統(tǒng)自帶的低版本的mysql 
  2. yum remove mysql 

6.通過新yum源安裝高版本的mysql

  1. yum -y –enablerepo=remi install mysql mysql-server mysql.x86_64  mysql-devel.x86_64 

—- 第6步 安裝支持包—-

需要確保安裝了automake autoconfig 和 libtool,一般情況下已安裝。

auotmake 1.4以上版本需要安裝libuuid-devel,zlib-devel,mysql-devel三個開發(fā)包驗證automake是否安裝:

  1. rpm -qa |grep automake      

結(jié)果:已安裝

驗證autoconfig是否安裝:

  1. /usr/bin/autoconf -V      

結(jié)果:已安裝

查看以安裝的rpm包:rpm -qa|grep 包名:

  1. rpm -qa|grep libuuid 
  2. rpm -qa|grep zlib-devel 
  3. rpm -qa|grep mysql-devel 

如果你使用RedHat5.x和Centos 5.x會找不到libuuid-devel包,請看下面。

  • RedHat5.x和Centos 5.x 安裝:  yum install uuidd
  • RedHat6.x和Centos 6.x 安裝:  yum install libuuid-devel
  • 安裝其它支持包: yum install libtool zlib-devel

升級autoconf (不升級也可以):

  1. [root@locatfs local]# whereis autoconf 
  2. [root@locatfs local]# rpm -qf /usr/bin/autoconf 
  3. [root@locatfs local]# /usr/bin/autoconf -V 
  4. [root@locatfs local]# rpm -e –nodeps autoconf-2.59-12 
  5. [root@locatfs local]# wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz 
  6. [root@locatfs local]# tar zxvf autoconf-latest.tar.gz 
  7. [root@locatfs local]# cd autoconf-2.69 
  8. [root@locatfs local]# ./configure  –prefix=/usr 
  9. [root@locatfs local]# make 
  10. [root@locatfs local]# make install 
  11. [root@locatfs local]# /usr/bin/autoconf -V   #查看是否安裝成功 

下面的readline包系統(tǒng)自帶了,ncurses包系統(tǒng)默認沒有,我也沒有安裝,你安不安自已定吧。

  1. [root@locatfs local]# yum install readline-devel readline 
  2. [root@locatfs local]# yum install ncurses-devel.x86_64  ncurses.x86_64 

—- 第7步 安裝ext4格式—-

安裝ext4格式工具:

  1. [root@locatfs local]# yum install  e4fsprogs e4fsprogs-devel 

加載ext4模塊,讓系統(tǒng)支持ext4文件系統(tǒng)

  1. [root@locatfs local]#  modprobe ext4 

說明:

1、TSF使用ext3文件系統(tǒng),可以工作。

2、TSF的數(shù)據(jù)盤,只使用一個文件夾,可以工作,研究時不能分區(qū)格盤時可以這么做。

—- 第8步 安裝tb-common-utils—-

tb-common-utils是淘寶開發(fā)使用的一個公共庫。tbsys是對操作系統(tǒng)服務的封裝,tbnet則提供了網(wǎng)絡框架。 tbnet和tbsys被作為tb-common-utils被開源了,可以訪問:http://code.taobao.org/trac/tb-common-utils/wiki。

TFS依賴于底層開發(fā)包tbnet。tb-common-utils里面含有tbsys和tbnet。

首先編譯安裝tblib(tb-common-utils),這里我安裝在和tfs同一個路徑。

gtest庫是單元測試框架,下面安裝安裝gtest:

自行上網(wǎng)下載gtest,新建一個下載目錄,并進入這個目錄。

  1. wget http://googletest.googlecode.com/files/gtest-1.6.0.zip 
  2. [root@locatfs local]# unzip gtest-1.6.0.zip 
  3. [root@locatfs local]# cd gtest-1.6.0 
  4. [root@locatfs local]# ./configure 
  5. [root@locatfs local]# make 
  6. [root@locatfs local]# cd make/ 
  7. [root@locatfs local]# make 
  8. [root@locatfs local]# ./sample1_unittest 
  9. 安裝tb-common-utils 

新建一個下載目錄,并進入這個目錄。下載源碼:

  1. [root@locatfs local]# svn checkout http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utils 

編譯和安裝tbnet, tbsys庫:

指定環(huán)境變量 TBLIB_ROOT為需要安裝的目錄。這個環(huán)境變量在后續(xù)tfs的編譯安裝中仍舊會被使用到. 比如要安裝到當前用戶的lib目錄下, 則指定 export,

  1. TBLIB_ROOT=”/home/xxxx/lib” 

ps:建議將這行命令直接寫入~/.bash_profile,然后執(zhí)行“. ~/.bash_profile”

修改:

  1. [root@locatfs local]# vi /etc/profile 

添加:(計劃安裝在/usr/local/tb/lib目錄)

  1. export TBLIB_ROOT=/usr/local/tb/lib 

生效:

  1. [root@locatfs local]# source /etc/profile 

進入tb-common-utils文件夾, 執(zhí)行build.sh進行安裝。

  1. [root@locatfs local]# cd tb-common-utils/ 
  2. [root@locatfs local]# chmod +x *.sh 
  3. [root@locatfs local]# ./build.sh 

安裝完成后,在TBLIB_ROOT表示的目錄(/usr/local/tb/lib),應該可以看到include、lib 兩個目錄。

—- 第9步 編譯安裝TFS—-

編譯安裝tfs   (安裝到 /usr/local/tfs目錄)

  1. [root@locatfs local]# svn checkout http://code.taobao.org/svn/tfs/tags/release-2.2.10 tfs-2.2.10 (這個編譯成功了) 
  2. [root@locatfs local]# svn checkout http://code.taobao.org/svn/tfs/trunk/ tfs (這個編譯不成功) 

進入 tfs 目錄:

  1. [root@locatfs local]# cd tfs/ 
  2. [root@locatfs local]# chmod +x *.sh 
  3. [root@locatfs local]# ./build.sh  init 
  4. [root@locatfs local]# ./configure –prefix=/usr/local/tfs –without-tcmalloc 
  5. [root@locatfs local]# make 
  6. [root@locatfs local]# make install 
  7. #如果提示找不到/usr/local/tfs/scripts/cs_sync 
  8. # 把tfs下的cs_sync.sh復制成cs_sync 執(zhí)行:cp -a ./scripts/cs_sync.sh /root/tfs_bin/scripts/cs_sync如果出錯:checking for tc_cfree in -ltcmalloc… no 

這是因為后面的tfs版本使用tcmalloc庫了。

可以在config時加–without-tcmalloc參數(shù),重新編譯,或者裝tcmalloc庫。我試過前者,是可以編譯的。

TCMalloc(Thread-Caching Malloc)是google開發(fā)的開源工具。與標準的glibc庫的malloc相比,TCMalloc在內(nèi)存的分配上效率和速度要高,可以在很大程度上提高服務器在高并發(fā)情況下的性能,降低系統(tǒng)負載。這個模塊可以用來讓MySQL在高并發(fā)下內(nèi)存占用更加穩(wěn)定。(參考博客

make完后,如果有類似以下信息,表示編譯不成功,如果沒有報錯,說明安裝成功。

我make成功了,make install也成功了。到這里本文結(jié)束了。

  1. make[3]: *** [read_block_prefix] Error 1 
  2. make[3]: Leaving directory `/tmp/tfs/src/tools/dataserver’ 
  3. make[2]: *** [all-recursive] Error 1 
  4. make[2]: Leaving directory `/tmp/tfs/src/tools’ 
  5. make[1]: *** [all-recursive] Error 1 
  6. make[1]: Leaving directory `/tmp/tfs/src’ 
  7. make: *** [all-recursive] Error 1 

官網(wǎng):http://code.taobao.org/p/tfs/wiki/index/

責任編輯:黃丹 來源: mysqlops
相關(guān)推薦

2014-01-14 15:56:54

分布式文件系統(tǒng)TFS淘寶

2014-01-15 13:56:28

分布式文件系統(tǒng)TFS淘寶

2014-01-15 16:49:48

分布式文件系統(tǒng)TFS淘寶

2014-01-15 14:00:33

分布式文件系統(tǒng)TFS淘寶

2012-10-11 14:03:56

FastDFS分布式文件系統(tǒng)

2010-11-01 05:50:46

分布式文件系統(tǒng)

2014-01-16 09:42:19

TFS分布式文件系統(tǒng)

2014-06-24 15:24:52

Moosefs分布式集群

2017-10-17 08:33:31

存儲系統(tǒng)分布式

2010-11-15 13:24:07

分布式文件系統(tǒng)

2013-01-07 10:29:31

大數(shù)據(jù)

2012-08-31 16:04:11

HDFS分布式文件系統(tǒng)

2013-06-18 14:00:59

HDFS分布式文件系統(tǒng)

2010-06-04 18:45:43

Hadoop分布式文件

2012-09-19 13:43:13

OpenAFS分布式文件系統(tǒng)

2012-09-19 15:05:24

MogileFS分布式文件系統(tǒng)

2013-05-27 14:46:06

文件系統(tǒng)分布式文件系統(tǒng)

2011-07-15 17:48:27

Platform

2020-01-03 08:33:57

Ceph硬件系統(tǒng)

2011-03-16 14:23:38

分布式文件
點贊
收藏

51CTO技術(shù)棧公眾號