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...
redis读写分离集群环境搭建及测试
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.0:6379> 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