LInux系统下搭建redis集群

一、准备

 首先安装C语言的编译环境

apt-get install   gcc
或者
apt-get install  build-essential

  

一、下载redis编译安装

$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz
$ tar xzf redis-4.0.10.tar.gz
$ cd redis-4.0.10
$ make //编译

 

在编译时出现以下错误:

1)、

cd src && make all
make[1]: Entering directory '/home/ubuntu/redis-4.0.11/src'
    CC adlist.o
/bin/sh: 1: cc: not found
Makefile:228: recipe for target 'adlist.o' failed
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory '/home/ubuntu/redis-4.0.11/src'
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 2

解决办法:sudo apt-get install gcc

  

2)、

cd src && make all
make[1]: Entering directory '/home/ubuntu/redis-4.0.11/src'
    CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: No such file or directory
 #include <jemalloc/jemalloc.h>
          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:228: recipe for target 'adlist.o' failed
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory '/home/ubuntu/redis-4.0.11/src'

解决办法:make MALLOC=libc

  

二、进入到redis-4.0.10的src目录下,

执行编译命令:make install

三、安装ruby环境

命令>pt-get install ruby
命令>
gem install redis

四、
接下来我们创建6个配置文件,redis.6379.conf、redis.6379.conf、redis.6379.conf、redis.6379.conf、redis.6379.conf、redis.6379.conf,分别代表6个实例
配置如下:
port 6380
bing 10.211.55.8 #本机IP
daemonize  no  appendonly yes appendfilename "appendonly.6380.aof" cluster-enabled yes cluster-config-file nodes.6380.conf cluster-node-timeout 15000 cluster-slave-validity-factor 10 cluster-migration-barrier 1 cluster-require-full-coverage yes

  

五、分别启动六个服务
redis-server redis.6379.conf
redis-server redis.6380.conf
redis-server redis.6381.conf
redis-server redis.6382.conf
redis-server redis.6383.conf
redis-server redis.6384.conf

 六、创建集群

./redis-trib.rb create --replicas 1 10.211.55.8:6379 10.211.55.8:6380 10.211.55.8:6381 10.211.55.8:6382 10.211.55.9:6383 10.211.55.9:6384

 七、查看集群节点信息

./redis-trib.rb check 10.211.55.8:6379
elic@elic-Parallels-Virtual-Platform:~/桌面/redis-cluster$ ./redis-trib.rb check 10.211.55.8:6379
/var/lib/gems/2.5.0/gems/redis-3.3.0/lib/redis/client.rb:459: warning: constant ::Fixnum is deprecated
>>> Performing Cluster Check (using node 10.211.55.8:6379)
M: 3148d0c07c7ad9399c7cb22cc9060db141464552 10.211.55.8:6379
   slots:0-5460 (5461 slots) master,nofailover
   1 additional replica(s)
M: 9691a8e66f6e68294bb7eda44221c32a2d5260f9 10.211.55.9:6383
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
S: 0f14d8221f6a48cb32250618ea18e7367f75df2a 10.211.55.8:6382
   slots: (0 slots) slave,nofailover
   replicates 9691a8e66f6e68294bb7eda44221c32a2d5260f9
S: 916e34afe5c38cb368abd2144ad56fe6fc227037 10.211.55.9:6384
   slots: (0 slots) slave
   replicates 8b76dde765ecb5a153b0303f645de8f97d063d17
S: 93653cbc9aee3d61d576b6ddd9cb6f05e19ab8e6 10.211.55.8:6381
   slots: (0 slots) slave,nofailover
   replicates 3148d0c07c7ad9399c7cb22cc9060db141464552
M: 8b76dde765ecb5a153b0303f645de8f97d063d17 10.211.55.8:6380
   slots:10923-16383 (5461 slots) master,nofailover
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

  

  八、启动集群中的节点客户端

redis-cli -h 10.211.55.8 -p 6379 -c
 九、docker 中 创建redis容器
docker run -di --name redis  -p 6379:6379 --restart=always -v /usr/local/redis/config/redis.conf:/etc/redis.conf -v /usr/local/redis/data:/data --net mynetwork --ip 172.20.0.19 redis:6.2.6 

  

posted @ 2021-05-31 23:27  傲语平生  阅读(265)  评论(0编辑  收藏  举报