CentOS配置Tair

先用 yum 安装依赖包和构件工具

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-utils

svn checkout http://code.taobao.org/svn/tair/trunk/ tair

设置库文件的安装目录

# 在.bashrc中添加
export TBLIB_ROOT="/root/lib"

# 在用户根目录下执行
source .bashrc

编译安装

# 编译安装 tb-common-utils
cd ~/tb-common-utils
./build.sh
# 编译安装 Tair 
cd ~/tair
./bootstrap.sh

# 注意, 在运行configue的时候, 可以使用 --with-boost=xxxx 来指定boost的目录. 使用--with-release=yes 来编译release版本.
./configure --with-release=yes
make
make install

修改Tair配置文件

# 进入 tair 目录
cd ~/tair_bin
# 复制配置文件
cp etc/configserver.conf.default etc/configserver.conf
cp etc/group.conf.default etc/group.conf
cp etc/dataserver.conf.default etc/dataserver.conf

1.vim etc/configserver.conf

#
# tair 2.3 --- configserver config
#

[public]
# 修改为本机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=eth0

2.vim etc/group.conf

# data center A
_server_list=X.X.X.X:5191 # 改为本机ip端口

#quota info
_areaCapacity_list=0,1124000;

3.vim etc/dataserver.conf

#
#  tair 2.3 --- tairserver config
#

[public]
# 修改服务器ip端口
config_server=X.X.X.X:5198
#config_server=192.168.1.2:5198

启动Tair服务

# 设置 tmpfs 运行大小
./set_shm.sh
# 启动 DataServer
./tair.sh start_ds
# 启动 ConfigServer
./tair.sh start_cs
# 检查下进程在否
pgrep -lf tair

C++客户端连接和读写测试

sbin/tairclient -c X.X.X.X:5198 -g group_1

常见问题

1.tb-common-utils编译找不到头文件
tbsys.h: No such file or directory
原因:因为tbnet和tbsys在两个不同的目录,但它们的源码文件里头文件的互相引用却没有加绝对或相对路径,将两个目录的源码加入到C++环境变量中即可。

解决办法:在.bashrc文件中修改c++环境变量

CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/root/tb-common-utils/tbsys/src:/root/tb-common-utils/tbnet/src

export CPLUS_INCLUDE_PATH

2.tb-common-utils编译语法报错
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),亲测可用;

解决办法2:
降级gcc版本为4.1.2

3.启动dataserver报错
原因:未知

解决办法:修改dataserver存储模式,由内存存储(mdb)改为磁盘存储(fdb)

# 编辑/root/tair_bin/etc/dataserver.conf
# 设置
storage_engine=fdb

4.configserver启动无反应
原因:在/root/tair_bin/logs/config.log日志中发现ip配置错误
解决办法:注意区别内外网IP,在/root/tair_bin/etc/将服务器ip修改即可。


Gideon
354 声望23 粉丝

« 上一篇
SQL学习笔记