安装环境:

  • Linxu(Cent-OS64位)。只有Base-Serve的Linux占用的资源更少,更快速,适合在上面搭建服务器
  • secureCRT。一款非常方便的远程控制软件,安装在Windos上,在上面操作要比直接在虚拟机里方便,Alt+P可以把Winods的文件上传文件到Linux中。
  • gcc。redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要安装gcc。命令为:yum install gcc-c++
  • redis-3.0.0.tar.gz。在Linxus上使用redis的软件, 是一种更轻量级的数据库软件,多用于缓存的读写。
  • ruby。用ruby脚本搭建集群,要ruby的运行环境,直接yum install ruby就行
  • rubygems。同上,直接yum install rubygems就行
  • redis-3.0.0.gem。ruby脚本运行使用的包,需要redis-3.0.0.gem的包,在Linxu中 gem install redis-3.0.0 gem即可

Redis安装

1.将Windows下下载的压缩文件上传到Linux下。通过secureCRT进行上传,步骤如下:

alt + p

put F:/redis-3.0.0.tar.gz

2.解压文件

tar –zxvf redis-3.0.0.tar.gz

3.编译redis (编译,将.c文件编译为.o文件)

进入解压文件夹,cd redis-3.0.0

执行make

1)如果没有安装gcc,编译将出现错误提示。(如果安装失败,必须删除文件夹,重写解压)

2)安装成功

4.安装

make PREFIX=/usr/local/redis install

安装完后,在/usr/local/redis/bin下有几个可执行文件

redis-benchmark     ----性能测试工具

redis-check-aof     ----AOF文件修复工具

redis-check-dump    ----RDB文件检查工具(快照持久化文件)

redis-cli           ----命令行客户端

redis-server        ----redis服务器启动命令

5.: copy文件

redis启动需要一个配置文件redis.conf,可以修改端口号等信息。

cp redis.conf /usr/local/redis

6.复制节点

redis相当于一个redis点,本次搭建使用了6个redis节点,所以在/user/local/下复制出 redis01,redis02,redis03,redis04,redis05,redis06,他们的内部结构是一样的,需要配置redis.conf中的port值和取消cluster-enabled(是否可以搭建cluster)的注释

集群搭建环境

1.直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是启动完成后,不能再进行其他操作,如果要操作必须使用ctrl+c,同时redis-server程序结束,不推荐使用此方法。

/usr/local/redis/bin/redis-server

使用CTRL+ C 停止前端模式

2.后端模式:

修改redis.conf配置文件, daemonize yes 以后端模式启动。

vim /usr/local/redis/redis.conf

启动时,指定配置文件

cd /usr/local/redis/

./bin/redis-server ./redis.conf

Redis默认端口6379,通过当前服务进行查看

ps -ef | grep -i redis

停止Redis的方式是向Redis发送SHUTDOWN命令,方法为:(关闭默认端口)

cd /usr/local/redis

./bin/redis-cli shutdown

集群搭建环境

1、使用ruby脚本搭建集群。需要ruby的运行环境。

安装ruby

yum install ruby

yum install rubygems

2、安装ruby脚本运行使用的包。

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

Successfully installed redis-3.0.0

1 gem installed

Installing ri documentation for redis-3.0.0...

Installing RDoc documentation for redis-3.0.0...

[root@localhost ~]#

[root@localhost ~]# cd redis-3.0.0/src

[root@localhost src]# ll *.rb

-rwxrwxr-x. 1 root root 48141 Apr  1  2015 redis-trib.rb

搭建步骤

假设6台redis服务器,搭建伪分布式

需要6个redis实例。

需要运行在不同的端口7001-7006

第一步:创建6个redis实例,每个实例运行在不同的端口。需要修改redis.conf配置文件。配置文件中还需要把cluster-enabled yes前的注释去掉。

第二步:启动每个redis实例。

第三步:使用ruby脚本搭建集群。

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

创建关闭集群的脚本:

[root@localhost redis-cluster]# vim shutdow-all.sh

redis01/redis-cli -p 7001 shutdown

redis01/redis-cli -p 7002 shutdown

redis01/redis-cli -p 7003 shutdown

redis01/redis-cli -p 7004 shutdown

redis01/redis-cli -p 7005 shutdown

redis01/redis-cli -p 7006 shutdown

[root@localhost redis-cluster]# chmod u+x shutdow-all.sh

[root@localhost redis-cluster]# ./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

>>> Creating cluster

Connecting to node 192.168.25.153:7001: OK

Connecting to node 192.168.25.153:7002: OK

Connecting to node 192.168.25.153:7003: OK

Connecting to node 192.168.25.153:7004: OK

Connecting to node 192.168.25.153:7005: OK

Connecting to node 192.168.25.153:7006: OK

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

Using 3 masters:

192.168.25.153:7001

192.168.25.153:7002

192.168.25.153:7003

Adding replica 192.168.25.153:7004 to 192.168.25.153:7001

Adding replica 192.168.25.153:7005 to 192.168.25.153:7002

Adding replica 192.168.25.153:7006 to 192.168.25.153:7003

M: 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 192.168.25.153:7001

slots:0-5460 (5461 slots) master

M: 8cd93a9a943b4ef851af6a03edd699a6061ace01 192.168.25.153:7002

slots:5461-10922 (5462 slots) master

M: 2935007902d83f20b1253d7f43dae32aab9744e6 192.168.25.153:7003

slots:10923-16383 (5461 slots) master

S: 74f9d9706f848471583929fc8bbde3c8e99e211b 192.168.25.153:7004

replicates 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3

S: 42cc9e25ebb19dda92591364c1df4b3a518b795b 192.168.25.153:7005

replicates 8cd93a9a943b4ef851af6a03edd699a6061ace01

S: 8b1b11d509d29659c2831e7a9f6469c060dfcd39 192.168.25.153:7006

replicates 2935007902d83f20b1253d7f43dae32aab9744e6

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.25.153:7001)

M: 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3 192.168.25.153:7001

slots:0-5460 (5461 slots) master

M: 8cd93a9a943b4ef851af6a03edd699a6061ace01 192.168.25.153:7002

slots:5461-10922 (5462 slots) master

M: 2935007902d83f20b1253d7f43dae32aab9744e6 192.168.25.153:7003

slots:10923-16383 (5461 slots) master

M: 74f9d9706f848471583929fc8bbde3c8e99e211b 192.168.25.153:7004

slots: (0 slots) master

replicates 2e48ae301e9c32b04a7d4d92e15e98e78de8c1f3

M: 42cc9e25ebb19dda92591364c1df4b3a518b795b 192.168.25.153:7005

slots: (0 slots) master

replicates 8cd93a9a943b4ef851af6a03edd699a6061ace01

M: 8b1b11d509d29659c2831e7a9f6469c060dfcd39 192.168.25.153:7006

slots: (0 slots) master

replicates 2935007902d83f20b1253d7f43dae32aab9744e6

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

[root@localhost redis-cluster]#

java上连接集群

第一步:使用JedisCluster对象。需要一个Set<HostAndPort>参数。Redis节点的列表。

第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。

第三步:打印结果

第四步:系统关闭前,关闭JedisCluster对象。

public void testJedisCluster() throws Exception {// 第一步:使用JedisCluster对象。需要一个Set<HostAndPort>参数。Redis节点的列表。Set<HostAndPort> nodes = new HashSet<>();nodes.add(new HostAndPort("192.168.25.153", 7001));nodes.add(new HostAndPort("192.168.25.153", 7002));nodes.add(new HostAndPort("192.168.25.153", 7003));nodes.add(new HostAndPort("192.168.25.153", 7004));nodes.add(new HostAndPort("192.168.25.153", 7005));nodes.add(new HostAndPort("192.168.25.153", 7006));JedisCluster jedisCluster = new JedisCluster(nodes);// 第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。jedisCluster.set("hello", "100");String result = jedisCluster.get("hello");// 第三步:打印结果System.out.println(result);// 第四步:系统关闭前,关闭JedisCluster对象。jedisCluster.close();}

使用Linux快速使用redis集群相关推荐

  1. Linux中的redis集群搭建

    看在多的书,若果不实践一次,我觉得效果并不好,只有自己完完整整的做一次! 所以今天打算搭建一个redis集群来练练手~! 1.Linux CentOS  , redis-3.2.4 版本 2.配置环境 ...

  2. Linux中搭建Redis集群及redis集群配置常见问题总结

    Redis集群搭建请仔细阅读文档,100%成功率. 环境说明:本案例采用centos7+Redis6.2.5版本 1.Redis概述-什么是redis? Redis 是完全开源免费的,遵守BSD协议, ...

  3. linux搭建完redis集群后连接不上,大师网-CentOS7 64位配置Redis集群错误处理(1)

    0.环境介绍 Linux采用CentOS7 64位 主节点: 192.168.25.137:7000 192.168.25.138:7000 192.168.25.139:7000 从节点 192.1 ...

  4. Linux环境下Redis集群实践

    环境:centos 7 一.编译及安装redis源码 源码地址:redis版本发布列表 cd redis-3.2.8 sudo make && make install 二.创建节点 ...

  5. redis集群搭建及管理命令

    文章目录 1.集群的搭建 1.1 快速搭建集群 1) 首先,我们可以通过执行start命令来创建出6个节点,这6个节点的IP地址都为本机,而端口号则为30001-30006: 2)接着,我们需要使用c ...

  6. LINUX安装REDIS集群

    linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的rub ...

  7. linux redis-trib.rb,linux 关于redis-trib.rb构建redis集群

    之前搭建集群漏下的坑, 今次再搭一次. 环境 ruby环境 yum install ruby rubygems -y redis的gem环境 gem install redis-3.2.2.gem 部 ...

  8. 快速搭建redis单机版和redis集群版

    单机版 第一步:需要安装redis所需的C语言环境,若虚拟机联网,则执行 yum install gcc-c++ 第二步:redis的源码包上传到linux系统 第三步:解压缩redis   tar ...

  9. linux部署redis集群遇到的问题

    版本信息: redis:5.0.8 linux服务器:CentOS 7 不同版本问题处理方式可能有所不同 1.在java程序中,连接不上redisCluster. 报错信息: no reachable ...

  10. Redis集群环境之linux搭建多机版---已完结,跟着一步一步来你就可以集群成功

    上一篇踩着各种坑写了Redis集群环境之linux搭建单机版,这一篇准备就多机版集群进行搭建,主要目的一来是在上一篇的基础上进行精华提粹总结,二来是把单机版与多机版的区别进行记录. 首先软硬件环境: ...

最新文章

  1. Matlab200以内所有质数,Matlab 中求质数表
  2. 【转】Usage of sendBroadcast()
  3. linux blkid命令 查看块设备文件系统类型、LABEL、UUID信息 简介
  4. Leetcode中Path的题目总结
  5. 抛硬币直到连续若干次正面
  6. 通过简易的前台代码实现无限二级域名转向(来自无忧 biyuan老矣)
  7. 为什么在Python中使用string.join(list)而不是list.join(string)?
  8. vi - a linux command
  9. TIDB2.1版本升级步骤
  10. TensorFlow官方文档术语表
  11. 关于sublime出现PyV8binary错误
  12. linux下挂载移动硬盘(ntfs格式),Linux下挂载移动硬盘(NTFS格式)
  13. 第12篇:给任意java程序挂Socks5代理方法
  14. 印度行——印度软件公司的印象
  15. 小米手机业务取得增长,似乎从华为手机在海外受挫中获益
  16. 二层台机器人_海洋钻修机二层台机器人设计及选型研究
  17. 分析Threadlocal内部实现原理,并解决Threadlocal的ThreadLocalMap的hash冲突与内存泄露
  18. cursor常用的属性值
  19. antd-vue的date-picker限制不能选择今天之前的时间
  20. 1134: 小青蛙,跳跳跳

热门文章

  1. java64字节指令包,JVM 字节码指令解析
  2. java persistence,java-jpa(Java Persistence API)初识,
  3. websocket 连接本地端口_Spring Boot 结合 WebSocket 实现在线聊天
  4. Google Cloud Fundamentals简介
  5. 人工智能中的深度结构学习 Learning deep architectures for AI - Yoshua Bengio
  6. 算法:动态规划解决爬楼梯Climbing Stairs python3
  7. Aibaba Dubbo 的前世今生以及黑历史 主程序员梁飞 阿里P9(2016年查看)
  8. 第三届Apache Flink 极客挑战赛暨AAIG CUP电商推荐“抱大腿”攻击识别
  9. Morris Traversal
  10. python如何设置双索引_python-在新的多索引下串联熊猫列