Redis_集群搭建

来源:互联网 发布:冒险岛游戏数据 编辑:程序博客网 时间:2024/06/05 15:15
  1. 下载并解压:

    wget http://download.redis.io/releases/redis-4.0.0.tar.gztar -zxvf redis-4.0.0.tar.gz
  2. 切换apt源至国外源

    sudo apt-get update、sudo apt-get upgrade
  3. 下载编译器:

    sudo apt-get install gcc && apt-get install make && sudo apt-get install tcl
  4. redis-4.0.0目录下,编译redis:

    make && make install
  5. redis-4.0.0目录下创建bin目录,将src目录下 redis-trib.rb 复制到 bin 目录下

    cp redis-trib.rb ../bin
  6. 创建 Redis 节点

    在各节点执行以下操作:
    ①redis-4.0.0目录下创建 redis_cluster 目录,
    ②redis_cluster 目录下,创建6379、6380、6381目录,将 redis.conf 拷贝到这三个目录
    ③分别修改redis.conf文件
    port 6379
    bind 192.168.1.105
    daemonize yes
    pidfile /var/run/redis_6379.pid
    cluster-enabled yes
    cluster-config-file nodes_6379.conf
    appendonly yes //aof日志开启,为每次写操作记录一条日志

  7. 启动Redis节点
    在各节点执行以下操作:

    src/redis-server redis_cluster/6379/redis.confsrc/redis-server redis_cluster/6380/redis.confsrc/redis-server redis_cluster/6381/redis.conf

    查看进程:ps -ef | grep redis
    查看端口是:netstat -tunpl | grep 6379

  8. 安装ruby

        sudo apt-get install ruby    sudo gem install redis
  9. 创建集群

    src/redis-trib.rb create --replicas 1 192.168.1.104:6379 192.168.1.104:6380     192.168.1.104:6381 192.168.1.105:6379 192.168.1.105:6380 192.168.1.105:6381
  10. 集群验证
    分别连接两个不同的节点:

    src/redis-cli -h 192.168.1.104 -c -p 6379src/redis-cli -h 192.168.1.105 -c -p 6380

    加参数 -C 可连接到集群
    在192.168.1.104节点执行命令:
    set hello word
    keys *
    在192.168.1.104执行命令:
    get hello
    退出客户端:quit

  11. 若报错:[ERR] Node 192.168.1.104:6379 is not empty
    停止集群:
    ./redis-cli SHUTDOWN #或者pkill redis-server
    Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置文件持久化,最后完成退出
    删除文件:appendonly.aof、dump.rdb、nodes-6379.conf、nodes-6380.conf、nodes-6381.conf
    重新创建集群

【附录】
Redis常用配置:

daemonize                   如果需要将Redis服务以守护进程在后台运行,则把该项的值改为yespidfile                     配置多个pid的地址,默认在/var/run/redis/pidbind                            绑定ip,设置后只接受来自该ip的请求port                            监听端口,默认是6379timeout                     客户端连接超时的设定,单位是秒loglevel                    分为4级,debug、verbose、notice、warninglogfile                     配置log文件地址databases                   设置数据库的个数,默认使用的数据库为0save                            设置redis进行数据库镜像的频率rdbcompression          在进行镜像备份时,是否进行压缩Dbfilename                  镜像备份文件的文件名Dir                         数据库镜像备份文件的存放路径Slaveof                     设置数据库为其他数据库的从数据库Masterauth                  主数据库连接需要的密码验证Requirepass                 设置登录时,需要使用的密码Maxclients                  设置同时连接的最大客户端数量Maxmemory                   设置redis能够使用的最大内存Appendonly                  开启append only模式Appendfsync                 设置对appendonly.aof文件同步的频率vm-enabled                  是否开启虚拟内存支持vm-swap-file                    设置虚拟内存的交换文件路径vm-max-memory               设置redis能够使用的最大虚拟内存vm-page-size                    设置虚拟内存的页大小vm-pages                    设置交换文件的总的page数量vm-max-threads              设置VMIO同时使用的线程数量Glueoutputbuf               把小的输出缓存存放在一起hash-max-zipmap-entries     设置hash的临界值Activerehashing             重新hash
原创粉丝点击