淘寶分布式文件系統(tǒng)TFS安裝配置手冊(cè):JAVA Client實(shí)戰(zhàn)
TFS Java客戶(hù)端的說(shuō)明
tfs-client-java版本選擇:
tfs-client-java的版本有: release-2.0.0/ tfs-with-large-2.1.1/ tfs-client-java-2.1.3/ release-2.2.2/ release-2.2.3/ release-2.2.4/ release-2.2.6/ 最終我選用了tfs-client-java-2.1.3/ 版本,因?yàn)樽罡叩?.2.x版本,工作時(shí)必需要與rcserver通信。 我目前不需要rcserver所有沒(méi)有安裝rcserver,所以使用2.1.3版本。
檢出:
svn checkout http://code.taobao.org/svn/tfs-client-java/tags/release-2.2.6/ svn checkout http://code.taobao.org/svn/tfs-client-java/tfs-client-java-2.1.3/
導(dǎo)入、編譯略。
依賴(lài)包說(shuō)明
common-tair.jar 下載地址:http://code.taobao.org/p/tair-client-java/wiki/index/ 可以下載編譯好的 tair-client-2.3.1.jar ,也可以下載源碼自己編譯。
common-monitor.jar tfs-client-java 2.1.3不需要common-monitor.jar包,但2.2.x以后需要common-monitor.jar。
TMD,真的沒(méi)找到這個(gè)common-monitor.jar包。分析tfs-client-java 2.2.x源碼,只有一處記日志的地方需要使用它的,注釋這段代碼。
tfs-client-java源碼中還有一處: String tfsFileName ….. if (tfsFileName != null && !tfsFileName.isEmpty()) 找不到isEmpty()方法,修改一下,就OK了. 使用tfs-client-java 訪問(wèn)TFS集群
TFS 2.2.10 , 1臺(tái)NameServer,4臺(tái)DataServer,每臺(tái)4塊SAS數(shù)據(jù)盤(pán), 30并發(fā)以上寫(xiě)入文件時(shí)(10并發(fā)時(shí)也有少量報(bào)錯(cuò)),有較多的報(bào)錯(cuò)。壓力越大,報(bào)錯(cuò)的次數(shù)越多。
DataServer上的日志內(nèi)容大體如下,我只記了error級(jí)別的日志。
[2012-11-29 18:14:44] ERROR check_block_version (index_handle.cpp:360) [1113774400] remote version is larger, set block version. blockid: 5367, remote version: 674, local version: 673 [2012-11-29 18:14:44] ERROR check_block_version (index_handle.cpp:360) [1176713536] remote version is larger, set block version. blockid: 3796, remote version: 706, local version: 705 [2012-11-29 18:14:44] ERROR check_block_version (index_handle.cpp:360) [1176713536] remote version is larger, set block version. blockid: 4651, remote version: 675, local version: 674 [2012-11-29 18:14:44] ERROR check_block_version (index_handle.cpp:360) [1155733824] remote version is larger, set block version. blockid: 5153, remote version: 634, local version: 633
后來(lái)重新部署了TFS 2.0.4,不再報(bào)上面的錯(cuò)誤了,情況有所好轉(zhuǎn)。但報(bào)了其它錯(cuò)誤數(shù)量不多。
壓力測(cè)試:
已形成測(cè)試報(bào)告,略。