阅读本文须求先读书安装Redis<准备>

安装重视包:

一、背景
  因项目须求,要引进redis做缓存,就在centos7下亲自安装了1回redis,刚好趁着那几个时机就来把redis的概念以及单机版和集群版redis安装步骤记录下来,在此和大家齐声享受。

Redis集群搭建,redis集群

  1.什么是Redis

  Redis是用C语言开荒的多个开源的高品质键值对(key-value)数据库。它经过提供各类键值数据类型来适应分裂场景下的存款和储蓄需要,目前甘休Redis帮衬的键值数据类型如

下:字符串类型, 散列类型, 列表类型, 集合类型, 有序集合类型。

2.Redis 安装

  redis 是C
语言开采, 安装redis必要先师长方网站下载的源码举行编写翻译,编写翻译正视gcc环境,要是未有gcc环境,需要安装gcc:yum
install gcc-c++

  注: redis三.0 版本 扩张 redis 集群功效。

  下载地址: 

  一) 笔者那边先将下载好的包上传到服务器 /usr/local/src/redis 下

  2) 解压 tar -zxvf redis-3.0.0.tar.gz    (z:
标识解压格式,x:解压缩,v:展现解压进度,f:解压文件)

  ③) 进入解压后的目录进行编写翻译

    cd /redis-3.0.0

    make

  肆) 安装到钦点目录 小编那里安装到/usr/local/redis

     make PREFIX=/usr/local/redis insatll   注意大写

  五) 复制配置文件到安装目录,

    redis编写翻译后会有3个暗中认可的布置文件, 安装目录中未有,
大家只要做布署需求把redis默许的配备文件拷贝到redis的装置目录下

应用Mac远程访问,单机版以及集群。    cp /usr/local/src/redis/redis-3.0.0/redis.conf
 /usr/local/redis/bin

    澳门金沙国际 1

3.Redis启动

  一) 前端模式运转

  在安装目录bin下, 直接运维./redis-server 将要此从前端情势运维,前端格局运转的缺陷是ssh命令窗口关闭则redis-server程序截至

    澳门金沙国际 2

 

   那里我们得以看看redis暗中认可端口为 6379,
此时在命令行下边包车型客车光标会一贯闪烁, 假如此时按下CTSportageL+C 会关闭服务

  澳门金沙国际 3

 

   二) 后端格局运行

    要求将复制过来的redis配置文件 redis.conf  做修改

    [[email protected]
bin]# vi redis.conf  在 3七行 daemonize 改为 yes 未来端情势运转(输入i
进入编辑形式, 修改好现在按一下ESC,输入”:wq” 保存并脱离)

    澳门金沙国际 4澳门金沙国际 5

    [[email protected]
bin]# ./redis-server redis.conf 

    澳门金沙国际 6

    那里能够旁观redis 运营了, 下边大家测试一下,

    [[email protected]
bin]# ./redis-cli     实施命令 进入redis 命令号客户端

    输入ping

    澳门金沙国际 7

    标志大家的劳动运行成功并没反常。

  1. 集群搭建

  1) 说明

    1> 集群中每一种redis服务作为叁个redis节点,
各样节点之间互相互联(PING–>PONG 机制)

    二> 节点的fail是透过集群中中国足球球组织一级联赛过肆陆%的节点检查评定失效时才生效.

    3> 客户端与redis节点直连,不须求中间proxy层.客户端不供给连接集群具有节点,连接集群中任何一个可用节点就能够

    4> redis-cluster把具有的大意节点映射到[0-16383]slot上,cluster
负责维护node<->slot<->value

      Redis 集群中放置了 163八肆 个哈希槽,当供给在 Redis
集群中放置1个 key-value 时,redis 先对 key 使用 crc16算法算出二个结出,

      然后把结果对 1638四 求余数,这样各种 key
都会相应3个数码在0-163八3 之间的哈希槽,

      redis 会根据节点数量大概均等的将哈希槽映射到区别的节点

    贰) 配置redis集群须要三个ruby 环境

      redis集群众管理理工科具redis-trib.rb依赖ruby环境,首先必要安装ruby环境:

       安装ruby

      yum install ruby

      yum install rubygems

      我们须要动用redis成立集群的本子在redis的源码包src中

      澳门金沙国际 8

      这些本子运营要求1个redis-3.0.0.gem 运转环境包,

      作者那边将以此包放到/usr/local/src/redis
和redis源码文件在三个索引下,

      然后 安装试行 gem install /usr/local/redis-3.0.0.gem

      澳门金沙国际 9

    3) redis
集群因为内置存在的投票容错机制,即上述表达中的第三点,抢先三分之二的节点检测失效时才生效,
所以我们的redis集群至少有八个节点 ,

       那三个节点作为主节点, 当然我们还亟需供给两个从节点,
这样我们需求弄出四个redis, 小编那里只装了一个虚拟机作为服务器,
这自身那边先创设伍个redis实例来模拟。

     创造redis实例, 那里大致说多美滋(Karicare)下, 作者那里在/usr/local
上面成立一个文书下redis-cluster 文件夹

     mkdir redis-cluster

     cd /usr/local/redis/bin

       cp -r bin ../redis-cluster/redis01

       cd /usr/local/redis-cluster/redis01

       删除文件夹中dump.rdb 文件删除

       修改配置文件

      端口改为 700壹,

      cluster-enabled yes 的疏解松开  暗中认可是注释掉的,
钦点要做集群,

     之后就复制这些redis01 分别命名redis0二,redis0叁,***redis06同时修改端口分别为700二,7003,****7006 保存

    成立实例达成后, 把ruby脚本redis-trib.rb
(在redis源码src路径下的) 复制到redis-cluster 目录下

    在开立redis集群以前运行这4个redis实例

    在/usr/local/redis-cluster 目录下推行

    ./redis-trib.rb create –replicas 1 IP地址:7001 IP地址:7002
IP地址:7003 IP地址:7004 IP地址:7005  IP地址:7006

    提示输入 yes  

    4) 测试redis集群

      因为redis集群是相互连接的, 笔者没不必要三个个总是,
只要求连接redis实例中的3个就能够 推行以下命令

      [[email protected]
redis-cluster]# redis01/redis-cli -h IP地址 -p 7001 -c 

      其中-c表示以集群格局连接redis,-h内定ip地址,-p钦定端口号

      澳门金沙国际 10

     5) 关闭服务

    ./redis-cli -p 端口  shutdown

    

 

 

 

  

 

 

 

  

 

一.怎么着是Redis Redis 是用
C 语言开采的叁个开源的高品质键值对( key-value
)数据库。它经过提供各种键值数据类型来…

一 架构细节

yum install gcc tcl

二、Redis介绍
1.什么是Redis?

具有的redis节点互相互联(PING-PONG机制)
内部选择二进制协议优化传输速度和带宽


Redis是用C语言开荒的一个开源的高质量键值对(key-value)数据库。它经过提供三种键值数据类型来适应分歧情况下的积存须求,最近结束Redis援助的键值数据类型有:字符串类型、散列类型、列表类型、集合类型、有序聚集类型。

节点的fail是由此集群中中国足球球组织一流联赛过50%的节点检查实验失效时才生效

下载安装redis安装包

二.Redis的使用场景:

客户端与redis节点直连 不供给中间代理层 客户端不须要连接集群具有节点
连接集群中其余八个可用节点就能够

cd /opt ; wget

缓存(数据查询、短连接、新闻内容、商品内容等等)(最多应用)

redis-cluster把具备的物理节点映射到[0-16383]slot上
cluster负责维护(redis集群中放到了163八伍个哈希槽
当必要在redis集群中放置叁个key-value时
redis先对key使用crc16算法算出2个结果 然后把结果对163八四求余数
那样各类key都会相应三个数码在0-163八3里头的哈希槽
redis会根据节点数量差不多均等的将哈希槽映射到分化的节点)

tar -zxvf redis-3.0.3.tar.gz

分布式集群架构中的session分离

澳门金沙国际 11

mkdir /opt/redis

聊天室的在线好友列表

澳门金沙国际 12

cd /opt/redis-3.0.3

义务队列;(秒杀、抢购、1230陆等等)

redis集群中最少应该有四个节点 要有限支撑集群的高可用
要求种种节点有一个备份机

make PREFIX=/opt/redis install

运用排名榜

redis集群至少必要6台服务器


网址访问总结

此间小编准备了陆台服务器

配置redis.conf文件

多少过期处理(能够确切到飞秒)

120.79.191.xxx  39.108.121.xxx  120.77.148.xxx  39.108.162.xxx  120.79.62.xxx  112.74.54.xxx

澳门金沙国际 13

3、安装前准备
1.因为redis是C语言开垦的,所以大家建议在linux上运维,故本文介绍在centos柒上设置redis.

 


2.安装redis必要先中将方网站下载的源码进行编译,编译注重gcc环境,若是未有gcc环境,须要安装gcc,命令如下:

二在6台服务器上个别设置运转Redis

设置配置文件、数据文件等渠道

yum -y install gcc-c++
4、安装单机版redis
1.从官网下载对应的redis源码包,命令如下:

redis依赖

/*****************************************************************************************************/

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

  yum install gcc-c++

陆台机器的端口号无法平等:711一,7112,71一三,7114,71一伍,7116

二.对源码文件的滑坡包实行解压缩,命令如下:

解压

/*****************************************************************************************************/

tar -zxvf redis-3.0.0.tar.gz

  cd redis压缩包所在目录

mkdir -p /opt/redis/cluster/7111 ;cp /opt/redis-3.0.3/redis.conf 
/opt/redis/cluster/7111/redis-7111.conf

3.跻身到解压后的源码文件夹,并对源码进行编写翻译,命令如下:

  tar -xvf redis-4.0.10.tar.gz

mkdir -p /export/redis/7111

cd redis-3.0.0.tar.gz && make

编译

cp /opt/redis-3.0.3/redis.conf /opt/redis/cluster/7111/

四.设置编写翻译完结后的文件(prefix参数用来钦定redis的安装地点,壹般提出安装在/usr/local/redis下)

  cd redis解压包内部 -> cd /hy/redis-4.0.10

布署redis.conf 参考上海教室

make install PREFIX=/usr/local/redis

  make


5.把/usr/local/redis/bin文件夹下全体文件移动到/usr/local/redis文件夹下,并剔除/usr/local/redis/bin文件夹

  make install PREFIX=/usr/local/redis

安装ruby for redis

mv /usr/local/redis/bin/* /usr/local/redis/ && rm -rf
/usr/local/redis/bin

布置文件准备

yum install ruby rubygems

陆.设置到位,运维单机版redis

  cp /hy/redis-4.0.10/redis.conf /usr/local/redis/bin

/****************************竭泽而渔ruby版本过低难点*******************************/

1).调节台间接开行:cd /usr/local/redis && ./redis-server

编辑(根据key修改value)

gpg2 –keyserver hkp://keys.gnupg.net –recv-keys D39DC0E3 ; curl -L
get.rvm.io | bash -s stable; find / -name rvm -print ; source
/usr/local/rvm/scripts/rvm;  rvm list known ; rvm install 2.3.3

2).后台运维:

  vim /usr/local/redis/bin/redis.conf

rvm use 2.3.3 ; rvm use 2.3.3 –default;rvm remove 2.0.0 ; ruby
–version

I.复制源码包下的redis.conf到redis的装置目录.

# 注释掉bind
# bind 127.0.0.1
# 设置后台启动
daemonize yes
# 设置集群密码
masterauth redis12345
# 设置单机密码
requirepass redis12345
# 开启集群
cluster-enabled yes
# 设置集群节点超时
cluster-node-timeout 15000

/********************************************************************************澳门金沙国际,/

II.修改redis.conf,将其中daemonize no项修改daemonize yes

进入bin目录

gem 安装 redis ruby 接口:

III.后台运行:cd /usr/local/redis && ./redis-server redis.conf

  cd /usr/local/redis/bin

gem install redis

七.开首并测试客户端

启动


redis-cli -p 端口(默认6379) -h 主机ip(默认localhost即127.0.0.1)
五、安装redis集群
  1.redis-cluster集群架构图

  ./redis-server redis.conf

挑个中壹台搭建群集:

澳门金沙国际 14

 

cp /opt/redis-3.0.3/src/redis-trib.rb /usr/bin

image.png

三 选用之中1台服务器配置集群

redis-trib.rb

架构细节:

ruby环境

create –replicas 1 10.131.185.15:7111 10.131.185.16:7112
10.131.185.17:7113 10.131.185.18:7114 10.131.185.19:7115
10.131.185.20:7116

(一)全部的redis节点互相互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

  yum install curl


(二)节点的fail是透过集群Chinese Football Association Super League越2/四的节点检查评定失效时才生效.

  curl -L get.rvm.io | bash -s stable

测试:

(叁)客户端与redis节点直连,不要求中间proxy层.客户端不要求接二连三集群具备节点,连接集群中任何一个可用节点就可以

  gpg –keyserver hkp://keys.gnupg.net –recv-keys
409B6B1796C275462A1703113804BB82D39DC0E3

/opt/redis/bin/redis-cli -c -p 7111

(四)redis-cluster把全数的情理节点映射到[0-16383]slot上,cluster
负责爱慕node<->slot<->value

  \curl -sSL | bash -s stable

127.0.0.1:7111>set name guohua

Redis 集群中置放了163八四 个哈希槽,当供给在 Redis 集群中放置四个key-value
时,redis 先对 key 使用 crc1陆 算法算出1个结出,然后把结果对 163八四求余数,那样各种 key 都会相应二个号码在 0-163八三 之间的哈希槽,redis
会依据节点数量大约均等的将哈希槽映射到不一样的节点。
 二.创办集群:(表达:由于机械有限,大家先使用一台linux服务器来创建多少个redis实例从而创建1个伪集群)

  source ~/.bashrc

127.0.0.1:7111>get name 

首先步:在/usr/local文件夹下创立redis-cluster文件夹作为redis集群根目录

  source ~/.bash_profile

cd /usr/local && mkdir redis-cluster

  source /usr/local/rvm/scripts/rvm

其次步:在redis-cluster文件夹下安装6个redis实例,安装步骤同单机版安装步骤。

  rvm list known

其三步:分别编写制定各样实例的redis.conf文件钦定端口为700壹到700陆,并展开每三个配置文件中cluster-enable
yes前边的申明(即去掉’#’号)。

  rvm install 2.5.1

第四步:拷贝redis源码文件夹下的名叫redis-trib.rb的ruby脚本文件到redis-cluster文件夹下

  rvm use 2.5.1

cp redis-trib.rb /usr/local/redis-cluster/

澳门金沙国际 15

第伍步:实施该ruby脚本前,在系统中安装ruby环境

安装ruby脚本库

1).yum -y install ruby

  cd ruby脚本库压缩包所在目录

2).yum -y install rubygems

  gem install redis-4.0.1.gem

第5步:安装试行ruby脚本redis-trib.rb推行所注重的gem包:redis-3.0.0.gem

编辑(根据key修改value)

gem install redis-3.0.0.gem

  vim
/usr/local/rvm/gems/ruby-2.5.1/gems/redis-4.0.1/lib/redis/client.rb

第七步:运转全部的redis实例

:host => "0.0.0.0",
:password => "redis12345",

./redis-server redis.conf

本子文件准备

第十步:使用redis-trib.rb创制集群(假若是在不一样的机械上设置实例,只必要在任意一台机器上试行以下命令就能够)

  cp /hy/redis-4.0.10/src/redis-trib.rb /usr/local/redis/bin

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

施行脚本命令

出现以下分界面,注明redis集群安装成功。

  cd /usr/local/redis/bin

澳门金沙国际 16

  ./redis-trib.rb create –replicas 1 120.79.191.xxx:6379
39.108.121.xxx:6379 120.77.148.xxx:6379 39.108.162.xxx:6379
120.79.62.xxx:6379 112.74.54.xxx:6379

image.png

 

 第玖步:进入任意一台实例安装地点,能够使用以下命令来开始展览一连集群:

四 化解大坑

./redis-cli -p 700一 -c(-c表达是连连集群,单机的时候不须要加该参数)

场合: 使用./redis-cli存取数据没问题使用JedisCluster存取数据时好时坏(部分key会导致Could not get a resource
from the pool)

到此,咱们就到位了redis的单机 以及集群版的安装和测试。
三、总结
  通过本次redis安装的经验,让小编感觉到天涯海角看安装集群什么的很艰辛,其实本身操作起来,感到并未有何困难的,只要记住步骤就好了。所以不可能给协调设置界限,什么工作都要保证1颗想要尝试的心。

案由: redis集群中或多或少节点IP是私房IP 所以分配到该节点上的key是访问不到的

化解办法 -> 在六台服务器上分别修改配置

  进入bin目录

    cd /usr/local/redis/bin

  关闭

    ./redis-cli -a redis12345 shutdown

  编辑(将享有节点私有IP换来公网IP 重点关怀myself,master或myself,slave
注意每份配置文件要修改的IP不一样等)

    vim /usr/local/redis/bin/nodes.conf

  启动

    ./redis-server redis.conf

期望道友早日看到 真是大坑…

 

相关文章