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

  • 相关阅读:
    VMWare相关知识
    QTP中的DataTable操作
    解决Access的sql语句join两次出错的问题
    .net环境用GDI+绘制倾斜文字
    用JS读取XML文件
    再认识asp.net的postback机制:探索__doPostBack的来龙去脉
    用Jquery读取Json内容
    JS取URL参数值的一个方法
    WinForm在窗体里面添加窗体
    ASP.NET2.0Theme回顾总结
  • 原文地址:https://www.cnblogs.com/laoyeye/p/6688130.html
Copyright © 2011-2022 走看看