centos 安装 redis (单机、哨兵、Cluster)

在安装 redis 的时候需要先安装 tcl

          下载 tcl 包

              https://sourceforge.net/projects/tcl/files/Tcl/8.6.8/tcl8.6.8-src.tar.gz/download

           tar -zxvf tcl8.6.8-src.tar.gz

           cd tcl8.6.8

           cd unix/

           ./configure

           make && make install

 

 

 安装 redis

         下载一个 redis 

              http://www.redis.cn/download.html

         选择一个版本的  使用的3.2.9

              redis-3.2.9.tar.gz

         解压

              tar -zxvf redis-3.2.9.tar.gz

 

          cd redis-3.2.9

          make && make test && make install

         

------------------------------------------------------------------------------------------------------------------------------

生产环境的启动方案

                1、创建两个目录

                        mkdir -p /etc/redis              存放 redis 的配置文件

                        mkdir -p /var/redis/6379    存放 redis 的持久化文件

                2、将 redis/redis.conf 拷贝到 /etc/redis 目录下

                        cp redis.conf /etc/redis、

                        重命名 /etc/redis/ 目录下的 redis.conf 为 6379.conf

                3、修改 6379.conf 配置文件

                        daemonize yes                                    守护进程

                        pidfile  /var/run/redis_6379.pid         redis 的 pid 文件位置

                        port 6379                                            端口

                        dir /var/redis/6379                             持久化文件存放位置

                4、将 redis -> utils 下的 redis_init_script 脚本放到 /etc/init.d 目录下

                      并且名字改为 redis_6379, 设置为跟随系统启动

                        cd /usr/local/redis-3.2.9/utils

                        cp redis_init_script /etc/init.d/

                        cd /etc/init.d/

                        mv redis_init_script redis_6379

 

                        chmod 777 redis_6379

                        在 redis_6379 启动脚本中添加两行注释

                                   # chkconfig: 2345 90 10
                                   # description: Redis is a persistent key-value database

                        chkconfig redis_6379 on

----------------------------------------------------------------------------------------------------------------------------

关于 redis 的两种持久化方案的配置

         redis 的持久化方案分为 RDB 和 AOF

         

          1、RDB 的配置

                 配置 /etc/redis/6379.conf     配置 save 就同时开启了 RDB 持久化

                   save 900 1

                   save 300 10

                   save 60 10000

 

          2、AOF 持久化  

                 配置 /etc/redis/6379.conf

                        appendonly yes               打开 AOF 持久化

          

         注意:

                   如果 RDB 和 AOF 同时工作的话,如果 redis 重启, 会优先使用 RDB 的持久化方案

                   也就是用 /var/redis/6379/dump.rdb 来恢复数据

 

--------------------------------------------------------------------------------------------------------------------------------

redis replication

         一、配置主从

              从节点的 6379.conf 中配置

                   slaveof  masterip masterport          设置主节点

                   slave-read-only yes                          强制性的读写分离,子节点只读不可写

               主从节点的 6379.conf 的 bind hostip 都要配置

               用 redis-cli -h hostip 来连接 redis

 

              先开始主节点,再开启从节点

 

              注意: 添加 6379 到 tcp 监听

                        systemctl start firewalld.service
                        firewall-cmd --zone=public --add-port=6379/tcp --permanent
                        iptables -A INPUT -ptcp --dport 6379 -j ACCEPT
                        systemctl stop firewalld.service

---------------------------------------------------------------------------------------------------------------------------------

redis sentinel(哨兵)

    一、先建两个目录

         mkdir -p /etc/sentinel/                存放 sentinel 的配置文件

         mkdir -p /var/sentinel/5000/      用来存放 sentinel 的日志

    二、将 redis 的 sentinel.conf 放到 /etc/sentinel/ 下

    三、将 sentinel.conf 修改为 5000.conf 

              mkidr -p /var/log/sentinel/5000

              添加

              daemonize yes

              logfile /var/log/sentinel/5000/sentinel.log

 

 

              修改以下配置

              bind 127.0.0.1 192.168.6.58

              port 5000

              dir /etc/sentinel/5000

              sentinel monitor mymaster 192.168.6.58 6379 2

              sentinel down-after-milliseconds mymaster 30000

              sentinel parallel-syncs mymaster 1

              sentinel failover-timeout mymaster 180000

 

 

    启动:

              redis-sentinel /etc/sentinel/5000.conf

              查看日志能看到 sentinel 的信息,和主节点从节点的信息

              根据 sentinel 的节点发现机制能自动发现 sentinel 不需要我们配置就能找到

     sentinel 的节点管理

              进入

              redis-cli -h 192.168.6.58 -p 5000

                 

              sentinel master mymaster         --  master 信息

              sentinel slaves mymaster          --  从节点信息

              sentinel sentinels mymaster      --  sentinel 信息              

              sentinel get-master-addr-by-name mymaster      -- 获取 master 的地址

 

---------------------------------------------------------------------------------------------------------------------------------

    redis cluster 的配置

 

              一、创建两个目录

                        mkdir /etc/redis-cluster     节点的配置文件目录

                        mkdir /var/log/redis           日志路径

                        mkdir -p /var/redis/7002   持久化文件路径

              二、将 、/usr/local/redis 下的 redis.conf 拷贝到 /etc/redis-cluster 下 并改名为 7001.conf

                        cp /usr/local/redis-3.2.9  /etc/redis-cluster

                        mv redis.conf ./7001.conf

              三、修改 配置文件

                        vi 7001.conf

                                  port 7001

                                  cluster-enabled yes

                                  cluster-config-file /etc/redis-cluster/nodes-7001.conf

                                  daemonize yes

                                  pidfile  /var/run/redis_7001.pid

                                  dir  /var/redis/7001

                                  logfile  /var/log/redis/7001.log

                                  bind  192.168.6.58

                                  appendonly yes

                        注意:

                                  在配置文件中不能包含 slaveof 的配置存在

              四、配置启动文件

                             cd /usr/local/redis-3.2.9/utils/

                             cp redis_init_script  /etc/init.d/

                             mv redis_init_script redis_7001

                             vi redis_7001

                                  REDISPORT=7001

                             按照以上的配置,在三台机器上分别配置两个文件,总共6份

               分别启动这6个实例

                             
                                                           

              五、集群管理工具

                       安装 ruby

                           第一种方式:

                             yum install -y ruby

                             yum install -y rubygems

                             gem install redis

                             cp /usr/local/redis-3.2.9/src/redis-trib.rb /usr/local/bin

                             用以上方法安装的 ruby  版本是2.0.0 可能不适合

                           第二种方式

                             下载 ruby 的包

                                  cd /usr/local

                                  wget http://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz

                                  tar -zxvf ruby-2.5.0.tar.gz

                                  cd ruby-2.5.0/

                                  ./configure --prefix=/usr/local/ruby

                                  cd /usr/local/ruby

                                  cp ./bin/ruby /usr/local/bin/

                                  cp ./bin/gem /usr/local/bin/

                                  ln -s /usr/local/bin/ruby /usr/bin/ruby

                             检查 ruby -v

                         

                        安装 ruby gem redis 依赖

                             cd /usr/local

                             wget http://rubygems.org/downloads/redis-3.3.0.gem

                             集成openssl库到ruby

                             yum install zlib-devel

                             cd /etc/local/ruby-2.5.0

                             cd ext/zlib

                             ruby extconf.rb

 

                                 //在操作下一步之前需要修改Makefile文件中的zlib.o: $(top_srcdir)/include/ruby.h,

                                 //将$(top_srcdir)修改为../..如下
                                 //zlib.o: ../../include/ruby.h
                                 //这一步如果不修改,make时会爆出另外一个错误
                                 //make:*** No rule to make target `/include/ruby.h', needed by `zlib.o'. Stop
                             make && make install

                             cd /usr/local

                             gem install -l /etc/local/redis-3.3.0.gem

                             如果出现错误[-bash: /usr/bin/gem: No such file or directory]

                                  ln -s /usr/local/bin/gem /usr/bin/gem

                             检查redis-trib.rb的可用性

                                  ./redis-4.0.1/src/redis-trib.rb

                                      

                                     出现以上信息表示可用

 

                             另一个缺少 openssl 库的错误

                                 yum install openssl-devel

                                 集成 openssl 库到 ruby

                                 cd /etc/local/ruby-2.5.0
                                 cd ext/openssl
                                 ruby extconf.rb
                                 //同样修改Makefile中的$(top_srcdir)为../..
                                 make && make install

              

                   六、创建 redis-cluster 集群

                             cp /usr/local/redis-3.2.9/src/redis-trib.rb /usr/local/bin

                             

                             redis-trib.rb create --replicas 1 192.168.6.58:7001 192.168.6.58:7002 

                                             192.168.6.63:7003 192.168.6.63:7004

                                             192.168.6.65:7005 192.168.6.65:7006

                             

                             查看集群信息

                             redis-trib.rb check 192.168.6.58:7001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值