CentOS配置Tair
CentOS配置Tair
先用 yum 安裝依賴包和構(gòu)件工具
yum install -y svn automake autoconf libtool vim gcc gcc-c++ gdb zlib-devel boost-devel獲取tair和tb-common-utils的源碼
svn checkout http://code.taobao.org/svn/tb-common-utils/trunk/ tb-common-utilssvn checkout http://code.taobao.org/svn/tair/trunk/ tair設(shè)置庫(kù)文件的安裝目錄
# 在.bashrc中添加 export TBLIB_ROOT="/root/lib"# 在用戶根目錄下執(zhí)行 source .bashrc編譯安裝
# 編譯安裝 tb-common-utils cd ~/tb-common-utils ./build.sh # 編譯安裝 Tair cd ~/tair ./bootstrap.sh# 注意, 在運(yùn)行configue的時(shí)候, 可以使用 --with-boost=xxxx 來指定boost的目錄. 使用--with-release=yes 來編譯release版本. ./configure --with-release=yes make make install修改Tair配置文件
# 進(jìn)入 tair 目錄 cd ~/tair_bin # 復(fù)制配置文件 cp etc/configserver.conf.default etc/configserver.conf cp etc/group.conf.default etc/group.conf cp etc/dataserver.conf.default etc/dataserver.conf1.vim etc/configserver.conf
# # tair 2.3 --- configserver config #[public] # 修改為本機(jī)IP及端口 config_server=X.X.X.X:5198 config_server=X.X.X.X:5198[configserver] port=5198 log_file=logs/config.log pid_file=logs/config.pid log_level=warn group_file=etc/group.conf data_dir=data/data dev_name=eth02.vim etc/group.conf
# data center A _server_list=X.X.X.X:5191 # 改為本機(jī)ip端口#quota info _areaCapacity_list=0,1124000;3.vim etc/dataserver.conf
# # tair 2.3 --- tairserver config #[public] # 修改服務(wù)器ip端口 config_server=X.X.X.X:5198 #config_server=192.168.1.2:5198啟動(dòng)Tair服務(wù)
# 設(shè)置 tmpfs 運(yùn)行大小 ./set_shm.sh # 啟動(dòng) DataServer ./tair.sh start_ds # 啟動(dòng) ConfigServer ./tair.sh start_cs # 檢查下進(jìn)程在否 pgrep -lf tairC++客戶端連接和讀寫測(cè)試
sbin/tairclient -c X.X.X.X:5198 -g group_1常見問題
1.tb-common-utils編譯找不到頭文件
tbsys.h: No such file or directory
原因:因?yàn)閠bnet和tbsys在兩個(gè)不同的目錄,但它們的源碼文件里頭文件的互相引用卻沒有加絕對(duì)或相對(duì)路徑,將兩個(gè)目錄的源碼加入到C++環(huán)境變量中即可。
解決辦法:在.bashrc文件中修改c++環(huán)境變量
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/root/tb-common-utils/tbsys/src:/root/tb-common-utils/tbnet/srcexport CPLUS_INCLUDE_PATH2.tb-common-utils編譯語法報(bào)錯(cuò)
tblog.cpp:323:1: error: 'tbsys::CLogger::CLogger' names the constructor, not the type
原因:gcc版本與語法不兼容。
解決辦法1:
修改/root/tb-common-utils/tbsys/src/tblog.cpp源碼,第323行修改為CLogger& CLogger::getLogger(void),親測(cè)可用;
解決辦法2:
降級(jí)gcc版本為4.1.2
3.啟動(dòng)dataserver報(bào)錯(cuò)
原因:未知
解決辦法:修改dataserver存儲(chǔ)模式,由內(nèi)存存儲(chǔ)(mdb)改為磁盤存儲(chǔ)(fdb)
# 編輯/root/tair_bin/etc/dataserver.conf # 設(shè)置 storage_engine=fdb4.configserver啟動(dòng)無反應(yīng)
原因:在/root/tair_bin/logs/config.log日志中發(fā)現(xiàn)ip配置錯(cuò)誤
解決辦法:注意區(qū)別內(nèi)外網(wǎng)IP,在/root/tair_bin/etc/將服務(wù)器ip修改即可。
總結(jié)
以上是生活随笔為你收集整理的CentOS配置Tair的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins Gitlab持续集成打包
- 下一篇: 设计模式(Design Patterns