Redis 集群 安装(超详细安装)

亲测能成功

一,安装环境,工具,资源

    系统:CentOS 7.4 三台(在一台虚拟机上也能安装集群)

        192.168.217.128

        192.168.217.129

        192.168.217.130

    工具:Xshell5

    redis:redis-3.3.0.gem redis-3.2.6.tar.gz  (官网下载)

二,环境配置

    1,集群配置

 

 

192.168.217.128 master1 slave2
192.168.217.129 master2 slave3
192.168.217.130 master3 slave1

    2,相关环境配置

        GCC:

        检查GCC是否安装:gcc -v

        Redis 集群 安装(超详细安装)_第1张图片

        如果没有任何信息,则运行:

        yum install gcc-c++     #进行在线安装

 

        Ruby:

        检测Ruby是否安装:ruby -v

        

        如果没有任何信息,则运行:

        sudo yum install ruby      #进行在线安装

 

        OpenSSL:

        下载安装包:openssl-1.0.0a.tar.gz

        上传到/root

        cd /root
        tar -zxvf openssl-1.0.0a.tar.gz
        cd openssl-1.0.0a
        ./config -fPIC --prefix=/usr/local/openssl enable-shared
        ./config -t

 

 

 

        make && make install

        然后是等待......

        如果安装结果报错,则进入  /usr/bin目录,删掉pod2man文件

        然后再:

         ./config -fPIC --prefix=/usr/local/openssl enable-shared

        ./config -t

        make && make install

        Redis 集群 安装(超详细安装)_第2张图片

        安装成功!

 

 

三,开始安装

    1,路径分配

        压缩包上传路径:/root/redis-3.2.6.tar.gz

        解压路径:/opt/redis-3.2.6

        安装路径:/usr/local/bin

    2,三台虚拟机分别上传压缩包:redis-3.3.0.gem redis-3.2.6.tar.gz

        Redis 集群 安装(超详细安装)_第3张图片

    3,解压安装(192.168.217.128)

        cd /root

        tar -zxvf redis-3.2.6.tar.gz 

        mv redis-3.2.6/ /opt/

        cd /opt/redis-3.2.6

        make && install make   (必须用root权限安装)

        Redis 集群 安装(超详细安装)_第4张图片

        看到上面的信息就安装成功,默认安装到/usr/local/bin

        cd /usr/local/bin/

        Redis 集群 安装(超详细安装)_第5张图片

        可以看到已经有上面这些文件

        4,重复3的步骤将剩余两台虚拟机进行安装

        5,集群文件创建:

            每台虚拟机上分别创建两个文件夹,在/opt目录下

 

192.168.217.128 7000 7003
192.168.217.129 7001 7004
192.168.217.130 7002 7005

            如:128机器下:

            cd /opt

            mkdir 7000 7003      #文件见上述表格,3台机器对应的文件夹名称

            Redis 集群 安装(超详细安装)_第6张图片

            拷贝配置文件(3个文件):

            cd /usr/local/bin

            cp redis-cli redis-server /opt/7000  #拷贝  redis-cli    redis-server  两个文件

            cp redis-cli redis-server /opt/7003  #拷贝  redis-cli    redis-server  两个文件

            cd /opt/redis-3.2.6/

            cp redis.conf /opt/7000    #拷贝  redis.conf  文件

            cp redis.conf /opt/7003    #拷贝  redis.conf  文件

            6,重复上面步骤,给其余两台机器拷贝好配置文件

            7,redis.conf配置

                cd /opt/7000

                vi redis.conf

                配置7个参数:

                port 7000      //端口号,对应文件夹7000名称

                pidfile  /var/run/redis_7000.pid

                appendonly  yes   //yes启用守护进程

                cluster-enabled  yes  //启用集群

                cluster-config-file  "nodes-7000.conf" //关联集群配置文件

                cluster-node-timeout  5000   //设置超时

                bind  0.0.0.0    //指定访问的ip地址,设为0.0.0.0时,所有的ip都可以访问

               :wq!保存脚本

 

                cd /opt/7003

                配置8个参数:

                port 7003      //端口号,对应文件夹7000名称

                daemonize  yes   //启动redis 时,后在后头运行

                pidfile  /var/run/redis_7003.pid

                appendonly  yes   //yes启用守护进程

                cluster-enabled  yes  //启用集群

                cluster-config-file  "nodes-7003.conf" //关联集群配置文件

                cluster-node-timeout  5000   //设置超时

                bind  0.0.0.0    //指定访问的ip地址,设为0.0.0.0时,所有的ip都可以访问

                :wq!保存脚本

                7,在剩余两台机器上重复上步骤

                8,分别启动3台机器的6个redis服务:

                     在机器:192.168.217.128   

                 cd /opt

                 ./7000/redis-server 7000/redis.conf

                ./7003/redis-server 7003/redis.conf

                netstat -tnulp | grep redis

                

                这个机器的两个redis启动成功

                在192.168.217.129,192.168.217.130上面重复上面步骤,记得要改变文件名称

                

               

                9,集群连接

                机器连接前要开发各个集群的端口:

                CentOS 7以上开发端口的命令为:

                firewall-cmd --zone=public --add-port=端口/tcp --permanent

                firewall-cmd --reload

                因此:

                128机器:

                firewall-cmd --zone=public --add-port=7000/tcp --permanent

                firewall-cmd --zone=public --add-port=17000/tcp --permanent

                firewall-cmd --zone=public --add-port=7003/tcp --permanent

                firewall-cmd --zone=public --add-port=17003/tcp --permanent

                firewall-cmd --reload

                129机器:

 

                firewall-cmd --zone=public --add-port=7001/tcp --permanent

                firewall-cmd --zone=public --add-port=17001/tcp --permanent

                firewall-cmd --zone=public --add-port=7004/tcp --permanent

                firewall-cmd --zone=public --add-port=17004/tcp --permanent

                firewall-cmd --reload

                

                129机器:

                firewall-cmd --zone=public --add-port=7002/tcp --permanent

                firewall-cmd --zone=public --add-port=17002/tcp --permanent

                firewall-cmd --zone=public --add-port=7005/tcp --permanent

                firewall-cmd --zone=public --add-port=17005/tcp --permanent

                firewall-cmd --reload

 

                切换到128机器:

                cd /root

                gem install redis-3.3.0.gem

                cd /opt/redis-3.2.6/src

                cp redis-trib.rb /opt

                cd /opt

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

            可能出现的问题:

            如果一直   Waiting for the cluster to join..........................则检查

            1,其他的机器的redis服务是否开启

            2,其他的机器的端口是否对外开放

            如果出现  ERR Slot 0 is already busy (Redis::CommandError)  

            则进入到每个节点:

            启动每个机器的节点,随便进入到一机器

            cd /opt/7000

            ./redis-cli  -h  192.168.217.128 -c -p 7000      //进入192.168.218.128机器的7000节点

            flushall

            cluster reset

            6个节点都执行一边,然后 

            cd /opt 

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

        Redis 集群 安装(超详细安装)_第7张图片

         节点分析:

 

192.168.217.128 7000(master) 7003(slave)
192.168.217.129 7001(master) 7004(slave)
192.168.217.130 7002(master) 7005(slave)

        3个master,3个slave

 

四,测试安装

        登录一个节点:

        如:128机器

        cd /opt/7000

        ./redis-cli -h 192.168.217.128 -c -p 7000

        set userName  dudang

        get userName

        

        然后登录到另一个节点

        ./redis-cli -h 192.168.217.130 -c -p 7005

        get userName

        

        测试成功

 

        至此,redis集群安装成功:

        192.168.217.128:7000

        192.168.217.129:7001

        192.168.217.130:7002

        192.168.217.128:7003

        192.168.217.129:7004

        192.168.217.130:7005

 

        一边安装,一边写这个文档,各种坑,还好都解决了,求个赞啊啊啊啊

    

 

 

 

                

 

 

 

 

 

    

 

 

你可能感兴趣的:(redis系列)