CentOS7安装配置redis

一.安装必要包

yum install gcc

二.linux下安装

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

安装好之后,启动文件

1#启动redis 2src/redis-server & 3 4#关闭redis 5src/redis-cli shutdown

测试redis

1$ src/redis-cli 2127.0.0.1:6379> set foo bar 3OK 4127.0.0.1:6379> get foo 5"bar" $

测试成功

3.redis cluster集群搭建

建立本机测试环境

建立运行目录

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

建立独立配置文件

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

文件内容

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

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

1#复制目录 2cp -R 7000/ 7001/ 3cp -R 7000/ 7002/ 4cp -R 7000/ 7003/ cp -R 7000/ 7004/ cp -R 7000/ 7005/

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

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

1#!/bin/sh 2/root/redis-server/7000/redis-server /root/redis-server/7000/redis.conf & 3/root/redis-server/7001/redis-server /root/redis-server/7001/redis.conf & 4/root/redis-server/7002/redis-server /root/redis-server/7002/redis.conf & 5/root/redis-server/7003/redis-server /root/redis-server/7003/redis.conf & 6/root/redis-server/7004/redis-server /root/redis-server/7004/redis.conf & 7/root/redis-server/7005/redis-server /root/redis-server/7005/redis.conf &

配置集群

安装ruby

yum install ruby-devel.x86_64

安装redis gem 

1# gem install redis 2Fetching: 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,然后重新执行配置命令即可

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )