TFS(Taobao File System)安装方法
检查服务器是否能正常DNS解析,目的是正常解析域名,可以进行yum更新。
如果你的服务器DNS解析正常,可跳过此步。
CentOS修改DNS方法:(修改后可即时生效,重启后同样有效)
修改对应网卡的DNS的配置文件
# vi /etc/resolv.conf
修改以下内容
nameserver 8.8.8.8 #google域名服务器
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
yum update
到这里yum已可以正常工作。后面都需要使用的yum。
RedHat5.x和Centos 5.x使用gcc版本是4.1.2
RedHat6.x和Centos 6.x使用gcc版本是4.4.6,对编译的语法检查更严格,编译TFS给报错。
淘宝的tfs官网上要求使用gcc版本是4.1.2。
确认gcc版本
gcc -v
结果:以上所有机器返回结果 :gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)
如果你使用RedHat6.x和Centos 6.x,就要重新安装低版本的gcc,g++。
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源
wget http://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5-8.el5.remi.noarch.rpm
rpm -ivh *.rpm
2.向以下3个文件尾部追加一个文本(可以不做)
echo 'priority=1' >> /etc/yum.repos.d/remi.repo
echo 'priority=1' >> /etc/yum.repos.d/epel-testing.repo
echo 'priority=1' >> /etc/yum.repos.d/epel.repo
3.检查mysql 是否有可升级版本。发现有版本可以升级到mysql5.5.11。
yum --enablerepo=remi list mysql
yum --enablerepo=remi list mysql
5.删除操作系统自带的低版本的mysql
yum remove mysql
6.通过新yum源安装高版本的mysql
yum -y --enablerepo=remi install mysql mysql-server mysql.x86_64 mysql-devel.x86_64
需要确保安装了automake autoconfig 和 libtool,一般情况下已安装。
auotmake 1.4以上版本需要安装libuuid-devel,zlib-devel,mysql-devel三个开发包
验证automake是否安装rpm -qa |grep automake 结果:已安装
验证autoconfig是否安装 /usr/bin/autoconf -V 结果:已安装
查看以安装的rpm包:rpm -qa|grep 包名
rpm -qa|grep libuuid
rpm -qa|grep zlib-devel
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
升级autoconf (不升级也可以)
[root@locatfs local]# whereis autoconf
[root@locatfs local]# rpm -qf /usr/bin/autoconf
[root@locatfs local]# /usr/bin/autoconf -V
[root@locatfs local]# rpm -e --nodeps autoconf-2.59-12
[root@locatfs local]# wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
[root@locatfs local]# tar zxvf autoconf-latest.tar.gz
[root@locatfs local]# cd autoconf-2.69
[root@locatfs local]# ./configure --prefix=/usr
[root@locatfs local]# make
[root@locatfs local]# make install
[root@locatfs local]# /usr/bin/autoconf -V #查看是否安装成功
下面的readline包系统自带了,ncurses包系统默认没有,我也没有安装,你安不安自已定吧。
[root@locatfs local]# yum install readline-devel readline
[root@locatfs local]# yum install ncurses-devel.x86_64 ncurses.x86_64
---- 第7步 安装ext4格式----
安装ext4格式工具
[root@locatfs local]# yum install e4fsprogs e4fsprogs-devel
加载ext4模块,让系统支持ext4文件系统
[root@locatfs local]# modprobe ext4
说明:
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同一个路径。
(http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utils)
gtest库是单元测试框架,下面安装安装gtest
自行上网下载gtest, (http://code.google.com/p/googletest/downloads/list)
新建一个下载目录,并进入这个目录。
wget http://googletest.googlecode.com/files/gtest-1.6.0.zip
[root@locatfs local]# unzip gtest-1.6.0.zip
[root@locatfs local]# cd gtest-1.6.0
[root@locatfs local]# ./configure
[root@locatfs local]# make
[root@locatfs local]# cd make/
[root@locatfs local]# make
[root@locatfs local]# ./sample1_unittest
安装tb-common-utils
新建一个下载目录,并进入这个目录。下载源码:
[root@locatfs local]# svn checkout http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utils
编译和安装tbnet, tbsys库
指定环境变量 TBLIB_ROOT为需要安装的目录。这个环境变量在后续tfs的编译安装中仍旧会被使用到. 比如要安装到当前用户的lib目录下, 则指定 export TBLIB_ROOT="/home/xxxx/lib"
ps:建议将这行命令直接写入~/.bash_profile,然后执行“. ~/.bash_profile”
修改:
[root@locatfs local]# vi /etc/profile
添加:(计划安装在/usr/local/tb/lib目录)
export TBLIB_ROOT=/usr/local/tb/lib
生效:
[root@locatfs local]# source /etc/profile
进入tb-common-utils文件夹, 执行build.sh进行安装.
[root@locatfs local]# cd tb-common-utils/
[root@locatfs local]# chmod +x *.sh
[root@locatfs local]# ./build.sh
安装完成后,在TBLIB_ROOT表示的目录(/usr/local/tb/lib),应该可以看到include、lib 两个目录。
---- 第8步 编译安装TFS----
编译安装tfs (安装到 /usr/local/tfs目录)
[root@locatfs local]# svn checkout http://code.taobao.org/svn/tfs/tags/release-2.2.10 tfs-2.2.10 (这个编译成功了)
[root@locatfs local]# svn checkout http://code.taobao.org/svn/tfs/trunk/ tfs (这个编译不成功)
进入 tfs 目录
[root@locatfs local]# cd tfs/
[root@locatfs local]# ./build.sh init
[root@locatfs local]# ./configure --prefix=/usr/local/tfs --without-tcmalloc
[root@locatfs local]# make
[root@locatfs local]# make install
# 把tfs下的cs_sync.sh复制成cs_sync 执行:cp -a ./scripts/cs_sync.sh /root/tfs_bin/scripts/cs_sync
如果出错:checking for tc_cfree in -ltcmalloc... no
这是因为后面的tfs版本使用tcmalloc库了
可以在config时加--without-tcmalloc参数,重新编译,或者装tcmalloc库。我试过前者,是可以编译的。
TCMalloc(Thread-Caching Malloc)是google开发的开源工具
与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高,可以在很大程度上提高服务器在高并发情况下的性能,降低系统负载。
这个模块可以用来让MySQL在高并发下内存占用更加稳定。
参考 :http://blog.chinaunix.net/space.php?uid=10449864&do=blog&id=2956849
make完后,如果有类似以下信息,表示编译不成功,如果没有报错,说明安装成功
我make成功了,make install也成功了。到这里本文结束了。
make[3]: *** [read_block_prefix] Error 1
make[3]: Leaving directory `/tmp/tfs/src/tools/dataserver'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/tfs/src/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/tfs/src'
make: *** [all-recursive] Error 1
http://wenku.baidu.com/view/cc597ef8941ea76e58fa04a5.html
TFS(Taobao File System)安装方法的更多相关文章
- Linux 6.8 TFS(Taobao File System)使用文档-安装篇
介绍 TFS(Taobao FileSystem)是一个高可扩展.高可用.高性能.面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据的存储:TFS使用C++语言开发,需要运行在64b ...
- Android出现Read-only file system 解决方法
操作AVD文件系统上的文件时遇到"... Read-only file system". 解决办法: 将AVD sdcard挂载为读写权限: 在doc下执行:adb -s emul ...
- Taobao File System
TFS是淘宝针对海量非结构化数据存储设计的分布式系统,构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问.高可扩展.高可用.高性能.面向互联网服务. 特性 采用扁平化的数据组织结构 ...
- Android read-only file system解决方法
adb shell su - mount -o rw,remount /system
- vmware tools 的安装(Read-only file system 的解决)
安装 vmware tools 之后,才能将 vmware 创建的虚拟机以全屏的形式显示. 下载:在 vmware 软件的菜单栏点击[虚拟机],在[虚拟机]的主菜单中选择[安装 VMware Tool ...
- android-problem——remount of /system failed: Read-only file system
adb remount后仍旧不能对system进行读写.需要进行adb disable-verity 在Android6.0 (Android M)userdebug版本上(eng版本不存在该问题), ...
- 【转】Android adb shell操作时出现“ XXX ... Read-only file system”解决办法--不错
原文网址:http://blog.csdn.net/whu_zhangmin/article/details/25364349 手机连接PC后 adb shell su rm -r /system/a ...
- changing permissions of Read-only file system in linux
up vote 2 down vote favorite 1 i use this command to make a bootable flash disk of linux mint sudo ...
- chmod: changing permissions of ‘/etc/fstab': Read-only file system
给passwd文件加权限,修改/etc/fstab目录下所有的文件夹属性为可写可读可执行,执行以下命令:chomd 777 /etc/fstab 的时候提示错误: chmod: changing pe ...
随机推荐
- 注册表 锁IE首页
用附件中的修改软件,或者用以下修改注册表的办法. 一.注册表被修改的原因及解决办法 其实,该恶意网页是含有有害代码的ActiveX网页文件,这些广告信息的出现是因为浏览者的注册表被恶意更改的结果. ...
- 【drp 10】JSP页面中model1和model2的区别
一.基本概念 1.1,model1 model1的开发模式是:jsp+javabean的模式,它的核心是JSP页面,在这个页面中,jsp页面负责整合页面和javabean(业务逻辑),而且渲染页面.它 ...
- angular.extend(dst, src)对象拓展
angular.extend(dst, src) 作用:对象的拓展 参数: dst:拓展的对象 src:源对象 返回值:拓展的对象 var dst = {name: 'xxx', country: ...
- virtual box 中两个虚拟机 、宿主机 三机互通并且能上外网设置
virtual box 中两个虚拟机 .宿主机 三机互通并且能上外网设置 1:背景:因为需要学习linux,所以需要在虚拟机里装linux系统,测试要么宿主机与虚拟机linux网络实验测试:要么另一台 ...
- SQL SERVER基础语句
1.增加字段名 ALTER TABLE [表名] ADD [列名] VARCHAR(20) NULL VARCHAR(20)是新加字段的类型和长度NUll:表示允许NULL值 3.修改字段类型 A ...
- c#中执行多条sql语句【ORA-00911: 无效字符】
问题描述: 在plsql里执行多条sql语句的时候,使用“,”(逗号)分隔,测试可以执行多条,而在C#执行多条sql语句的时候[ORA-00911: 无效字符]. 有时我们需要一次性执行多条sql语句 ...
- 网页热力图 heatmap js
HBuilder +js 实现网页热力图 废话不多说,上代码 <!DOCTYPE html> <html> <head> <title>111</ ...
- MongoDB(2):入门
MongoDB入门教程(包含安装.常用命令.相关概念.使用技巧.常见操作等) http://www.jb51.net/article/51514.htm 这篇文章主要介绍了MongoDB入门教程,包含 ...
- 14 个折磨人的 JavaScript 面试题
前端工程师有时候面试时会遇到一类面试官,他们问的问题对于语言本身非常较真儿,往往不是候选人可能期待的面向实际的问题(有些候选人强调能干活就行,至于知不知道其中缘由是无关痛痒的).这类题目,虽然没有逻辑 ...
- android 分段显示文本颜色控件
效果: 使用: <com.bei.myapplication.app.ProgressTextView xmlns:ptv="http://schemas.android.com/ap ...