Centos7安装Tair及配置测试

时间:2023-01-12 18:09:53

系统环境 Centos7 64位

外网ip 182.254.145.66

内网ip 10.105.23.114

安装位置 /usr/local/tair

Tair介绍

参见官网

安装

想了半天,我还是引用 淘宝分布式 key/value 存储引擎Tair安装部署过程及Java客户端测试一例



我觉得这个博客已经写得很好了,我就写一下,我在安装的时候遇到的一些问题吧



在2.1.3步 安装tblib的时候 会报错 

下载的代码有个错误:具体是tbsys/src/tblog.cpp中323行代码:需要将CLogger::CLogger& CLogger::getLogger()改为CLogger& CLogger::getLogger()

请看 

http://blog.csdn.net/sunny_ss12/article/details/50449633





这一步安装成功后 会在TBLIB_ROOT 下生成include与lib

我的tblib_root是/usr/local/tblib

Centos7安装Tair及配置测试



Centos7安装Tair及配置测试

配置

配置说白了就是

configserver.conf

dataserver.conf

group.conf

这个三个配置文件

启动

进入tair_bin目录后,按顺序启动:

sudo sbin/tair_server -f etc/dataserver.conf     # 在dataserver端启动

sudo sbin/tair_cfg_svr -f etc/configserver.conf   # 在config server端启动

理论上 大家参照官网与淘宝分布式 key/value 存储引擎Tair安装部署过程及Java客户端测试一例 都能OK

我就说说我遇到的一个问题吧



我的服务器是在腾讯云上部署的,ip已经写在文章开头了

首先配置文件里的ip不能全是公网ip

会报错:

[2016-05-25 17:44:07.595326] ERROR initialize (tair_cfg_svr.cpp:130) [140548145506112] my Ip 10.105.23.114:5198 is not in the list of config_server check it out.

为什么?

我的服务器没有绑定公网ip

Centos7安装Tair及配置测试



那全部改成私网ip吧,

        List<String> confServers = new ArrayList<String>();

        confServers.add("182.254.145.66:5198"); 

tairManager.put的时候就报错

com.taobao.tair.etc.TairClientException: create socket exception, target address is 10.105.23.114:5191

操蛋了,我把代码打成jar包发送到远程服务器上再运行就OK

而且我在本机上telent 182.254.145.66 5191 也是OK的





最后听淘宝的浅弈大大的意见,把

group.conf里的

_server_list=10.105.23.114:5191

改成

_server_list=182.254.145.66:5191

搞定,最后等于是配置里既有公网地址,也有私网地址,也是醉了





为什么会有这个错误

一方面我觉得是腾讯云那边,没有把公网地址和机器绑定,当然腾讯内部地址的映射应该是比较复杂的,他们这样做肯定有他们的道理

第二就是浅弈大大说的



Centos7安装Tair及配置测试

其实最根本的原因是我再部署Tair的时候,直接一头就扎进来部署,而没有去仔细看看Tair的原理,如果我能知道Tair的最浅显的原理,我也就知道dataserver对clinet是可见的,自然就得是公网地址了





这说明要知其然还有知其所以然