Linux安装搭建Redis集群-最佳实践与遇到的坑

Linux安装搭建Redis集群-最佳实践与遇到的坑

一、最佳实践
1.进入到自己想下载redis的目录后,下载和解压redis

$ cd /home/root/redis
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
$ tar xzf redis-4.0.6.tar.gz
$ cd redis-4.0.6
$ make && make install  //make 这里如果不指定PREFIX,默认将安装在/usr/local/bin下,保持默认就好

2.复制配置文件到到程序安装位置(可以复制到其他位置,不过这样管理和使用方便一些)

$ cd /home/root/redis
$ cp redis.conf /usr/local/bin/cluster-conf/7000
$ cp redis.conf /usr/local/bin/cluster-conf/7001
$ cp redis.conf /usr/local/bin/cluster-conf/7002
$ cp redis.conf /usr/local/bin/cluster-conf/7003
$ cp redis.conf /usr/local/bin/cluster-conf/7004
$ cp redis.conf /usr/local/bin/cluster-conf/7005

3.启动各个redis

$ cd /usr/local/bin/
$ redis-server cluster-conf/7000/redis.conf
$ redis-server cluster-conf/7001/redis.conf
$ redis-server cluster-conf/7002/redis.conf
$ redis-server cluster-conf/7003/redis.conf
$ redis-server cluster-conf/7004/redis.conf
$ redis-server cluster-conf/7005/redis.conf

4.创建集群
执行创建集群命令

$ cd /home/root/redis/src
$ ./redis-trib.rb  create  --replicas  1  192.168.1.142:7000 192.168.1.142:7001  192.168.1.142:7002  192.168.1.142:7003  192.168.1.142:7004  192.168.1.142:7005

如果出错的话需要安装ruby:


$ yum -y install ruby ruby-devel rubygems rpm-build
$ gem install redis

安装redis集群完成!

5.验证集群是否搭建完成(

$ ./redis-cli -h 192.168.1.142 -p 7000 -c
$ set name xxx
$ get name

有Redirected to slot 则说明现在redis 是集群操作,要重定向到某个slot,但偶尔也会没有这个提示,这说明它根据key计算的slot值就在当前节点

参数说明:

  • -h:Host,主机名或ip地址
  • -p:Port,端口号
  • -c:Cluster,集群

过程截图:
Linux安装搭建Redis集群-最佳实践与遇到的坑_第1张图片
二、遇到的坑
1.进入到了system文件夹后,wget无访问权限报错,切换文件夹到home目录即可

2.安装gem的的时候出现了问题 redis requires Ruby version >= 2.2.2下面是解决方法:
https://www.cnblogs.com/carryping/p/7447823.html

3.坑中坑,安装rvm报错(gpg: 无法检查签名:没有公钥
),需要先导入公钥,再执行一遍

$ curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
$ curl -L get.rvm.io | bash -s stable

4.集群的创建最少6个节点,需要注意

5.集群起来之后异常关闭的话再启动就启动不了了,需要处理一下

进入redis安装目录

$ cd /usr/local/bin/
  1. 将每个节点下aof、rdb、nodes.conf本地备份文件删除
  2. 192.168.1.142:7000> flushdb #清空当前数据库(可省略)
  3. 之后再执行脚本,成功执行

三、自己的理解
1.redis服务启动有两个参数,一个是程序,这里只需要进入到对应目录就很方便了,第二个参数是配置文件,集群需要管理好配置文件,多启动几个server就完成了。
例子:

$ cd /usr/local/bin
$ redis-server redis_cluster/7000/redis.conf

2.(验证之后不对,可能是操作问题,先留着)集群的创建依靠redis-trib.rb工具,可以将其复制到/usr/local/bin/下,这样就不用到目录中执行了

你可能感兴趣的:(linux,最佳实践与坑,Redis)