Tair 是阿里巴巴开源的,可提供快速访问的内存(MDB引擎)/持久化(LDB引擎)存储服务,基于高性能、高可用的分布式集群架构,满足读写性能要求高及容量可弹性伸缩的业务需求。
近期需要研究一下该中间件,搭建了一下单机环境,整体流程如下。
搭建所需服务器环境:
- Centos6 环境的Linux服务器
- tbsys & tbnet
- git & svn
- yum
- tair master
第一步: 前期环境准备
yum install boost yum install boost-devel yum install boost-doc yum install automake yun install autoconfig yun install libtool yum install zlib-devel yum install gcc gcc++ yum install gcc gcc-c++ gcc-g77 yum install openssl-devel libcurl-devel yum install subversion yum install git
第二步: 安装 tbsys & tbnet
由于tair的实现用到了底层库 tbsys 和 tbnet,因此在安装tair之前需要先安装依赖库 tbsys 和 tbnet。
网上教程是从淘宝的SVN中checkout代码,但我无法成功下载SVN代码,所以转而从git下载。
svn checkout http://code.taobao.org/svn/tb-common-utils/trunk/tb-common-utils // 无效 git clone https://github.com/raywill/tb-common-utils // 可下载
vi /etc/profile export TBLIB_ROOT=your path # 使修改的环境变量生效 source /etc/profile
vi /etc/profile CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/home/tair/tair/tb-common-utils/tbsys/src:/home/tair/tair/tb-common-utils/tbnet/src export CPLUS_INCLUDE_PATH # 使修改的环境变量生效 source /etc/profile
其中 tbsys 和 tbnet 的地址是上面下载代码的地址,请根据实际情况配置
之后进行安装,进入源代码目录,执行 build.sh 进行安装。
第三步: 下载tair代码,并编译
# 从git下载代码 git clone https://github.com/alibaba/tair.git # 编译依赖 ./bootstrap.sh # 检测和生成 Makefile (默认安装位置是 ~/tair_bin, 修改使用 --prefix=目标目录) ./configure # 编译和安装到目标目录 make make install
第四步:Tair 最小化配置方法
# 这里根据实际机器内存情况配置,必须大于Tair使用内存的配置 cat /etc/fstab | grep /dev/shm
上述命令如果没有结果,则需要设置 /dev/shm
vi /etc/fstab 添加下面一行到 fstab文件中 tmpfs /dev/shm tmpfs rw,size=1G 0 0 执行 mount -o remount /dev/shm
如果执行下面的命令出现如下结果,表示修改完成
df -h | grep /dev/shm tmpfs 1.0G 0 1.0G 0% /dev/shm
tair 的包中有一个 set_shm.sh, 按照官方文档的说法,也是可以设置的,但我试过,没有成功。
修改 如下三份配置文件
cp etc/configserver.conf.default etc/configserver.conf cp etc/group.conf.default etc/group.conf cp etc/dataserver.conf.default etc/dataserver.conf
修改里面的内容
configserver.conf [public] config_server=ip:5198
group.conf [group_test] # data center A _server_list=ip:5191
dataserver.conf [public] config_server=ip:5198 [tairserver] mdb_inst_shift=0 process_thread_num=4 io_thread_num=4 slab_mem_size=512
注意在CentOS 7下,安装目录下的 tair.sh 启动脚本有一行代码需要修改, diff如下
--- a/tair.sh +++ b/tair.sh @@ -52,7 +52,7 @@ check_shm_size() if [ $engine == "mdb" ] then safety_free_size=500; - tmpfs_size=`df -m |grep tmpfs | awk '{print $2}'` + tmpfs_size=`df -m |grep /dev/shm | awk '{print $2}'` let "safety_size = $tmpfs_size - $safety_free_size" slab_mem_size=`grep slab_mem_size $1 | grep -v "#" | awk -F '[ =]' '{print $NF}'`
执行如下命令,开始启动
./tair.sh start_ds // 启动数据节点 ./tair.sh start_cs // 启动config节点
连接tair
./sbin/tairclient -c ip -g group_test
至此,一个基于单服务器的单配置节点,单数据节点的Tair服务就完成了。
在此感谢 Tair官方文档以及 shewn 的博客的指导
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202178.html原文链接:https://javaforall.net
