redis集群部署

xiaoxiao2021-02-28  59

一、安装redis并启动 一二三步都是在一台linux上安装完成的,不是真正意义上的分布式集群 1.这里安装的是redis源码包,所以需要gcc环境支持: yum install -y gcc-c++ 2.从redis官网下载stable版包,如redis-3.2.9.tar.gz,上传至 /usr/local 然后解压 tar -zxvf redis-3.2.9.tar.gz 进入目录后进行编译: cd /usr/local/redis-3.2.9 修改redis.conf IP地址 bind 192.168.186.132 make make PREFIX=/usr/local/redis install  cp -r redis.conf /usr/local/redis/bin 3.修改redis.conf配置文件, 修改为daemonize yes(位置:128,1    10%) 以后端模式启动。 4.执行如下命令启动redis:    cd /usr/local/redis    ./bin/redis-server redis.conf  二、redis集群配置 1.ruby环境   redis集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境:      安装ruby      yum install -y ruby      yum install -y rubygems       安装ruby和redis的接口程序              gem install redis 2.集群结点规划:      这里在同一台服务器用不同的端口表示不同的redis服务器,如下:  主节点:192.168.186.132:7001 192.168.186.132:7002 192.168.186.132:7003  从节点:192.168.186.132:7004 192.168.186.132:7005 192.168.186.132:7006     在/usr/local下创建redis-cluster目录,其下创建7001、7002。。7006目录,如下:     mkdir redis-cluster     cd redis-cluster     mkdir 7001     mkdir 7002     mkdir 7003     mkdir 7004     mkdir 7005     mkdir 7006  3.将redis安装目录bin下的文件拷贝到每个700X目录内,同时将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下:  cd /usr/local/redis  cp -r bin/ /usr/local/redis-cluster/7001/  cp -r bin/ /usr/local/redis-cluster/7002/  cp -r bin/ /usr/local/redis-cluster/7003/  cp -r bin/ /usr/local/redis-cluster/7004/  cp -r bin/ /usr/local/redis-cluster/7005/  cp -r bin/ /usr/local/redis-cluster/7006/    cd /usr/local/redis-3.2.9  cp -r redis.conf /usr/local/redis-cluster/7001/bin  cp -r redis.conf /usr/local/redis-cluster/7002/bin  cp -r redis.conf /usr/local/redis-cluster/7003/bin  cp -r redis.conf /usr/local/redis-cluster/7004/bin  cp -r redis.conf /usr/local/redis-cluster/7005/bin  cp -r redis.conf /usr/local/redis-cluster/7006/bin  cd /usr/local/redis-3.2.9/src/  cp -r redis-trib.rb /usr/local/redis-cluster/ 4.修改每个700X目录下的redis.conf配置文件:    bind IP地址                                     --修改成本地IP地址(如虚拟机192.168.186.132)    port XXXX                                       --修改成对应目录号即可    cluster-enabled yes    启动每个节点redis服务       分别进入7001、7002、...7006目录,执行:    ./redis-server redis.conf    三、创建集群 1.执行创建集群命令 在/usr/local/redis-cluster/ 执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境。

./redis-trib.rb create --replicas 1 192.168.186.132:7001 192.168.186.132:7002 192.168.186.132:7003 192.168.186.132:7004 192.168.186.132:7005  192.168.186.132:7006

注意: 如果执行时报如下错误: [ERR] Node XXXXXX is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0 解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aof、dump.rdb

2.查询集群信息 集群创建成功登陆任意redis结点查询集群中的节点情况 cd /usr/local/redis-cluster/7001/bin

./redis-cli -h 192.168.186.132 -p 7001

四、分布式集群部署 redis集群至少一般用三台服务器,每台服务器上创建两个节点,属于分布式;其它少于三台部署的集群都是伪分布式。 针对这种部署方式只需分别在三台服务器上创建两个节点,配置同上所述,配置完成后再任意一台服务器进入/usr/local/redis-cluster/目录下,执行 ./redis-trib.rb create --replicas 1 IP1:port1 IP1:port2  IP2:port3 IP2:port4 IP:3:port5 IP3:port6 注意这里的IP:port包含三台服务器的六个节点
转载请注明原文地址: https://www.6miu.com/read-71221.html

最新回复(0)