Linux 实现 Redis 单机集群模式

本文在虚拟机中完成

环境和基础

单机测试使用了桥接模式,多机需要其他配置,虚拟机联网参考 VMware 中的仅主机模式、Nat 模式、桥接模式 扫雷
需要一些 linux 基本操作知识,比如 新建文件夹,文件,编辑文件内容,移动文件

过程
  • 下载和安装 redis-下载后有解压,注意路径最好安转在 /usr下,便于集中管理
# wget http://download.redis.io/releases/redis-3.2.9.tar.gz
# tar xzf redis-3.2.9.tar.gz
# cd redis-3.2.9
# make
  • 启动 redis服务端-默认是非后台启动
# src/redis-server
  • 启动 redis-客户端
# src/redis-cli


  • 开始配置集群,-先配置6个启动文件

此时6个启动文件相互没有关系建立和src同级别目录,
cluster/conf
在conf 中新建6个文件 7000.conf、7001.conf、7002.conf、7003.conf、7004.conf、7005.conf
内容,bind是IP,你redis 在那台服务器就写什么,如果只是本机就写127.0.0.1,port和文件名保持一致,下面是 7000.conf 的内容
port 7000     #端口
bind 127.0.0.1  #host
pidfile ./redis_7000.pid   #配置文件名字-启动会自动生成
daemonize yes              #是否后台运行,yes是
cluster-enabled yes        #是否开启集群模式
cluster-config-file nodes_7000.conf  #集群配置节点文件
cluster-node-timeout 15000           # 集群节点请求超时时间
appendonly yes                       #是否启用操作日志记录
  • 启动这6个实例
./src/redis-server cluster/conf/7000.conf
./src/redis-server cluster/conf/7001.conf
./src/redis-server cluster/conf/7002.conf
./src/redis-server cluster/conf/7003.conf
./src/redis-server cluster/conf/7004.conf
./src/redis-server cluster/conf/7005.conf
  • 查看在运行的redis
ps -ef | grep redis


  • 需要安装 ruby 工具

如果 运行
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
报错,则先安装 ruby

# sudo yum install curl
# curl -L get.rvm.io | bash -s stable 
# source /usr/local/rvm/scripts/rvm
# rvm list known
//选择最新的 2.4.1 安装
# rvm install 2.4.1
# gem install redis
# yum install -y rubygems


  • 启动集群

启动集群-来到 redis 的安装目录下
–replicas 1表示为集群的master节点创建1个副本。那么6个实例里,有三个master,有三个是slave。
# cd redis-3.2.9
# ruby ./src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005


  • 运行效果

登陆集群客户端 -c 表示以集群登陆(实现集群效果)
[root@localhost ~]# cd /usr/redis3.29/redis-3.2.9
[root@localhost redis-3.2.9]# ./src/redis-cli -h 127.0.0.1 -p 7002 -c
127.0.0.1:7002> set name jecket
-> Redirected to slot [5798] located at 127.0.0.1:7001
OK
127.0.0.1:7001> 
[root@localhost redis-3.2.9]# ./src/redis-cli -h 127.0.0.1 -p 7003 -c
127.0.0.1:7003> get name
-> Redirected to slot [5798] located at 127.0.0.1:7001
"jecket"
参考链接

[1] https://blog.csdn.net/qq_37595946/article/details/77800147
[2] https://www.cnblogs.com/kangoroo/p/7657616.html
[3] https://www.jb51.net/article/116864.htm

猜你喜欢

转载自blog.csdn.net/bestcxx/article/details/80637011