欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-09 19:44:50
redis读写分离集群环境搭建及测试1、先安装tcl2、安装redis3、redis的生产环境启动方案4、在slave node的配置(6379.config)上配置5、启动后查看1、先安装tcl安装Redis服务器所需的依赖包,用于解决在Redis安装过程中make test时出现的问题wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztar -xzvf tcl8.6.1-src.tar.gz 安装位置cd /expor...

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