redis部署.md 3.7 KB

Redis

环境

Ubuntu 18.04

安装redis

apt-get install redis-server

修改密码

vi /etc/redis/redis.conf
# requirepass 你的密码

限制外网访问

vi /etc/redis/redis.conf
# bind 127.0.0.1 ::1

卸载

apt-get purge --auto-remove redis-server

修改dump.rdb文件存储路径

# 修改 /etc/redis/redis.conf
dir /data/bin/redis/data
# 修改 /etc/systemd/system/redis.service,添加以下文本
ReadWriteDirectories=-/data/bin/redis/data

注:之前只修改了 /etc/redis/redis.conf 下的配置,而没有修改 /etc/systemd/system/redis.service ,所以一直报如下错误
2397:M 17 Sep 17:06:13.910 # Failed opening the RDB file dump.rdb (in server root dir /data/bin/redis/data) for saving: Read-only file system

redis集群

  1. ### 源码安装,版本redis-4.0.14
   wget http://download.redis.io/releases/redis-4.0.14.tar.gz
   tar xzf redis-4.0.14.tar.gz
   cd redis-4.0.14
   make
  1. ### 服务启动
   cd redis-4.0.14
   # 启动服务端
   src/redis-server
   # 启动客户端
   src/redis-cli
   # 优雅关闭服务
   src/redis-cli shutdown save
  1. ### 集群部署
   # 节点服务启动
   /data/bin/redis/redis/src/redis-server /data/bin/redis/cluster/conf/9901/redis.conf
   /data/bin/redis/redis/src/redis-server /data/bin/redis/cluster/conf/9902/redis.conf
   /data/bin/redis/redis/src/redis-server /data/bin/redis/cluster/conf/9903/redis.conf
   /data/bin/redis/redis/src/redis-server /data/bin/redis/cluster/conf/9904/redis.conf
   /data/bin/redis/redis/src/redis-server /data/bin/redis/cluster/conf/9905/redis.conf
   /data/bin/redis/redis/src/redis-server /data/bin/redis/cluster/conf/9906/redis.conf
   # 集群启动
   /data/bin/redis/redis/src/redis-trib.rb create --replicas 1 172.16.0.32:9901 172.16.0.32:9902 172.16.0.32:9903 172.16.0.32:9904 172.16.0.32:9905 172.16.0.32:9906
   # 连接client
   /data/bin/redis/redis/src/redis-cli -c -h 172.16.0.32 -p 9901 -a wisdomCity@redis2019
   # 优雅关闭节点服务
   /data/bin/redis/redis/src/redis-cli -c -h 172.16.0.32 -p 9901 -a wisdomCity@redis2019 shutdown
   /data/bin/redis/redis/src/redis-cli -c -h 172.16.0.32 -p 9902 -a wisdomCity@redis2019 shutdown
   /data/bin/redis/redis/src/redis-cli -c -h 172.16.0.32 -p 9903 -a wisdomCity@redis2019 shutdown
   /data/bin/redis/redis/src/redis-cli -c -h 172.16.0.32 -p 9904 -a wisdomCity@redis2019 shutdown
   /data/bin/redis/redis/src/redis-cli -c -h 172.16.0.32 -p 9905 -a wisdomCity@redis2019 shutdown
   /data/bin/redis/redis/src/redis-cli -c -h 172.16.0.32 -p 9906 -a wisdomCity@redis2019 shutdown
   # 查看redis节点信息
   ps -ef | grep redis
   # 带密码集群,修改以下文件,不知道路径的话可以执行查找命令 find / -name 'client.rb'
   # 修改 password 对应的值
   vi /var/lib/gems/2.5.0/gems/redis-4.1.3/lib/redis/client.rb
   
   
  1. 集群进入fail状态的必要条件

    1. 某个主节点和所有从节点全部挂掉,我们集群就进入faill状态
    2. 如果集群超过半数以上master挂掉,无论是否有slave,集群进入fail状态
    3. 如果集群任意master挂掉,且当前master没有slave,集群进入fail状态
  2. 异常处理

    # 登陆
    /data/bin/redis/redis/src/redis-cli -c -p 9902
    # set时候出现以下错误
    (error) CLUSTERDOWN The cluster is down
    # 检查命令
    /data/bin/redis/redis/src/redis-trib.rb check 127.0.0.1:9902
    # 发现一下错误
    [ERR] Not all 16384 slots are covered by nodes.
    # 执行一下修复命令(实战没用)
    /data/bin/redis/redis/src/redis-trib.rb fix 127.0.0.1:9902