Tair 搭建

Tair 搭建Tair 是阿里巴巴开源的 可提供快速访问的内存 MDB 引擎 持久化 LDB 引擎 存储服务 基于高性能 高可用的分布式集群架构 满足读写性能要求高及容量可弹性伸缩的业务需求 近期需要研究一下该中间件 搭建了一下单机环境 整体流程如下 搭建所需服务器环境 Centos6 环境的 Linux 服务器 tbsys amp tbnetgit amp svnyumtairma

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

(0)
上一篇 2026年3月20日 上午7:43
下一篇 2026年3月20日 上午7:43


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号