redis读写分离集群环境搭建及测试

    • 1、先安装tcl
    • 2、安装redis
    • 3、redis的生产环境启动方案
    • 4、在slave node上的配置(6379.config)
    • 5、启动后查看

1、先安装tcl

安装Redis服务器所需的依赖包,用于解决在Redis安装过程中make test时出现的问题
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz 安装位置
cd  /export/service/tcl8.6.1/unix/
./configure  
make && make install

2、安装redis

wget http://download.redis.io/releases/redis-5.0.0.tar.gz

tar -zxvf redis-5.0.0.tar.gz -C 所在位置

[root@alnex java]# cd ./redis-5.0.0/
[root@alnex redis-5.0.0]# make && make install
---------------------------------------------------------------
/bin/sh: cc: command not found
   yum install gcc  
jemalloc/jemalloc.h: No such file or directory
原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。
make MALLOC=libc
Hint: It's a good idea to run 'make test' ;)
出现上面的提示代表成功了

3、redis的生产环境启动方案

把redis作为一个系统的daemon进程去运行的,每次系统启动,redis进程一起启动
网上配置都有
在这里插入代码片
(1)redis utils目录下,有个redis_init_script脚本
(2)将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
(3)修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
(4)创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
(5)修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf
(6)修改redis.conf中的部分配置为生产环境
     daemonize	yes							让redis以daemon进程运行
     pidfile		/var/run/redis_6379.pid 	设置redis的pid文件位置
     port		6379						设置redis的监听端口号
    dir 		/var/redis/6379				设置持久化文件的存储位置

(7)启动redis,执行cd /etc/init.d, chmod 777 redis_6379,./redis_6379 start
(8)确认redis进程是否启动,ps -ef | grep redis
(9)让redis跟随系统启动自动启动(也可以手动启动,不配置也行)
        在redis_6379脚本中,最上面,加入两行注释
            # chkconfig:   2345 90 10
            # description:  Redis is a persistent key-value database
    在redis_6379所在的路径执行下面命令
    chkconfig redis_6379 on

以上操作重复配置即可配置多redis环境,下面配置slave node

4、在slave node上的配置(6379.config)

1、从节点

slaveof 192.168.1.1 6379

2、slave node 只读

slave-read-only yes

3、配置外网可访问的ip

bind 192.168.0.0(非127.0.0.1

4、集群的安全认证(可不配置)

master上启用安全认证,requirepass
实例:requirepass redis

5、读写分离架构的测试
5.1、配置安全认证的情况 (ip 填写自己的ip地址就行 redis 是 requirepass 后面设置的密码)

在启动redis-cli 时
$ redis-cli -h ip -a redis

5.2、非安全认证环境

$ redis-cli -h ip

5、启动后查看

192.168.0.06379> info replication
示例数据
# master node
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.xx.xx,port=6379,state=online,
# slave node
# Replication
role:slave 
master_host:192.168.0.0
master_port:6379
master_link_status:up

本文地址:https://blog.csdn.net/lidxx/article/details/107198837