一、安装单机redis

 redis的安装:版本至少是3.2.8及其以上,这里以3.2.8版本为例说明

1.安装redis

wget http://download.redis.io/releases/redis-3.2.8.tar.gz

tar xf redis-3.2.8.tar.gz

cd redis-3.2.8

make MALLOC=jemalloc

make PREFIX=/usr/local/redis install  #在makeinstall 这一步指定安装路径

[root@150 bin]# tree /usr/local/redis/ 安装完成

/usr/local/redis/

└── bin

├── redis-benchmark  #redis性能测试工具,测试redis在你系统及你配置下的读写性能

├── redis-check-aof  #更新日志检查

├── redis-check-rdb  #用于本地数据库检查

├── redis-cli        #redis命令行操作工具

├── redis-sentinel -> redis-server

└── redis-server     #redis服务器的启动程序

2.拷贝配置文件

mkdir /usr/local/redis/conf

cp /root/redis-3.2.8/redis.conf /usr/local/redis/conf/

优化PATH:

echo "export PATH=/usr/local/redis/bin/:$PATH" >>/etc/profile

source /etc/profile

3.启动

redis-server /usr/local/redis/conf/redis.conf &

4.测试连接

方法一:

[root@150 ~]# redis-cli

127.0.0.1:6379>

127.0.0.1:6379> set 007 wangchuang

OK

127.0.0.1:6379> get 007

"wangchuang"

方法二:

[root@151 ~]# telnet 192.168.100.150 -p 6379    #需要在配置文件修改监听地址

二、安装redis机群

1、安装ruby

首先安装rvm,然后用rvm安装ruby

1)安装rvm

http://rvm.io/rvm/security #查看最新的key,下面的key可能会失效

[root@150 ~]# gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

[root@150 ~]# \curl -sSL https://get.rvm.io | bash -s stable

[root@150 ~]# source /usr/local/rvm/scripts/rvm

2) 查看RVM中ruby的版本:

rvm list known | grep ruby

3)选择一个版本ruby版本安装,这边选择的是ruby 2.4.1

rvm install 2.4.1

4) 使用ruby版本并设置为默认版本

rvm use 2.4.1 --default

5) 将ruby和gem放入到全局变量

如果是按照前面安装的,ruby和gem的位置应该在/usr/local/rvm/rubies/ruby-2.4.1/bin/这个目录下,如果不在,可以使用whereis ruby 和 whereis  gem来查找,找到位置后,使用软链命令

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/gem  /usr/bin/

ln -s /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby  /usr/bin/

到这里ruby就安装完成了

2、redis集群安装

mkdir /usr/local/redis/redis-cluster/{7000..7005} -p

然后将etc目录下的redis.conf复制到7000目录下

cp /usr/local/redis/conf/redis.conf /usr/local/redis/redis-cluster/7000/

由于我们是做测试,并没有启动6个真正的物理节点,而是把6个Redis实例都部署在了同一台Linux服务器上,为了区分Redis实例,我们是以不同的端口号来区分Redis实例的。然后我们修改Redis.conf的配置文件

cd /usr/local/redis/redis-cluster/7000/

vim redis.conf

主要修改内容如下:

61 bind 172.16.20.80   本机ip地址

84 port 7000           //端口号

128 daemonize  yes   //后台运行

150 pidfile /var/run/redis-7000.pid  //修改pid进程文件名,以端口号命名

163 logfile /usr/local/redis/redis-cluster/7000/redis.log   //修改日志文件名称,以端口号为目录来区分

247 dir /usr/local/redis/redis-cluster/7000/       //修改数据文件存放地址,以端口号为目录名来区分

593 appendonly yes //启动AOF增量持久化策略

622 appendfsync always         //发生改变就记录日志

623 # appendfsync everysec   #注释掉这个=

721 cluster-enabled yes           //注释去掉,启用集群

729 cluster-config-file nodes-7000.conf     //配置每个节点的配置文件,同样以端口号为名称

修改保存后退出,然后将7000目录下的redis.conf 分别复制到7001,7002,7003,7004,7005目录下,在不同目录下将7000替换成当前目录的数字就可以了。在Linux的vi编辑中,进入末行模式(shift加上:),%s/7000/7001/g,这样就将所有的7000替换成了7001,然后保存退出,依次类推。

拷贝到7001-7005上,并修改

for i in `seq 7001 7005`;do cp /usr/local/redis/redis-cluster/7000/redis.conf /usr/local/redis/redis-cluster/$i/ ;done

for i in `seq 7001 7005`;do sed -i "s/7000/$i/g" /usr/local/redis/redis-cluster/$i/redis.conf ;done

1.3.2    安装redis-cluster的ruby接口

在/usr/local/redis/bin/下运行: gem install redis

1.3.3  启动:

在/usr/local/redis/redis_cluster下,运行

for i in `seq 7000 7005`;do redis-server /usr/local/redis/redis-cluster/$i/redis.conf ;done

然后运行:

redis-trib.rb  create --replicas 1 本机ip:7000  本机ip:7001  本机ip:7002  本机ip:7003  本机ip:7004  本机ip:7005

ruby /root/redis-3.2.8/src/redis-trib.rb create --replicas 1 172.16.20.80:7000 172.16.20.80:7001 172.16.20.80:7002 172.16.20.80:7003 172.16.20.80:7004 172.16.20.80:7005

如果一切顺利,你会看到类似这样的消息: [OK] All 16384 slots covered

结语:至此redis的单机与集群的安装和启动就成功了

redis单机上部署集群的更多相关文章

  1. Redis单机安装以及集群搭建

    今天主要来看一下Redis的安装以及集群搭建(我也是第一次搭建). 环境:CentOS 7.1,redis-5.0.7 一.单机安装 1.将Redis安装包放置服务器并解压 2.进入redis安装目录 ...

  2. redis 单机模拟 cluster集群

    一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心 ...

  3. 在websphere上部署集群应用程序-工作记录

    1) 创建web集群.client集群,添加集群托管节点,根据需求来,我的需求是两个应用部署到4个服务器上,属于1主3备模式 2) 创建webspere变量:选择你需要的集群作用域,新建资源   (作 ...

  4. Redis单机多节点集群实验

    第一步:安装Redis 前面已经安装过了 不解释, Reids安装包里有个集群工具,要复制到/usr/local/bin里去 cp redis-3.2.9/src/redis-trib.rb /usr ...

  5. Redis单机配置以及集群(sentinel、jediscluster)配置

    最近一直在使用Redis作为缓存数据库,在使用当中,刚开始没有注意配置问题. 1.纯粹的注入单机模式 <bean id="jedisPoolConfig" class=&qu ...

  6. Redis安装(单机及各类集群,阿里云)

    Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...

  7. 阿里云ECS部署Redis主备哨兵集群遇到的问题

    一.部署 详细部署步骤:https://blog.csdn.net/lihongtai/article/details/82826809 Redis5.0版本需要注意的参数配置:https://www ...

  8. redis解决方案之三种集群模式的概念与部署

    上篇文章为大家总结了redis命令并讲述了持久化,今天我们来看一下redis的三种集群模式:主从复制,哨兵集群,Cluster集群 本篇文章先介绍redis-cluster集群模式,然后再依次介绍它的 ...

  9. Redis 中常见的集群部署方案

    Redis 的高可用集群 前言 几种常用的集群方案 主从集群模式 全量同步 增量同步 哨兵机制 什么是哨兵机制 如何保证选主的准确性 如何选主 选举主节点的规则 哨兵进行主节点切换 切片集群 Redi ...

随机推荐

  1. css三角形实现的几种方法的区别

    演变: .triangle{ height: 30px; width: 30px; display: inline-block; border: 30px solid; border-color: # ...

  2. mini2440 u-boot禁止蜂鸣器

    mini2440的u-boot版本启动之后马上就会开启蜂鸣器,在办公环境下有可能会影响同事的工作,所以我考虑将其禁止掉. 我使用的mini2440使用的光盘是2013年10月的版本,我在该光盘下的u- ...

  3. 算法(Algorithms)第4版 练习 链表类 1.3.19~1.3.29

    package com.qiusongde.linkedlist; import java.util.Iterator; import java.util.NoSuchElementException ...

  4. z+f profiler 9012

    角度分辨率/角度精度 0.0088°/0.02°RMS

  5. Java编程思想(18~22)

    第18章 Java I/O系统 18.1 File 类 18.1.1 目录列表器 18.1.2 目录实用工具 18.1.3 目录的检查及创建18.2 输入和输出 在Java 1.0中类库的设计者限定于 ...

  6. hdu-1542 Atlantis(离散化+线段树+扫描线算法)

    题目链接: Atlantis Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/32768 K (Java/Others) ...

  7. PG替换字段中的回车与换行

    REPLACE(filed, CHR(10), '') //替换换行符 REPLACE(filed, CHR(13), '') //替换回车符

  8. BZOJ1251 序列终结者(Splay平衡树)(占位)

    网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列 要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术含量…… ...

  9. bzoj 1369: Gem 树形dp

    题目大意 给出一棵树,要求你为树上的结点标上权值,权值可以是任意的正整数 唯一的限制条件是相临的两个结点不能标上相同的权值,要求一种方案,使得整棵树的总价值最小.N<=10000 题解 我们可以 ...

  10. CodeForces - 434D Nanami's Power Plant

    Codeforces - 434D 题目大意: 给定一个长为n的序列,序列中的第i为上的值\(x_i\),序列第i位上的值\(x_i\in[l_i,r_i]\),价值为\(f_i(x_i)\),其中\ ...