Redis 安装及设置主从配置

效果图

目标是为了设置Redis的Master-slave主从配置,从安装部署到主从配置完成,折腾了一个下午的时光,终于成功了。好记忆不如烂笔头,算是给自己一个回看阅读的机会。把自己一步一步解决问题的过程记录下来,也是一个复习总结的过程,给碰见同样问题的大家一个参考文章!

本人试验的Redis安装分window和Linux(CentOS)版本:

1:window 版本Redis安装:

https://github.com/dmajkic/redis/downloads中下载最新版本安装包,执行安装一路下一步安装完成。

默认安装路径为:C:\Program Files\Redis\,修改C:\Program Files\Redis\conf下的配置文件:Redis.conf

先只关注的bind 和  requirepass 两处,设置为 bind 本机IP, requirepass =123456 Redis连接密码;端口默认:6379;

然后运行中输入services.msc 回车,找到Redis服务并开启;

2:下载Redis Desktop Manager Redis客户端工具并安装;

 3:Linux下Redis安装:

大致步骤如下:根据Redis官网教程:

http://www.redis.net.cn/tutorial/3503.html

  1. $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
  2. $ tar xzf redis-2.8.17.tar.gz
  3. $ cd redis-2.8.17
  4. $ make

实际执行过程中碰见不少的问题,下面来详细了解:

1:上面的Redis版本,官网给的是一个示例版本,可以进入http://download.redis.io/releases查看最新的版本,然后下载:

2:tar xzf redis-4.0.2.tar.gz 解压后cd redis-4.0.2

3: 编译:make 提示错误:make:cc命令未找到:

没安装gcc,然后安装

yum install gcc 
yum install gcc-c++ 

再次make,此处报错2:jemalloc/jemalloc.h:没有那个文件或目录

百度得来的解决办法:https://blog.csdn.net/honchou56/article/details/53994708

引:分配器allocator 如果有MALLOC  这个 环境变量, 会有用这个环境变量的 去建立Redis

而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems libc

但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:

make MALLOC=libc

4:make test 编译测试报错:

You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1

解决办法:出处:https://blog.csdn.net/jiangxiaoge1023/article/details/51547856

下载tcl8.6.1-src.tar.gz wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz  

解压安装包:sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/  

进入解压文件夹:cd  /usr/local/tcl8.6.1/unix/  

执行配置:sudo ./configure  

编译:sudo make  

安装:sudo make install

5:安装Redis完成,接下来是修改Redis.conf 配置文件;此处我们copy 现有安装目录下的Redis.conf文件到其他地方:

设置配置文件路径

mkdir -p /home/user/redis-3.2.0/6379

cp redis.conf /home/user/redis-3.2.0/6379

同windows 安装Redis一样,先只关注bind requirepass 这些。设置好后,启动Linux 端Redis服务;

6:此时用Redis Client Manager将连接不上Linux端Redis服务,解决办法:

systemctl stop firewalld 关闭防火墙(安装iptables-services:yum install iptables-services)

参考:https://blog.csdn.net/huxu981598436/article/details/54668874

https://blog.csdn.net/c233728461/article/details/52679558

7:设置Linux端Redis服务为从属服务:

[root@localhost ~]# cd /home/user/redis-4.0.2/6379/
[root@localhost 6379]# vi redis.conf 

8:执行redis-server /home/user/redis-4.0.2/6379/redis.conf 开启Redis服务

主从设置完成,数据同步成功:

9:开启新窗口执行:

[root@localhost bin]# redis-cli -h 192.168.56.3 -p 6379
192.168.56.3:6379> ping
(error) NOAUTH Authentication required.
192.168.56.3:6379> auth 111111
OK
192.168.56.3:6379> set testkey2 testvalue2
(error) READONLY You can't write against a read only slave.

上面的提示从属Redis服务不可做写入操作。回到window版Redis服务器中新增key ,然后查看从属Redis服务中是否可以获取到key, 当然是可以的。试验完毕!

 

 

猜你喜欢

转载自blog.csdn.net/elie_yang/article/details/81591262
今日推荐