redis安装配置使用,redis集群配置,redis集群管理,redis集群使用,php使用redis集群

    xiaoxiao2021-03-25  73

    1、yum快速安装

    yum install epel-release #添加yum源

    yum list all| grep -i redis #查看是否有redis可用安装包

    yum install redis -y  #安装redis

    rpm -ql redis #查看安装的redis生成的可执行文件和配置文件位置

    /usr/sbin/redis-server   /etc/redis.conf     #运行redis并指定配置文件

    #客户端测试

    [root@Centos-01 redis]# redis-cli redis 127.0.0.1:6379> set name lucy OK redis 127.0.0.1:6379> get name "lucy" redis 127.0.0.1:6379>

    #配置文件介绍去下边网址,或者自己google

    http://www.runoob.com/redis/redis-install.html

    #php客户端动态扩展库的安装。也可以直接yum安装。

    http://blog.csdn.net/u012558554/article/details/51072369

    #php使用redis例子。参看下边网址测试即可。

    http://www.runoob.com/redis/redis-php.html

    2、编译安装redis

    wget http://download.redis.io/releases/redis-3.0.0.tar.gz #下载源码包

    tar -xf redis-3.0.0.tar.gz #解压源码包

    cd redis-3.0.0

    make PREFIX=/usr/local/src/redis MALLOC=libc  #指定安装目录,自己建个目录随意。“MALLOC=libc”指定内存分配器。

    有可能报错的,如果发现错误如下:

    zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory zmalloc.h:55:2: error: #error "Newer version of jemalloc required" make[1]: *** [adlist.o] Error 1 make[1]: Leaving directory `/data0/src/redis-2.6.2/src' make: *** [all] Error 2

    如果报错指定MALLOC=libc

    make PREFIX==/usr/local/src/redis install#指定安装目录,自己建一个随意。

    /usr/local/src/redis/redis-server  /usr/local/src/redis-3.0.0/redis.conf #启动redis并指定配置文件。想要后台启动加“&” 或者修改下配置文件,令“daemonize  yes”即可

    3、redis集群原理和搭建

    参看:http://blog.csdn.net/zhu_tianwei/article/details/44928779

    #上边第2步编译完成后,可以搭建集群了。步骤如下

    #将集群工具复制到/usr/local/src/redis/bin下。主要是方便使用。不复制也没啥问题。 cp /usr/local/src/redis-3.0.0/src/redis-trib.rb  /usr/local/src/redis/bin

    #创建数据配置目录 mkdir -p /usr/local/src/redis/{conf,data,logs} #创建redis配置文件目录、数据目录、日志目录。方便管理

    #创建集群提供配置文件

    cp /usr/local/src/redis-3.0.0/redis.conf /usr/local/src/redis/conf/redis-6380.conf

    cp /usr/local/src/redis-3.0.0/redis.conf  /usr/local/src/redis/conf/redis-6381.conf

    cp /usr/local/src/redis-3.0.0/redis.conf  /usr/local/src/redis/conf/redis-6382.conf

    #修改配置文件,其他的redis-6381.confredis-6382.conf同样修改。记得修改IP和端口号、还有文件名字。红色部分为3个配置文件的差异位置。

    vim/usr/local/src/redis/conf/redis-6380.conf #替换原有文件。

    #基本配置 daemonize  yes pidfile /usr/local/src/redis/data/redis-6380.pid port 6380 bind 192.168.99.239 #我用一台机器做测试不用改了。你必须根据你的情况修改 unixsocket /usr/local/src/redis/data/redis-6380.sock unixsocketperm 700 timeout 300 loglevel verbose logfile /usr/local/src/redis/logs/redis-6380.log databases 16 dbfilename dump-6380.rdb dir /usr/local/src/redis/data/ #aof持久化 appendonly yes appendfilename appendonly-6380.aof appendfsync everysec no-appendfsync-on-rewrite yes auto-aof-rewrite-percentage 80-100 auto-aof-rewrite-min-size 64mb lua-time-limit 5000 #集群配置 cluster-enabled yes cluster-config-file /usr/local/src/redis/data/nodes-6380.conf cluster-node-timeout 5000                          

    #启动redis服务

      cd/usr/local/src/redis

     ./bin/redis-server ./conf/redis-6380.conf ;tail -f logs/redis-6380.log

     ./bin/redis-server ./conf/redis-6381.conf ;tail -f logs/redis-6381.log

     ./bin/redis-server ./conf/redis-6382.conf ;tail -f logs/redis-6382.log

    #查看下是不是有三个实例redis已经运行。现在他们还不是集群。

    ps aux | grep redis

    #创建集群

    cd /usr/local/src/redis/

    #我这里就不加slave节点了。你想测试的话直接在多加几个配置文件启动服务即可。

    ./bin/redis-trib.rb create --replicas 0192.168.99.239:6380192.168.99.239:6381192.168.99.239:6382

    #如果你多加了几个redis服务的话,执行下边命令就可以创建主从。下边的意思就是一共3个主节点,每个主节点一个slave节点。

    ./bin/redis-trib.rb create --replicas 1  192.168.99.239:6380192.168.99.239:6381192.168.99.239:6382192.168.99.239:6383192.168.99.239:6384192.168.99.239:6385

    #查看当前集群状况:自己看输出信息即可。看看那些机器是主,那些是从。每台主服务器上有多少slots。

    ./bin/redis-cli -c -h 192.168.99.239 -p 6380  cluster nodes

    4、集群管理

    参见:http://blog.csdn.net/xu470438000/article/details/42972123

    #新节点添加到集群中,你先运行一个新的节点。上边有方法,给个配置文件就可以了。

    ./redis-trib.rb add-node 192.168.99.239:6386 192.168.99.239:6380  #6386就是我新加的redis实例。6380就是当前集群中的一个节点。

    #查看下集群 是不是多了一个节点

    ./bin/redis-cli -c -h 192.168.99.239 -p 6380  cluster nodes

    #把新加入的节点变为主节点或者从节点,这里偷懒了。直接用人家的,注意改下ip端口和路径信息。

    4:增加了新的节点之后,这个新的节点可以成为主节点或者是从节点

    4.1 把这个节点变成主节点,使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面, 这个新节点就成为真正的主节点了。

    执行下面的命令对集群中的哈希槽进行移动

    cd /usr/local/redis3.0/src

    ./redis-trib.rb reshard 127.0.0.1:7000

    系统会提示我们要移动多少哈希槽,这里移动1000

     

    然后还需要指定把这些哈希槽转移到哪个节点上,

     

    输入我们刚才新增的节点的ID

    f32dc088c881a6b930474fc5b52832ba2ff71899

    然后需要我们指定转移哪几个几点的哈希槽

     

    输入all 表示从所有的主节点中随机转移,凑够1000个哈希槽

    然后再输入yesredis集群就开始分配哈希槽了。

    至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态

    redis-cli -c -p 7000 cluster nodes

     

     

    4.2:把这个节点变成从节点

    前面我们已经把这个新节点添加到集群中了,现在我们要让新节点成为127.0.0.1:7001的从节点,只需要执行下面的命令就可以了,命令后面的节点ID就是127.0.0.1:7001的节点ID

    redis-cli -c -p 7006 cluster replicate 0b00721a509444db793d28448d8f02168b94bd38

    使用下面命令来确认一下127.0.0.1:7006是否已经成为127.0.0.1:7001的从节点

     redis-cli -p 7000 cluster nodes | grep slave | grep 0b00721a509444db793d28448d8f02168b94bd38

    看到下面图片中的情况就表示添加成功

     

     

     

     

     

     

     

     

    Redis集群删除节点

    1:如果删除的节点是主节点,这里我们删除127.0.0.1:7006节点,这个节点有1000个哈希槽

    首先要把节点中的哈希槽转移到其他节点中,执行下面的命令

    cd /usr/local/redis3.0/src

    ./redis-trib.rb reshard 127.0.0.1:7000

    系统会提示我们要移动多少哈希槽,这里移动1000个,因为127.0.0.1:7006节点有1000个哈希槽

    然后系统提示我们输入要接收这些哈希槽的节点的ID,这里使用127.0.0.1:7001的节点ID

    然后要我们选择从那些节点中转出哈希槽,这里一定要输入127.0.0.1:7006这个节点的ID,最后输入 done  表示输入完毕

    最后一步,使用下面的命令把这个节点删除

    cd /usr/local/redis3.0/src/

    ./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006

    2:如果节点是从节点的,直接使用下面的命令删除即可。

    cd /usr/local/redis3.0/src/

    ./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006

    5、集群使用,注意ip和端口。我复制的别人的,但是我都测过了,没有问题。

    我们连接客户端看下:

    redis-cli -h 192.168.33.13 -p 7009 -c192.168.33.13:7009> get name1-> Redirected to slot [12933] located at 192.168.33.13:7003"1111"192.168.33.13:7003> get name2-> Redirected to slot [742] located at 192.168.33.13:7000"2222"192.168.33.13:7000> get name3-> Redirected to slot [4807] located at 192.168.33.13:7001"333"192.168.33.13:7001>

    6、php如何使用redis集群。去下边网址看看即可装下扩展,两种方法呢,随便挑一个即可。其他客户端使用例子请自行google

    http://blog.csdn.net/qiguiting/article/details/51057989

    转载请注明原文地址: https://ju.6miu.com/read-33235.html

    最新回复(0)