zoukankan      html  css  js  c++  java
  • Redis单机版和集群版的安装和部署

    1、单机版的安装

    本次使用redis3.0版本。3.0版本主要增加了redis集群功能。

    安装的前提条件:

    需要安装gcc:yum install gcc-c++

    1.1 安装redis

    1、下载redis的源码包。

    从官网下载

    http://download.redis.io/releases/redis-3.0.0.tar.gz

    2、把源码包上传到linux服务器

    3、解压源码包并进入其目录

    tar -zxvf redis-3.0.0.tar.gz

    4、make

    cd /usr/local/redis-3.0.0

    make

    5、make install

    cd /usr/local/redis-3.0.0 

    [root@bogon redis-3.0.0]# make install PREFIX=/usr/local/redis

    1.2 启动redis

    1.2.1、前端启动模式(不推荐)

    前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。

    /usr/local/redis/bin/redis-server

    默认是前端启动模式,端口是6379

    1.2.2、后端启动

    1)redis的源码目录中复制redis.confredis的安装目录。

    2)修改配置文件

     

    3)[root@bogon bin]# ./redis-server redis.conf

    2、集群版的安装

    本次安装集群中有三个节点的集群,每个节点有一主一备。需要6台虚拟机。

    搭建一个伪分布式的集群,使用6redis实例来模拟。

    2.1 搭建集群需要的环境

    搭建集群需要使用到官方提供的ruby脚本。

    需要安装ruby的环境。

    2.1.1安装ruby

    yum install ruby

    yum install rubygems

    redis集群管理工具redis-trib.rb

    [root@bogon ~]# cd redis-3.0.0

    [root@bogon redis-3.0.0]# cd src

    [root@bogon src]# ll *.rb

    -rwxrwxr-x. 1 root root 48141 Apr  1 07:01 redis-trib.rb

    [root@bogon src]# 

    脚本需要的ruby包:

    redis-3.0.0.gem 

    需要上传到linux服务。

    2.1.2 安装ruby的包:

    gem install redis-3.0.0.gem

    [root@bogon ~]# gem install redis-3.0.0.gem

    Successfully installed redis-3.0.0

    1 gem installed

    Installing ri documentation for redis-3.0.0...

    Installing RDoc documentation for redis-3.0.0...

    2.2 集群的搭建

    2.2.1 创建6redis实例,端口号从7001~7006

    /usr/local下创建redis-cluster目录,其下创建70017002。。7006目录

    redis安装目录bin下的文件拷贝到每个700X目录内,同时将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下。

    2.2.2  修改redis的配置文件

    1、修改端口号

    2打开cluster-enable前面的注释。

    2.2.3:把创建集群的ruby脚本复制到redis-cluster目录下。

    2.2.4:启动6redis实例

    2.2.5:创建集群。

    执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境。

    ./redis-trib.rb create --replicas 1 192.168.131.102:7001 192.168.131.102:7002 192.168.131.102:7003 192.168.131.102:7004 192.168.131.102:7005  192.168.131.102:7006

    说明:

    redis集群至少需要3个主节点,每个主节点有一个从节点总共6个节点

    replicas指定为1表示每个主节点有一个从节点

    注意:

    如果执行时报如下错误:

    [ERR] Node XXXXXX is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0

    解决方法是删除生成的配置文件nodes.conf,如果不行则说明现在创建的结点包括了旧集群的结点信息,需要删除redis的持久化文件后再重启redis,比如:appendonly.aofdump.rdb

    创建集群输出:

    Can I set the above configuration? (type 'yes' to accept): yes

    2.3 测试集群

    [root@bogon redis-cluster]# redis01/redis-cli -h 192.168.25.153 -p 7002 -c

    [root@bogon redis-cluster]# redis01/redis-cli -h 192.168.25.153 -p 7002

    192.168.25.153:7002> set a 100

    (error) MOVED 15495 192.168.25.153:7003

    192.168.25.153:7002>

    [root@bogon redis-cluster]# redis01/redis-cli -h 192.168.25.153 -p 7002 -c

    192.168.25.153:7002> set a 100

    -> Redirected to slot [15495] located at 192.168.25.153:7003

    OK

    说明:

    ./redis-cli -c -h 192.168.101.3 -p 7001 ,其中-c表示以集群方式连接redis-h指定ip地址,-p指定端口号 -a myPassword

     最后还有添加删除节点,暂时就不写了,可以参考下:http://blog.51yip.com/nosql/1726.html

  • 相关阅读:
    flock对文件锁定读写操作的问题 简单
    hdu 2899 Strange Fuction(二分)
    hdu 2199 Can you solve this equation? (二分)
    poj 3080 Blue Jeans (KMP)
    poj 2823 Sliding Window (单调队列)
    poj 2001 Shortest Prefixes (trie)
    poj 2503 Babelfish (trie)
    poj 1936 All in All
    hdu 3507 Print Article (DP, Monotone Queue)
    fzu 1894 志愿者选拔 (单调队列)
  • 原文地址:https://www.cnblogs.com/laoyeye/p/6688130.html
Copyright © 2011-2022 走看看