Redis 群集安装

Redis简介: 

(1)REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

(2)Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。BSD:多用户、透明的。

(3)它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

(4)Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。(master节点写,slave节点读)

(5)Redis优势: 

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

下面介绍Redis群集安装步骤:

环境:用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master3 salve 环境。

redis 采用 redis-3.2.11 版本。

两台虚拟机都是 CentOS ,一台 CentOS7IP:192.168.188.132),一台 CentOS7IP:192.168.188.133

1.下载并解压:两台centos7都在/usr/local/目录下执行命令下载:
 

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

然后解压

tar -zxvf redis-3.2.11.tar.gz

2.编译安装:

cd redis-3.2.11
make 
make install

3.将 redis-trib.rb 复制到 /usr/local/bin 目录下

cd src
cp redis-trib.rb /usr/local/bin/

4.创建 Redis 节点

A.首先在 192.168.188.132 机器上 /usr/local/redis-3.2.11 目录下创建 redis_cluster 目录;

mkdir redis_cluster  

B.在 redis_cluster 目录下,创建名为7000、7001、7002的目录,并将 redis.conf 拷贝到这三个目录中:

cd redis_cluster
mkdir 7000 7001 7002
cp ../redis.conf 7000
cp ../redis.conf 7001
cp ../redis.conf 7002

C.分别修改这三个配置文件,修改如下内容:

port  7000                                        //端口7000,7001,7002        
bind 本机ip                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes                               //redis后台运行
pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001,7002
cluster-enabled  yes                           //开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志

D.然后在另外一台机器上(192.168.188.133),的操作重复以上三步,只是把目录改为7003、7004、7005,对应的配置文件也按照这个规则修改即可

5.启动各个节点

在ip为192.168.188.132机器上执行,可以用ps –ef |grep redis验证是否启动成功。

redis-server redis_cluster/7000/redis.conf
redis-server redis_cluster/7001/redis.conf
redis-server redis_cluster/7002/redis.conf

运行界面如下:

在ip为192.168.188.133机器上执行,可以用ps –ef |grep redis验证是否启动成功。

redis-server redis_cluster/7003/redis.conf
redis-server redis_cluster/7004/redis.conf
redis-server redis_cluster/7005/redis.conf 

运行界面如下:

6.创建集群

Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。

redis-trib.rb  create  --replicas  1  192.168.188.132:7000 192.168.188.132:7001  192.168.188.132:7002 192.168.188.133:7003  192.168.188.133:7004  192.168.188.188:7005

其中,前三个 ip:port 为第一台机器的节点,剩下三个为第二台机器。

这时候会出错。

这个工具是用 ruby 实现的,所以需要安装 ruby。安装命令如下:

yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

当执行gem install redis命令时候,是没有任何反应的、或者报版本不行:

解决办法:

报错原因:安装redis的话,ruby版本最低是2.3.0,而当前版本是1.8.7,所以无法安装

解决办法:升级ruby版本

注:直接下载ruby包来安装,速度快。

a、卸载当前ruby

yum remove ruby

b、下载ruby稳定版

cd /usr/local/src
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz

c、安装ruby

tar -zxvf ruby-2.5.1.tar.gz
cd ruby-2.5.1
./configure --prefix=/usr/local/ruby
make
make install

 d、查看安装后的版本

/usr/local/ruby/bin/ruby –v

e、设置环境变量

vi /etc/profile

最后添加

export PATH=$PATH:/usr/local/ruby/bin:

保存退出,执行

source /etc/profile

验证:

echo $PATH

f、镜像加速

此时使用gem install redis不会报错了,但是会发现很慢,为了更快速的安装,这里使用国内的镜像(https://gems.ruby-china.com/

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

gem sources –l

g、安装

gem install redis

7、创建集群,在ip192.168.188.132主机上执行

redis-trib.rb  create  --replicas  1  192.168.188.132:7000 192.168.188.132:7001  192.168.188.132:7002 192.168.188.133:7003  192.168.188.133:7004  192.168.188.188:7005

这时我出现了下面的问题:一直连不上另一台(192.168.188.133)虚拟机的节点。

原因是虚拟机没关防火墙,虚拟机要关闭防火墙或者限制不拦截Redis的外部访问:systemctl stop firewalld.service,关闭后互相ping一下彼此的IP。很重要的一步。成功页面如下:

输入 yes 即可,然后出现如下内容,说明安装成功。

8、集群验证

在第一台机器上连接集群的7002端口的节点,在另外一台连接7005节点,连接方式为:

redis-cli -h 192.168.31.245 -c -p 7002 

加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。

在第一台机器上:

 在第二台机器上:

在7005节点执行命令  set username laozhang ,执行结果如下:

然后在另外一台7002端口,查看 key 为 username 的内容, get username  ,执行结果如下:

说明集群运作正常。

到这里,Redis集群创建完毕。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值