CentOS7安装配置redis-3.0.0

一.安装必要包

yum install gcc

二.linux下安装

#下载
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
#如果不加参数,linux下会报错
make MALLOC=libc

 安装好之后,启动文件

#启动redis
src/redis-server &

#关闭redis
src/redis-cli shutdown

测试redis

$ src/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
$ 

测试成功

3.redis cluster集群搭建

建立本机测试环境

建立运行目录

#建立redis运行目录
mkdir -p redis-server/7000/
#复制默认的配置文档
cp redis-3.0.0/redis.conf redis-server/redis.default.conf
#把编译好的server复制到运行目录
cp redis-3.0.0/src/redis-server redis-server/7000/

建立独立配置文件

#在7000目录下建立redis的配置文档
vim redis-server/7000/redis.conf

文件内容

#redis-server/7000/redis.conf
include /root/redis-server/redis.default.conf
pidfile /var/run/redis-7000.pid
port 7000
cluster-enabled yes
cluster-config-file redis-node-7000.conf
cluster-node-timeout 5000
appendonly yes

复制运行目录(模拟集群环境)

#复制目录
cp -R 7000/ 7001/
cp -R 7000/ 7002/
cp -R 7000/ 7003/
cp -R 7000/ 7004/
cp -R 7000/ 7005/

修改相应配置文件的端口和文件名

建立启动脚本 redis-server/redis-start.sh

#!/bin/sh
/root/redis-server/7000/redis-server /root/redis-server/7000/redis.conf &
/root/redis-server/7001/redis-server /root/redis-server/7001/redis.conf &
/root/redis-server/7002/redis-server /root/redis-server/7002/redis.conf &
/root/redis-server/7003/redis-server /root/redis-server/7003/redis.conf &
/root/redis-server/7004/redis-server /root/redis-server/7004/redis.conf &
/root/redis-server/7005/redis-server /root/redis-server/7005/redis.conf &

配置集群

安装ruby

yum install ruby-devel.x86_64

安装redis gem 

# gem install redis
Fetching: redis-3.2.1.gem (100%)
Successfully installed redis-3.2.1
Parsing documentation for redis-3.2.1
Installing ri documentation for redis-3.2.1
1 gem installed

使用脚本建立集群机制  

在create的时候,加上参数--replicas 1 表示为每个master分配一个salve,如例子,则是3个master 3个salve

# ./redis-trib.rb create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
>>> Creating cluster
Connecting to node 127.0.0.1:7000: OK
Connecting to node 127.0.0.1:7001: OK
Connecting to node 127.0.0.1:7002: OK
Connecting to node 127.0.0.1:7003: OK
Connecting to node 127.0.0.1:7004: OK
Connecting to node 127.0.0.1:7005: OK
>>> Performing hash slots allocation on 6 nodes...
Using 6 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
127.0.0.1:7004
127.0.0.1:7005
M: f3dd250e4bc145c8b9f864e82f65e00d1ba627be 127.0.0.1:7000
   slots:0-2730 (2731 slots) master
M: 1ba602ade59e0770a15128b193f2ac29c251ab5e 127.0.0.1:7001
   slots:2731-5460 (2730 slots) master
M: 4f840a70520563c8ef0d7d1cc9d5eaff6a1547a2 127.0.0.1:7002
   slots:5461-8191 (2731 slots) master
M: 702adc7ae9caf1f6702987604548c6fc1d22e813 127.0.0.1:7003
   slots:8192-10922 (2731 slots) master
M: 4f87a11d2ea6ebe9caf02c9dbd827a3dba8a53cf 127.0.0.1:7004
   slots:10923-13652 (2730 slots) master
M: 216bbb7da50bd130da16a327c76dc6d285f731b3 127.0.0.1:7005
   slots:13653-16383 (2731 slots) master
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 127.0.0.1:7000)
M: f3dd250e4bc145c8b9f864e82f65e00d1ba627be 127.0.0.1:7000
   slots:0-2730 (2731 slots) master
M: 1ba602ade59e0770a15128b193f2ac29c251ab5e 127.0.0.1:7001
   slots:2731-5460 (2730 slots) master
M: 4f840a70520563c8ef0d7d1cc9d5eaff6a1547a2 127.0.0.1:7002
   slots:5461-8191 (2731 slots) master
M: 702adc7ae9caf1f6702987604548c6fc1d22e813 127.0.0.1:7003
   slots:8192-10922 (2731 slots) master
M: 4f87a11d2ea6ebe9caf02c9dbd827a3dba8a53cf 127.0.0.1:7004
   slots:10923-13652 (2730 slots) master
M: 216bbb7da50bd130da16a327c76dc6d285f731b3 127.0.0.1:7005
   slots:13653-16383 (2731 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

 如果需要全部重新自动配置,则删除所有的配置好的cluster-config-file,重新启动所有的redis-server,然后重新执行配置命令即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木头编程 - moTzxx

CentOS6.5 Nginx无法解析php文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

2413
来自专栏Java学习123

IBM WebSphere MQ 系列(二)安装MQ

4268
来自专栏杂烩

javaee项目性能检测之JavaMelody

    它并不是一个模拟请求类似JMeter的压力测试工具,而是一个衡量并且计算在应用上的操作信息的工具,也就是说,它只负责对行为进行监控,而不负责触发操作。J...

2422
来自专栏企鹅号快讯

Spring、Spring MVC、MyBatis 整合文件配置详解

使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了。先总结一下SSM整合的文件配置。其实具体的用法最好还是看官方文档。 Spring:http://sp...

1866
来自专栏蓝天

StarUML 5.0问题解决:Failed to open the model file. Invalid file format.

使用StarUML 5.0打开一个已有的文件时,如果遇到报“Failed to open the model file. Invalid file format...

761
来自专栏搜云库

Spring Cloud(十)高可用的分布式配置中心 Spring Cloud Config 中使用 Refresh

上一篇文章讲了SpringCloudConfig 集成Git仓库,配和 Eureka 注册中心一起使用,但是我们会发现,修改了Git仓库的配置后,需要重启服务,...

21410
来自专栏Java开发

SpringBoot集成MyBatisPlus

部署:application.properties更改指定部署模式还是开发模式 dev / prod 分别对应application-dev.properti...

3072
来自专栏C/C++基础

Linux命令(24)——mv命令

mv命令用来为文件或目录改名,或将文件或目录移入其它位置。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

1481
来自专栏上善若水

013android初级篇之Android Studio 引用源码模块,jar及so文件

013android初级篇之Android Studio 引用源码模块,jar及so文件

1272
来自专栏SHERlocked93的前端小站

使用Jenkins持续集成前端项目并自动化部署到Nginx服务器

上午折腾了一下Jenkins持续集成,由于公司使用自己搭建的svn服务器来进行代码管理,因此这里Jenkins是针对svn服务器来进行的配置,后面稍微介绍了下针...

6512

扫码关注云+社区