文章目录:
前言:
今天是 五一劳动节 的第二天,心血来潮,买来一台服务器,搭建redis集,解决下本地java 中的另外一个问题(redis GEO 数据类型报错的问题 ),但前提是先搭建好服务环境在说后面的事情,下面我 一 一到来搭建服务环境的步骤。
开始搭建Redis 主从集群:
1.上传下载好的 linux 版本的Redis 的服务器:
2.集群规划:
3. 我们创建三个文件夹,名字分别叫7001、7002、7003:
mkdir 7001 7002 7003
4.拷贝配置文件到每个实例目录
然后将redis-6.2.7/redis.conf文件拷贝到三个目录中(在/software目录执行下列命令):
echo 7001 7002 7003 | xargs -t -n 1 cp redis-6.2.7/redis.conf
5.修改每个实例的端口、工作目录
sed -i -e ‘s/6379/7001/g’ -e ‘s/dir .//dir /software/7001//g’ 7001/redis.conf
sed -i -e ‘s/6379/7002/g’ -e ‘s/dir .//dir /software/7002//g’ 7002/redis.conf
sed -i -e ‘s/6379/7003/g’ -e ‘s/dir .//dir /software/7003//g’ 7003/redis.conf
6.修改每个实例的声明IP
虚拟机本身有多个IP,为了避免将来混乱,我们需要在redis.conf文件中指定每一个实例的绑定ip信息,格式如下:
逐一执行
sed -i ‘1a replica-announce-ip 124.223.187.188’ 7001/redis.conf
sed -i ‘1a replica-announce-ip 124.223.187.188’ 7002/redis.conf
sed -i ‘1a replica-announce-ip 124.223.187.188’ 7003/redis.conf
7.启动
redis-server 7001/redis.conf
redis-server 7002/redis.conf
redis-server 7003/redis.conf
8.启动完成之后报错信息:
自言自语中:
1)这里应该显示2个从节点才对 为啥没显示。并且我主节点set 了值
从节点应该读到才对,我的读不到
困扰了我1个小时,我想了想,百度有的说是防火墙没关,有的说是selinux 但是我的查看了是关掉的。
敲黑板:
2)就是我又想了想是不是端口策略没开,因为是新买的服务器,所以我试着改了下,返回控制台,看到日志在同步了。我裂开了此时…
gao xin tai
搞 心 态
开始测试
主写
从读
查看状态
info replication
主从集群永久生效和临时生效两种:
现在三个实例还没有任何关系,要配置主从可以使用replicaof 或者slaveof(5.0以前)命令。
有临时和永久两种模式:
修改配置文件(永久生效)
- 在redis.conf中添加一行配置:
slaveof <masterip> <masterport>
我上面是为了下次搭建哨兵集权,没有设置永久的
所以是在从节点执行的主的ip 和端口号进行测试的
9.总结:
搭建redis 集权并不难,如果是新买的集群啥的 一定要开对应的策略在控制台,我上面遇到主从不同步就是因为端口问题导致。
再见~