TFS(二)--工具

来源:互联网 发布:石家庄网络机柜 编辑:程序博客网 时间:2024/06/05 19:33

运行TFS

启动nameserver

执行scripts目录下的tfs
./tfs start_ns

启动dataserver

现有TFS可以在一台服务器上启动多个DataServer进程。一般每个DataServer进程负责一个磁盘。

将数据盘格式化成EXT4文件系统,并挂载到/data/tfs1至/data/tfs(i),其中i为磁盘号。

启动步骤:
一、存储区预分配。执行scripts下的stfs format n (n为挂载点的序号,具体用法见stfs的Usage)。例如stfs format 2,4-6 则会对/data/tfs2,

/data/tfs4,/data/tfs5,/data/tfs6,进行预分配。运行完后会在生成/data/tfs2, /data/tfs4,/data/tfs5,/data/tfs6下预先创建主块,扩展块及相应的统计信息。

二、运行data server。有两种方法:

  1. 通过adminserver来启动dataserver(推荐): 执行scripts下的./tfs admin_ds
  2. 直接启动dataserver,执行scripts下的./tfs start_ds 2,4-6, 则会启动dataserver2,dataserver4,dataserver5,dataserver6

启动rcserver

配置rcserver数据库,数据库创建脚本请参见sql/rcs/create_table.sql,配置参见sql/rcs/rc_test_info.sql,数据字典请参见doc/resource_server/
执行scripts目录下的tfs
./tfs start_rc

启动rootserver

执行scripts目录下的tfs
./tfs start_rs

启动metaserver

配置metaserver数据库,数据库创建脚本请参见sql/ms/*.sql,其中包括了表创建和存储过程的创建。
执行scripts目录下的tfs

./tfs start_meta


tfstool

用法:./tfstool -s nsip:port -c clusterid 
描述:对TFS集群的操作,包括Block的列表获取、创建和删除操作,File的列表获取、读写等基本操作。
返回:出现TFS命令提示符,可有多种工具选择,且输入help可查看所有工具。
具体工具如下介绍:
(1) put 
用法:put local_file [tfs_name] [suffix] 
描述:上传文件到TFS上。
示例:put test.jpg NULL .jpg 
(2) get 
用法:get tfs_name local_file 
描述:从TFS上下载文件到本地。
示例:get T1XXXXXXXXXXXXXXXX tmp.txt 
(3) rm 
用法:rm tfs_name 
描述:在TFS上删除文件。
示例:rm T1XXXXXXXXXXXXXXXX 
(4) rename 
用法:rename tfs_name new_name 
描述:重命名文件,不建议使用。
示例:rename T1XXXXXXXXXXXXXXXX T1XXXXXXXXXXXXXXXX.jpg 
(5) newfilename 
用法:newfilename 
描述:新建文件名。
示例:newfilename 
(6) stat 
用法:stat tfs_name 
描述:获取tfs文件的状态。
示例:stat T1XXXXXXXXXXXXXXXX 
(7) statblk 
用法:statblk ip:port block_id 
描述:获取block的状态。
示例:statblk 192.168.2.3:3220 1200 
(8) lsf 
用法:lsf block_id ip:port [detail] 
描述:列出特定block上的文件名。
示例:lsf 1200 192.168.2.3:3220 
(9) cfi 
用法:cfi filename 
描述:获取TFS上的文件状态。
示例:cfi T1XXXXXXXXXXXXXXXX 
(10) vcblk 
用法:vcblk ip:port count 
描述:获取使用最频繁的前n个block访问次数信息。
示例:vcblk 192.168.2.3:3220 10 
(11) Batch 
用法:batch file_name 
描述:运行批处理文件。
示例:batch test 
(12) compact 
用法:compact blockid 
描述:将block中标识删除的文件删除。
示例:compact 1200 
(13) param 
用法:Param param_name 
描述:查看参数值。
示例:param minReplication 
(14) repairblk 
用法:repairblk block_id [source] [dest] [action] 
描述:block备份数少于最小备份数时,备份block。
示例:repairblk 1200 
(15) repairgrp 
用法:repairgrp block_id 
描述:当发现Block备份在同一机架时,备份block到不同机架。
示例:repairgrp 1200 
(16) removeblock
用法:removeblock block_id 
描述:删除block。
示例:removeblock 1200 
(17) listblock
用法:listblock block_id 
描述:列出该block所在DataServer。
示例:listblock 1200 

showssm

用法:./showssm -f tfs.conf -t type -i interval -c execute_count 
描述:显示dataserver上的block信息,machine信息,服务器的读写状态信息等。
参数:
-f tfs.conf

tfs的配置文件

-t type

type=1 显示block信息
type=2 显示ds信息
type=4 显示可写块列表
type=8 显示扩展块信息
type=16 显示扩展ds信息
type=32 显示服务器总体及最近和最大的读写信息
type=64 显示服务器最近和最大的读写状态信息及最近的启动时间

-I interval

重复查询时间隔的时间,即多少秒查询一次状态。

-c execute_count

执行查询的次数

示例:./showssm -f tfs.conf -t 1 -i 3 -c 2 

reverse_name

用法: ./reverse_name filename 
描述: 转换文件名,根据文件名获取文件所在的blockid,fileid和sequenceid。
示例:./reverse_name TXXXXXXXXXXXXXXXX 

ds_client

用法: ./ds_client -d ip:port 
描述: 对dataserver的操作,包括对dataserver的状态访问,block的列表获取、创建和删除操作,file的列表获取、读写等基本操作。
返回: 出现dataserver命令提示符DataServer>,可有多种工具选择,输入help可查看所有工具。

具体工具如下介绍:
(1) get_server_status
用法: get_server_status nums 
描述: 获取使用最频繁的前n个block访问次数信息。
示例: get_server_status 10
(2) get_ping_status
用法: get_ping_status 
描述: 查看该dataserver是否能ping通。
示例: get_ping_status 
(3) list_block
用法: list_block type 
描述: 获取dataserver上的block列表。
示例: list_block 1
(4) get_block_info 
用法: get_block_info blockid 
描述: 获取某个block的信息。
示例: get_block_info 21000 
(5) list_file 
用法: list_file blockid 
描述: 获取某一block上的文件列表。
示例: list_file 21000 
(6) read_file_data
用法: read_file_data blockid fileid local_file_name 
描述: 将dataserver上的某一文件读取到本地。
示例: read_file_data 105 9224029222685650665 a.txt 
(7) unlink_file 
用法: unlink_file blockid fileid unlink_type option_flag is_master 
描述: 删除某一文件
示例: unlink 105 9224029222685650665 0 0 0 
(8) read_file_info 
用法: read_file_info blockid fileid ds_mode 
描述: 读取某一文件信息 
示例: read_file_info 105 9224029222685648690 1 
(9) list_bitmap 
用法: list_bitmap type 
描述: 获取dataserver上的bitmap信息。
示例: list_bitmap 0 



更多:http://tfs.taobao.org/

0 0
原创粉丝点击