【美高梅手机版4858】Redis集群搭建,使用Mac远程访问

By admin in 美高梅手机版4858 on 2019年4月15日

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

设置注重包:

一、背景
  因项目需求,要引进redis做缓存,就在centos七下亲自安装了壹回redis,刚好趁着这几个机遇就来把redis的定义以及单机版和集群版redis安装步骤记录下来,在此和豪门壹块分享。

Redis集群搭建,redis集群

  1.什么是Redis

  Redis是用C语言开垦的贰个开源的高品质键值对(key-value)数据库。它通过提供多种键值数据类型来适应分裂情况下的仓库储存必要,方今结束Redis扶助的键值数据类型如

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

2.Redis 安装

  redis 是C
语言开辟, 安装redis要求先准将方网址下载的源码举行编写翻译,编写翻译正视gcc环境,借使未有gcc环境,供给设置gcc:yum
install gcc-c++

  注: redis3.0 版本 增添 redis 集群作用。

  下载地址: 

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

  二) 解压 tar -zxvf redis-叁.0.0.tar.gz    (z:
标志解压格式,x:解压缩,v:彰显解压进度,f:解压文件)

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

    cd /redis-3.0.0

    make

  肆) 安装到钦点目录 作者这里安装到/usr/local/redis

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

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

    redis编写翻译后会有多个暗中同意的计划文件, 安装目录中一向不,
大家只要做布署要求把redis暗中同意的安顿文件拷贝到redis的设置目录下

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

    美高梅手机版4858 1

3.Redis启动

  一) 前端情势运维

  在装置目录bin下, 间接运行./redis-server 将在此之前端方式运营,前端格局运营的症结是ssh命令窗口关闭则redis-server程序截至

    美高梅手机版4858 2

 

   那里大家得以看到redis暗许端口为 637玖,
此时在命令行上面包车型地铁光标会间接闪烁, 如若此时按下CT兰德君越L+C 会关闭服务

  美高梅手机版4858 3

 

   二) 后端格局运行

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

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

    美高梅手机版4858 4美高梅手机版4858 5

    [[email protected]
bin]#美高梅手机版4858 , ./redis-server redis.conf 

    美高梅手机版4858 6

【美高梅手机版4858】Redis集群搭建,使用Mac远程访问。    那里能够看看redis 运行了, 上面大家测试一下,

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

    输入ping

    美高梅手机版4858 7

    标记我们的服务运行成功并未有失水准。

  1. 集群搭建

  1) 说明

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

    二> 节点的fail是透过集群中超越55%的节点检查测试失效时才生效.

    三> 客户端与redis节点直连,不要求中间proxy层.客户端不须求连接集群具备节点,连接集群中别的3个可用节点就可以

    肆> redis-cluster把具有的物理节点映射到[0-16383]slot上,cluster
负责珍惜node<->slot<->value

      Redis 集群中放到了 163八四 个哈希槽,当供给在 Redis
集群中放置五个 key-value 时,redis 先对 key 使用 crc1六算法算出二个结实,

      然后把结果对 163八四 求余数,那样各类 key
都会相应七个编号在0-16383 之间的哈希槽,

      redis 会依照节点数量大约均等的将哈希槽映射到不一样的节点

    2) 配置redis集群须要二个ruby 环境

      redis集群管理工科具redis-trib.rb正视ruby环境,首先供给安装ruby环境:

       安装ruby

      yum install ruby

      yum install rubygems

      大家供给选拔redis创立集群的脚本在redis的源码包src中

      美高梅手机版4858 8

      那么些本子运营需求2个redis-三.0.0.gem 运营环境包,

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

      然后 安装实施 gem install /usr/local/redis-3.0.0.gem

      美高梅手机版4858 9

    三) redis
集群因为内置存在的投票容错机制,即上述表明中的第2点,抢先3/六的节点检查实验失效时才生效,
所以大家的redis集群至少有四个节点 ,

       这八个节点作为主节点, 当然大家还亟需需求五个从节点,
那样大家必要弄出陆个redis, 小编那边只装了一个虚拟机作为服务器,
那自身那里先创制伍个redis实例来模拟。

     创立redis实例, 那里大概说明一下, 作者那边在/usr/local
上边创立2个文书下redis-cluster 文件夹

     mkdir redis-cluster

     cd /usr/local/redis/bin

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

       cd /usr/local/redis-cluster/redis01

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

       修改配置文件

      端口改为 7001,

      cluster-enabled yes 的注释松开  默许是注释掉的,
钦定要做集群,

     之后就复制那么些redis01 分别命名redis0二,redis03,***redis0陆同时修改端口分别为7002,700三,****7006 保存

    创制实例完结后, 把ruby脚本redis-trib.rb
(在redis源码src路线下的) 复制到redis-cluster 目录下

    在创造redis集群以前运维那5个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集群是相互连接的, 小编没不供给2个个连接,
只必要连接redis实例中的3个就足以 试行以下命令

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

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

      美高梅手机版4858 10

     五) 关闭服务

    ./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是经过集群中超越59%的节点检验失效时才生效

下载安装redis安装包

2.Redis的运用场景:

客户端与redis节点直连 不要求中间代理层 客户端不需求一而再集群具有节点
连接集群中任何2个可用节点即可

cd /opt ; wget

缓存(数据查询、短连接、音讯内容、商品内容等等)(最多利用)

redis-cluster把具有的大要节点映射到[0-16383]slot上
cluster负责维护(redis集群中放到了16388个哈希槽
当要求在redis集群中放置贰个key-value时
redis先对key使用crc1六算法算出2个结果 然后把结果对163捌肆求余数
那样各种key都会相应3个编号在0-1638三之间的哈希槽
redis会依照节点数量大概均等的将哈希槽映射到差别的节点)

tar -zxvf redis-3.0.3.tar.gz

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

美高梅手机版4858 11

mkdir /opt/redis

聊天室的在线好友列表

美高梅手机版4858 12

cd /opt/redis-3.0.3

职分队列;(秒杀、抢购、12306之类)

redis集群中足足应当有多个节点 要保险集群的高可用
须求各样节点有二个备份机

make PREFIX=/opt/redis install

使用排名榜

redis集群至少须要陆台服务器


网址访问计算

此间自身准备了陆台服务器

配置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

美高梅手机版4858 13

三、安装前准备
壹.因为redis是C语言开荒的,所以大家提议在linux上运营,故本文介绍在centos7上设置redis.

 


2.安装redis须要先少校方网站下载的源码进行编写翻译,编写翻译正视gcc环境,假若没有gcc环境,必要设置gcc,命令如下:

贰在6台服务器上各自设置运行Redis

设置配置文件、数据文件等路径

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

redis依赖

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

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

  yum install gcc-c++

6台机器的端口号无法平等:711一,711二,71一三,711四,7115,7116

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

解压

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

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-肆.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

二).后台运转:

  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

7.运转并测试客户端

启动


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

  ./redis-server redis.conf

挑个中一台搭建群集:

美高梅手机版4858 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

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

  yum install curl


(二)节点的fail是经过集群中中国足球球组织一流联赛越5分之三的节点检测失效时才生效.

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

测试:

(叁)客户端与redis节点直连,不需求中间proxy层.客户端不必要一而再集群具备节点,连接集群中别的1个可用节点就可以

  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 集群中置放了16384 个哈希槽,当须要在 Redis 集群中放置三个key-value
时,redis 先对 key 使用 crc16 算法算出三个结出,然后把结果对 163八四求余数,那样各种 key 都会相应3个数码在 0-163八叁 之间的哈希槽,redis
会依据节点数量大致均等的将哈希槽映射到分歧的节点。
 贰.创造集群:(表达:由于机械有限,我们先选取一台linux服务器来创制五个redis实例从而创建二个伪集群)

  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

第3步:在redis-cluster文件夹下安装5个redis实例,安装步骤同单机版安装步骤。

  rvm list known

其三步:分别编写制定各样实例的redis.conf文件内定端口为700一到7006,并开辟每1个布置文件中cluster-enable
yes前边的笺注(即去掉’#’号)。

  rvm install 2.5.1

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

  rvm use 2.5.1

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

美高梅手机版4858 15

第陆步:试行该ruby脚本前,在系统中安装ruby环境

安装ruby脚本库

1).yum -y install ruby

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

2).yum -y install rubygems

  gem install redis-4.0.1.gem

第五步:安装实践ruby脚本redis-trib.rb试行所正视的gem包:redis-三.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

美高梅手机版4858 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

 

 第捌步:进入任意一台实例安装地方,能够选取以下命令来拓展连接集群:

4 解决大坑

./redis-cli -p 700一 -c(-c表明是接贰连三集群,单机的时候不供给加该参数)

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

到此,我们就落成了redis的单机 以及集群版的安装和测试。
三、总结
  通过这一次redis安装的阅历,让自己备认为外国看安装集群什么的很困难,其实本身操作起来,认为未有什么困难的,只要记住步骤就好了。所以无法给协调设限,什么工作都要保全壹颗想要尝试的心。

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

消除办法 -> 在6台服务器上各自修改配置

  进入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

梦想道友早日看到 真是大坑…

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有