redis离线集群安装
用一个叫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不能编译
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离线集群安装的更多相关文章
- Redis Sentinel 集群安装 step by step
一. 准备材料 服务器 IP address 操作系统 位数 Redis 版本 CNT06CAH05 192.168.3.47 CentOS 6.5 x64 Redis-3.2.6 sentine ...
- Redis真集群安装
Redis真集群安装 命令文档:http://redisdoc.com/index.html 下载:https://code.google.com/archive/p/redis/downloads ...
- redis cluster 集群 安装 配置 详解
redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...
- redis分片集群安装部署
redis分片集群安装与部署 分片集群的优势 高可用.且方便扩展. 数据分片,多节点提供服务,提高性能,数据提供冗余备份. 分片集群部署 只需更改配置文件 部署架构:6个节点,3主3从.数据集分为3片 ...
- Redis的集群安装以及rehash重新迁移教程指南
1. Redis的cluster集群 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最核心的目标有三个: 性能:这是Redis赖以生存的看家本领,增加集群 ...
- redis的集群安装
1.创建安装目录 在master ,node1 ,node2中分别创建 mkdir /usr/local/soft/redis-cluster 2.将redis 复制到redis-cluster 目录 ...
- centos7 redis伪集群安装
安装gcc: yum install gcc -y 上传redis软件包到 /home下 解压: tar xf redis-3.2.11.tar.gz 进入 redis 目录 : cd r ...
- 深入分析redis cluster 集群
深入分析redis cluster 集群安装配置详解 下面小编来为各位介绍一篇深入分析redis cluster 集群安装配置详解,如果你希望做数据库集群就可以来看看此文章的哦. http://rub ...
- Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...
随机推荐
- rethinking imageNet pre-training
paper url: https://arxiv.org/abs/1811.08883  当在数据量足够和训练iterations足够的情况下,ImageNet pretrain不会对最后的性能有帮 ...
- 019_UT、IT、ST、UAT
软件开发中的完成测试环境所包括的环节包括:UT.IT.ST.UAT UT = Unit Test 单元测试 IT = System Integration Test 集成测试 ST = System ...
- 【转载的】这张图能容易理解sql joins,收藏下!
- P2444 [POI2000]病毒
P2444 [POI2000]病毒 题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已 ...
- django orm 及常用参数
一些说明: 表myapp_person的名称是自动生成的,如果你要自定义表名,需要在model的Meta类中指定 db_table 参数,强烈建议使用小写表名,特别是使用MySQL作为后端数据库时. ...
- linux 下修改网关mac地址
以rtl8196e为例 eth0:mac 地址设为123456789012 # flash set hw_nic0_addr 123456789012 eth1:mac 地址设为1122334455 ...
- 关于javascript闭包(Closure)和return之间的暧昧关系
什么是闭包?阮一峰老师说的很清楚了,定义在一个函数内部的函数,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁. 首先要了解Javascript的变量作用域:全局变量和局部变量.全局嘛,就是共 ...
- Celery初识及简单实例
Celery是一个“自带电池”的任务队列.易于使用,可以轻易入门,它遵照最佳实践设计,使产品可以扩展,或与其他语言集成,并且它自带了在生产环境中运行这样一个系统所需的工具和支持.本文介绍基础部分: 选 ...
- get_k_data 接口文档 全新的免费行情数据接口
get_k_data 接口文档 全新的免费行情数据接口 原创: Jimmy 挖地兔 2016-11-06 前言在tushareAPI里,曾经被用户喜欢和作为典范使用的API get_hist_data ...
- c/c++再学习:排序算法了解
1.冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. ...