Linux系统笔记-redis伪集群

版权声明:本BLOG上原创文章未经本人许可,不得用于商业用途及传统媒体。网络媒体转载请注明出处,否则属于侵权行为。 https://blog.csdn.net/haobindayi/article/details/82290972

首先安装redis-3.0.0
安装步骤如下:

  1. 先将编译环境搭建好:yum install gcc-c++
  2. 将redis源码包上传至linux
  3. 解压缩redis-3.0.0
  4. 编译。进入redis-3.0.0目录。 make
  5. 安装。make install PREFIX=/usr/local/redis(PREFIX参数指定redis的安装目录。一般软件安装到/usr目录下)
  6. 一般这个时候已经可以启动redis,但是启动的redis是前台启动,所以这里我们可以改变其启动方式
  7. 将解压缩后的文件redis-3.0.0下的redis.conf复制到redis的bin中
 [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/

修改配置文件 /daemonize可以进行搜索

8.然后就可以启动了

[root@localhost bin]# ./redis-server redis.conf

9.使用redis-cli进入数据库 
[root@localhost bin]# ./redis-cli 
默认连接localhost运行在6379端口的redis服务。 
[root@localhost bin]# ./redis-cli -h 192.168.25.153 -p 6379 
-h:连接的服务器的地址 
-p:服务的端口号

关闭redis:[root@localhost bin]# ./redis-cli shutdown

如上就是redis的安装 


下面就是伪分布式集群的搭建(伪分布式需要6个redis实例,)实例就是上面中的的make install到某目录下六份,当然这样子会有多余的目录,为了避免目录过多,我们选择直接将bin目录拷贝到rediscluster目录下六份即可,下面描述具体步骤
 

第一步:创建6个redis实例,每个实例运行在不同的端口。需要修改redis.conf配置文件。配置文件中还需要把cluster-enabled yes前的注释去掉。 

在redis同级下创建rediscluster文件 然后将redis/bin 分别重命名redis01.conf复制到/rediscluster/redis01

cp -r redis01 redis02

一共需要六份

修改conf port分别为7000 7001 7002 7003 7004 7005

去掉cluster-enabled yes的注释
 

去掉cluster-config-file nodes-6379.conf 的注释,并把6379改为7000-7005[很重要]


第二步:启动每个redis实例。可以使用批处理一次性启动,如下图创建一个startall.sh文件 

touch start.sh #创建test.sh文件
vi test.sh #编辑test.sh文件
加入内容
#!/bin/bash

cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf

cd ..

chmod u+x  start.sh #给test.sh可执行权限

保存退出。


然后./start.sh启动如下 

注:这一过程中可能会有端口不是我们想要的7000-7006,如果出现其他端口,则代表在该conf配置文件中,我们没有修改成功或者配置了多个port ,仔细检查下即可发现错误.
 
第三步:这个时候你需要将redis-3.0.0下src下的 redis-trib.rb (make操作后在src目录下)拷贝过来cp redis-trib.rb /usr/local/redis-cluster 
然后搭建ruby的运行环境

 yum install ruby
 yum install rubygems

上传文件redis-3.0.0.gem到服务器,然后敲下面命令解压(文件链接在文末)

 [root@GodIsPY ~]# gem install redis-3.0.0.gem

第四步:使用ruby脚本搭建集群(ip为虚拟机代表的ip)

./redis-trib.rb create --replicas 1 192.168.8.101:7000 192.168.8.101:7001 192.168.8.101:7002 192.168.8.101:7003 192.168.8.101:7004 192.168.8.101:7005 

此时集群搭建成功 

Connecting to node 192.168.8.101:7000: OK
Connecting to node 192.168.8.101:7001: OK
Connecting to node 192.168.8.101:7002: OK
Connecting to node 192.168.8.101:7003: OK
Connecting to node 192.168.8.101:7004: OK
Connecting to node 192.168.8.101:7005: OK

Using 3 masters:
192.168.8.101:7000
192.168.8.101:7001
192.168.8.101:7002
Adding replica 192.168.8.101:7003 to 192.168.8.101:7000
Adding replica 192.168.8.101:7004 to 192.168.8.101:7001
Adding replica 192.168.8.101:7005 to 192.168.8.101:7002
M: 5cb389c576e9b49492a2c6e16badf7ffe898c9ea 192.168.8.101:7000
   slots:0-5460 (5461 slots) master
M: 13c24517ee032bba148071ea4886e29323b0496d 192.168.8.101:7001
   slots:5461-10922 (5462 slots) master
M: 5e3e4e653006632fa2ea8dc8bd5aa62d5495aeac 192.168.8.101:7002
   slots:10923-16383 (5461 slots) master
S: 80707523352027e17b7a7ae7cfc087ba67e187d2 192.168.8.101:7003
   replicates 5cb389c576e9b49492a2c6e16badf7ffe898c9ea
S: 5cb389c576e9b49492a2c6e16badf7ffe898c9ea 192.168.8.101:7004
   replicates 13c24517ee032bba148071ea4886e29323b0496d
S: 5cb389c576e9b49492a2c6e16badf7ffe898c9ea 192.168.8.101:7005
   replicates 5e3e4e653006632fa2ea8dc8bd5aa62d5495aeac

[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
提示最后搭建成功

Can I set the above configuration? (type 'yes' to accept): yes


接下来使用redis-cli 来操作集群 
Redis-cli连接集群。

[root@LENOVO01 redis01]# ./redis-cli -p 7001 -h LENOVO01 -c
LENOVO01:7001> set name 'andy'
-> Redirected to slot [5798] located at 192.168.8.101:7002
OK
192.168.8.101:7002> get name
"andy"

结束任务

可以使用批处理一次性结束,如下图创建一个end.sh文件 

touch end.sh #创建test.sh文件
vi test.sh #编辑test.sh文件
加入内容
#!/bin/bash
cd redis01
./redis-cli -p 7000 shutdown
cd ..
cd redis02
./redis-cli -p 7001 shutdown
cd ..
cd redis03
./redis-cli -p 7002 shutdown
cd ..
cd redis04
./redis-cli -p 7003 shutdown
cd ..
cd redis05
./redis-cli -p 7004 shutdown
cd ..
cd redis06
./redis-cli -p 7005 shutdown
cd ..

chmod u+x  end.sh #给test.sh可执行权限

保存退出。

文中安装所用到的文件下载地址:https://download.csdn.net/download/haobindayi/10641183

猜你喜欢

转载自blog.csdn.net/haobindayi/article/details/82290972