之前写过redis单机安装,现在写关于集群的安装配置

环境:虚拟机 CentOS Linux release 7.5.1804 (Core)   redis-3.2.4  

ruby 2.0.0p648 gem 2.0.14.1  redis-3.2.2.gem (这三个是redis做集群时要用到的,5.0以后好像不用了)

(现在最新版的:redis-5.0.4.tar.gz   ruby2.6.0p0  gem3.0.1  redis-4.1.0.gem)

redis官网

6台虚拟机ip分别是:192.168.3.36、192.168.3.37、192.168.3.38、192.168.3.39、192.168.3.40、192.168.3.41

1、安装

  有两种方式:

     方式一:先在一台虚拟机上安装好,再复制其他5台虚拟机

       方式二:安装好6台虚拟机,在其中一台虚拟机上安装好后,复制安装好后的redis安装目录到其他虚拟机上

  我使用的第一种方式安装redis,解压:tar -zxvf  redis-3.2.4.tar.gz,得到redis-3.2.4解压包

  编译:首先安装依赖 yum install gcc-c++

       进入到redis-3.2.4包 cd redis-3.2.4

       执行make命令:make

                 安装(指定安装目录):make install

  使用make install不指定安装路径,默认会安装到/usr/local/bin目录下

  可以使用PREFIX指定目录,如:make install PREFIX=/usr/local/redis

  此时会在/usr/local/redis目录下生在bin目录,在将安装包下的redis.conf复制到/usr/local/redis/bin目录下

  此时可以启动redis服务:/usr/local/redis/bin/redis-server (前置启动)

 

     停止:/usr/local/redis/bin/redis-cli shutdown  

2、修改配置文件:(使用配置文件来启动,后置启动)

 daemonize no将其改为yes

 

 

  /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf,此时启动为后置启动,

  可使用使用netstat -nlpt查看端口

 集群配置

#bind 0.0.0.0  #去掉注释或者改成0.0.0.0,默认值为127.0.0.1

protected-mode no  #当bind注释掉后将值改成no,默认值 yes

appendonly yes  #去掉前面的注释,值为yes

cluster-enabled yes #去掉前面的注释,默认不启动集群

cluster-config-file nodes-6379.conf  #去掉前面的注释

cluster-node-timeout 15000  #去掉前面的注释,值可自己设置

 

  

 

 

    

 

 

  

3、关闭虚拟机,复制5份后,在虚拟机打开(启动虚拟机之前记得改名),这样6台虚拟机配置一致

4、选择一台虚拟作为主操作机器,可以远程操作其他5台虚拟机(以192.168.3.37为例),即免密登录

  a、生成密钥:ssh-kengen -t rsa

  b、复制公钥到6台主机中:ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.3.37(36到41)

  c、创建启动文件startAllRedis.sh和停止文件stopAllRedis.sh,并修改模式

  startAllRedis.sh内容:

ssh root@192.168.3.36 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
ssh root@192.168.3.37 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
ssh root@192.168.3.38 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
ssh root@192.168.3.39 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
ssh root@192.168.3.40 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
ssh root@192.168.3.41 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf

 

 

 

 

 

 

 

  stopAllRedis.sh

ssh root@192.168.3.36 /usr/local/redis/bin/redis-cli shutdown
ssh root@192.168.3.37 /usr/local/redis/bin/redis-cli shutdown
ssh root@192.168.3.38 /usr/local/redis/bin/redis-cli shutdown
ssh root@192.168.3.39 /usr/local/redis/bin/redis-cli shutdown
ssh root@192.168.3.40 /usr/local/redis/bin/redis-cli shutdown
ssh root@192.168.3.41 /usr/local/redis/bin/redis-cli shutdown

 

 

 

 

 注意:上面配置文件中bind要么不配置,要么配置成0.0.0.0,否则这个命令会失效

  chmod 7 startAllRedis.sh

  chmod 7 stopAllRedis.sh

  这样,执行这两上命令,就可分同时启动或停止6台虚拟机上的redis服务

5、在192.168.3.37上执行集群操作

  ruby和gem环境,centos自带2.0版本,满足要求,可以不用再安装

  安装redis-3.2.2.gem

    下载:wget https://rubygems.org/downloads/redis-3.2.2.gem

    安装:gem install redis-3.2.2.gem

  将启动的6台redis做集群,执行以下命令

~/redis-3.2.4/src/redis-trib.rb create --replicas 1 192.168.3.36:6379 192.168.3.37:6379 192.168.3.38:6379 192.168.3.39:6379 192.168.3.40:6379 192.168.3.41:6379

 

  注意:是安装包redis-3.2.4/src目录下的redis-trib.rb命令(我之前将其复制到其他位置,执行命令老没反应)

6、客户端接入,redis-cli和桌面工具

  

 

redis集群官网说明:https://redis.io/topics/cluster-tutorial

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

              完 

 

posted on 2019-04-02 19:06  skyxia  阅读(371)  评论(0编辑  收藏  举报