用一个叫redis-trib.rb的ruby脚本。redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(redis-xxx/src/)。是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的。所以redis集群需要先安装ruby环境。

这是在线安装步骤

Redis-cluster集群需要使redis-trib.rb脚本来管理集群,redis-trib.rb脚本是使用ruby语言编写的。

搭建集群同时需要搭建6台redis服务器,其中3台主机、3台从机。端口分别为7001~7006。

第一步:搭建ruby环境

[root@bogon bin]# yum install -y ruby

[root@bogon bin]# yum install -y rubygems

第二步:上传ruby和redis的接口程序

第三步:安装ruby和redis的接口

[root@bogon ~]# gem install redis-3.0.0.gem

第四步:复制redis-trib.rb脚本到/usr/local/redis-cluster目录下

[root@bogon ~]# mkdir /usr/local/redis-cluster

[root@bogon ~]# cp /root/redis-3.0.0/src/redis-trib.rb /usr/local/redis-cluster/

第五步:复制/usr/local/redis/bin到/usr/local/redis-cluster/下,并改名为7001

[root@bogon redis-cluster]# cp /usr/local/redis/bin ./7001 –r

第六步:修改7001目录下的redis.conf文件,主要修改端口和集群配置。

port 7001

cluster-enabled yes

第七步:复制7001目录为7002~7006,然后修改端口

Cp 7001/ 7002 -r

Cp 7001/ 7003 -r

......

第八步:启动7001~7006这6个redis服务器

编辑启动脚本

cd 7001/

./redis-server redis.conf

cd ..

cd 7002/

./redis-server redis.conf

cd ..

cd 7003/

./redis-server redis.conf

cd ..

cd 7004/

./redis-server redis.conf

cd ..

cd 7005/

./redis-server redis.conf

cd ..

cd 7006/

./redis-server redis.conf

cd ..

第九步:创建集群

[root@bogon redis-cluster]# ./redis-trib.rb create --replicas 1 192.168.242.129:7001 192.168.242.129:7002 192.168.242.129:7003 192.168.242.129:7004 192.168.242.129:7005  192.168.242.129:7006

>>> Creating cluster

Connecting to node 192.168.242.129:7001: OK

Connecting to node 192.168.242.129:7002: OK

Connecting to node 192.168.242.129:7003: OK

Connecting to node 192.168.242.129:7004: OK

Connecting to node 192.168.242.129:7005: OK

Connecting to node 192.168.242.129:7006: OK

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

192.168.242.129:7001

192.168.242.129:7002

192.168.242.129:7003

Adding replica 192.168.242.129:7004 to 192.168.242.129:7001

Adding replica 192.168.242.129:7005 to 192.168.242.129:7002

Adding replica 192.168.242.129:7006 to 192.168.242.129:7003

M: e6e324f6e07a8791bb4680e6d9a43a8c8521d071 192.168.242.129:7001

slots:0-5460 (5461 slots) master

M: 4734ef2831cc50f6ed2a311ef6e69cd7ac3e98ab 192.168.242.129:7002

slots:5461-10922 (5462 slots) master

M: 7bb03b2f0f2bed96b367d4a5ec1886e63f5b4a37 192.168.242.129:7003

slots:10923-16383 (5461 slots) master

S: 4679464174bb13ab556b9caf89085b9ae6e322a3 192.168.242.129:7004

replicates e6e324f6e07a8791bb4680e6d9a43a8c8521d071

S: 3dd4692316cba5b3ab458cbcf93d85ff1de4cfbe 192.168.242.129:7005

replicates 4734ef2831cc50f6ed2a311ef6e69cd7ac3e98ab

S: 2285d1dbbe3f5c54b3ffeffcedd534866d8953b5 192.168.242.129:7006

replicates 7bb03b2f0f2bed96b367d4a5ec1886e63f5b4a37

Can I set the above configuration? (type 'yes' to accept): yes

>>> Nodes configuration updated

>>> Assign a different config epoch to each node

>>> Sending CLUSTER MEET messages to join the cluster

Waiting for the cluster to join......

>>> Performing Cluster Check (using node 192.168.242.129:7001)

M: e6e324f6e07a8791bb4680e6d9a43a8c8521d071 192.168.242.129:7001

slots:0-5460 (5461 slots) master

M: 4734ef2831cc50f6ed2a311ef6e69cd7ac3e98ab 192.168.242.129:7002

slots:5461-10922 (5462 slots) master

M: 7bb03b2f0f2bed96b367d4a5ec1886e63f5b4a37 192.168.242.129:7003

slots:10923-16383 (5461 slots) master

M: 4679464174bb13ab556b9caf89085b9ae6e322a3 192.168.242.129:7004

slots: (0 slots) master

replicates e6e324f6e07a8791bb4680e6d9a43a8c8521d071

M: 3dd4692316cba5b3ab458cbcf93d85ff1de4cfbe 192.168.242.129:7005

slots: (0 slots) master

replicates 4734ef2831cc50f6ed2a311ef6e69cd7ac3e98ab

M: 2285d1dbbe3f5c54b3ffeffcedd534866d8953b5 192.168.242.129:7006

slots: (0 slots) master

replicates 7bb03b2f0f2bed96b367d4a5ec1886e63f5b4a37

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

1.1 连接集群

命令:./redis-cli –h 127.0.0.1 –p 7001 –c

注意:-c 连接redis集群

[root@localhost-0723 redis]# ./redis-cli -p 7006 -c

127.0.0.1:7006> set key1 123

-> Redirected to slot [9189] located at 127.0.0.1:7002

OK

127.0.0.1:7002>

1.2 查看集群的命令

  • 查看集群状态

127.0.0.1:7003> cluster info

cluster_state:ok

cluster_slots_assigned:16384

cluster_slots_ok:16384

cluster_slots_pfail:0

cluster_slots_fail:0

cluster_known_nodes:6

cluster_size:3

cluster_current_epoch:6

cluster_my_epoch:3

cluster_stats_messages_sent:926

cluster_stats_messages_received:926

  • 查看集群中的节点:

127.0.0.1:7003> cluster nodes

7a12bc730ddc939c84a156f276c446c28acf798c 127.0.0.1:7002 master - 0 1443601739754 2 connected 5461-10922

93f73d2424a796657948c660928b71edd3db881f 127.0.0.1:7003 myself,master - 0 0 3 connected 10923-16383

d8f6a0e3192c905f0aad411946f3ef9305350420 127.0.0.1:7001 master - 0 1443601741267 1 connected 0-5460

4170a68ba6b7757e914056e2857bb84c5e10950e 127.0.0.1:7006 slave 93f73d2424a796657948c660928b71edd3db881f 0 1443601739250 6 connected

f79802d3da6b58ef6f9f30c903db7b2f79664e61 127.0.0.1:7004 slave d8f6a0e3192c905f0aad411946f3ef9305350420 0 1443601742277 4 connected

0bc78702413eb88eb6d7982833a6e040c6af05be 127.0.0.1:7005 slave 7a12bc730ddc939c84a156f276c446c28acf798c 0 1443601740259 5 connected

127.0.0.1:7003>

这是离线安装

离线步骤和在线相差不大只是,需要离线安装,ruby,rubygems,openssl,zlib-devel

安装redis集群的环境,环境安装完了,集群安装是一样的

依赖包 redis-3.2.1.gem

      openssl-1.0.1s.tar.gz

   rubygems-2.4.2.tgz

ruby-2.3.0.tar.gz

安装ruby:

   tar -zxvf ruby-2.3.0.tar.gz

   ./configure --prefix=/home/hadoop/opt/ruby

  make

  make install
配置环境变量
  vim .bash_profile
  export PATH=$JAVA_HOME/bin:$PATH:/home/hadoop/software/ruby/bin
  source .bash_profile
查看版本
  ruby -v

安装rubygens

  tar -zxvf rubygems-2.4.2.tgz
  cd rubygems-2.4.2
  ruby setup.rb

安装 redis与ruby接口

gem install redis-3.2.1.gem

出现报错

ERROR: Loading command: install (LoadError)
 cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

需先安装 zlib-devel 不然下面的make不能编译

yum -y install zlib-devel(离线安装这个包也要离线安装 ,暂且在线安装 zlib-debel)
 
进入ruby源码文件夹,安装ruby自身提供的zlib包
 
cd ruby-2.3.0/ext/zlib
ruby ./extconf.rb
make
make install
安装zlib包成功
 
在次安装

gem install redis-3.2.1.gem

报错:

ERROR: While executing gem ... (Gem::Exception)

Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

 

查看解决方法 https://www.cnblogs.com/a-du/p/7767810.html 完美解决

环境安装好 集群安装和在线安装一样

redis离线集群安装的更多相关文章

  1. Redis Sentinel 集群安装 step by step

    一. 准备材料 服务器 IP address 操作系统 位数 Redis 版本   CNT06CAH05 192.168.3.47 CentOS 6.5 x64 Redis-3.2.6 sentine ...

  2. Redis真集群安装

    Redis真集群安装 命令文档:http://redisdoc.com/index.html 下载:https://code.google.com/archive/p/redis/downloads ...

  3. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  4. redis分片集群安装部署

    redis分片集群安装与部署 分片集群的优势 高可用.且方便扩展. 数据分片,多节点提供服务,提高性能,数据提供冗余备份. 分片集群部署 只需更改配置文件 部署架构:6个节点,3主3从.数据集分为3片 ...

  5. Redis的集群安装以及rehash重新迁移教程指南

    1. Redis的cluster集群 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生存的看家本领,增加集群 ...

  6. redis的集群安装

    1.创建安装目录 在master ,node1 ,node2中分别创建 mkdir /usr/local/soft/redis-cluster 2.将redis 复制到redis-cluster 目录 ...

  7. centos7 redis伪集群安装

    安装gcc: yum install gcc -y   上传redis软件包到 /home下   解压: tar xf redis-3.2.11.tar.gz   进入 redis 目录 : cd r ...

  8. 深入分析redis cluster 集群

    深入分析redis cluster 集群安装配置详解 下面小编来为各位介绍一篇深入分析redis cluster 集群安装配置详解,如果你希望做数据库集群就可以来看看此文章的哦. http://rub ...

  9. Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)

    一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...

随机推荐

  1. Linux apache的运行用户和用户组

    我们在安装apache后,有时在上传文件的时候,提示没有权限或者是不可写,我们都会去查文件夹的权限. 通过ls -l /var/www/html/website可以很直观的看出我们文件和文件夹的权限, ...

  2. 初学python之路-day07-数据类型总结

    数据类型的各种使用方法:#1.字符串类型s='abcdef's1=s[0]s2=s[-1]print(s1,s2) #h d 索引取值,正向,反向a = 10b = "20"c = ...

  3. VMware workstation 上克隆CentOS 6.x 系统后网卡无法启动的问题

    在日常学习中,我们往往没有足够的物理机资源来搭建多节点的实验环境,一个比较好的解决方案就是利用虚拟机来模拟物理机完成实验. 这样一来,多节点操作系统的部署就可以利用VMware 自带的系统“克隆”功能 ...

  4. LoadRunner学习笔记(二)

    LoadRunner Controller简介: 当虚拟用户脚本开发完成后,使用controller将这个执行脚本的用户从单用户转化为多用户,从而,模拟大量用户操作, 进而形成负债(多用户单循环,多用 ...

  5. shell 重定向 2>&1 2>/dev/null 理解笔记

    // 函数 输入输出重定向 1.函数 function hello(){ echo '1111' } ------- hello hello(){ // function 可以省略 echo '222 ...

  6. CentOS7各个版本镜像下载地址

    # CentOS7.6 下载地址 # CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7. ...

  7. webstorm 2019.1 注册教程

    注册教程:https://blog.csdn.net/hdp134793/article/details/81530472 IntelliJ IDEA 注册码获取网站

  8. 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

    论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...

  9. JSON字符串自动转换

    package com.zkn.newlearn.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObj ...

  10. spring boot mybatis打印SQL语句

    在logback-spring.xml 文件中添加 <logger name="com.ibatis" level="DEBUG" /> <l ...