使用Linux快速使用redis集群
安装环境:
- 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集群相关推荐
- Linux中的redis集群搭建
看在多的书,若果不实践一次,我觉得效果并不好,只有自己完完整整的做一次! 所以今天打算搭建一个redis集群来练练手~! 1.Linux CentOS , redis-3.2.4 版本 2.配置环境 ...
- Linux中搭建Redis集群及redis集群配置常见问题总结
Redis集群搭建请仔细阅读文档,100%成功率. 环境说明:本案例采用centos7+Redis6.2.5版本 1.Redis概述-什么是redis? Redis 是完全开源免费的,遵守BSD协议, ...
- 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 ...
- Linux环境下Redis集群实践
环境:centos 7 一.编译及安装redis源码 源码地址:redis版本发布列表 cd redis-3.2.8 sudo make && make install 二.创建节点 ...
- redis集群搭建及管理命令
文章目录 1.集群的搭建 1.1 快速搭建集群 1) 首先,我们可以通过执行start命令来创建出6个节点,这6个节点的IP地址都为本机,而端口号则为30001-30006: 2)接着,我们需要使用c ...
- LINUX安装REDIS集群
linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的rub ...
- linux redis-trib.rb,linux 关于redis-trib.rb构建redis集群
之前搭建集群漏下的坑, 今次再搭一次. 环境 ruby环境 yum install ruby rubygems -y redis的gem环境 gem install redis-3.2.2.gem 部 ...
- 快速搭建redis单机版和redis集群版
单机版 第一步:需要安装redis所需的C语言环境,若虚拟机联网,则执行 yum install gcc-c++ 第二步:redis的源码包上传到linux系统 第三步:解压缩redis tar ...
- linux部署redis集群遇到的问题
版本信息: redis:5.0.8 linux服务器:CentOS 7 不同版本问题处理方式可能有所不同 1.在java程序中,连接不上redisCluster. 报错信息: no reachable ...
- Redis集群环境之linux搭建多机版---已完结,跟着一步一步来你就可以集群成功
上一篇踩着各种坑写了Redis集群环境之linux搭建单机版,这一篇准备就多机版集群进行搭建,主要目的一来是在上一篇的基础上进行精华提粹总结,二来是把单机版与多机版的区别进行记录. 首先软硬件环境: ...
最新文章
- Matlab200以内所有质数,Matlab 中求质数表
- 【转】Usage of sendBroadcast()
- linux blkid命令 查看块设备文件系统类型、LABEL、UUID信息 简介
- Leetcode中Path的题目总结
- 抛硬币直到连续若干次正面
- 通过简易的前台代码实现无限二级域名转向(来自无忧 biyuan老矣)
- 为什么在Python中使用string.join(list)而不是list.join(string)?
- vi - a linux command
- TIDB2.1版本升级步骤
- TensorFlow官方文档术语表
- 关于sublime出现PyV8binary错误
- linux下挂载移动硬盘(ntfs格式),Linux下挂载移动硬盘(NTFS格式)
- 第12篇:给任意java程序挂Socks5代理方法
- 印度行——印度软件公司的印象
- 小米手机业务取得增长,似乎从华为手机在海外受挫中获益
- 二层台机器人_海洋钻修机二层台机器人设计及选型研究
- 分析Threadlocal内部实现原理,并解决Threadlocal的ThreadLocalMap的hash冲突与内存泄露
- cursor常用的属性值
- antd-vue的date-picker限制不能选择今天之前的时间
- 1134: 小青蛙,跳跳跳
热门文章
- java64字节指令包,JVM 字节码指令解析
- java persistence,java-jpa(Java Persistence API)初识,
- websocket 连接本地端口_Spring Boot 结合 WebSocket 实现在线聊天
- Google Cloud Fundamentals简介
- 人工智能中的深度结构学习 Learning deep architectures for AI - Yoshua Bengio
- 算法:动态规划解决爬楼梯Climbing Stairs python3
- Aibaba Dubbo 的前世今生以及黑历史 主程序员梁飞 阿里P9(2016年查看)
- 第三届Apache Flink 极客挑战赛暨AAIG CUP电商推荐“抱大腿”攻击识别
- Morris Traversal
- python如何设置双索引_python-在新的多索引下串联熊猫列