Nosql-redis集群
Posted 杨遥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nosql-redis集群相关的知识,希望对你有一定的参考价值。
Redis简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
Redis 优势
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
创建集群
1.1克隆之前的192.168.3.5的虚拟机
在192.168.3.5的虚拟机上选择管理-->克隆-->虚拟机当前状态-->创建完整的克隆。
进入刚刚克隆的机器,su- root切换到root用户,因为root权限高一些,后续不想再每一个都sudo。按照提示输入root密码后。
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens32 修改IPADDR=192.168.3.7
注释掉UUID,防止同时启动192.168.3.5出现问题,让虚拟机自动分配
修改完成后保存退出执行service network restart
YPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
#UUID=ed28af20-5c71-4118-96fd-7d16c93d110b
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.3.7
GATEWAY=192.168.3.2
DNS1=114.114.114.114
GATEWAY是我们配置ip网段,配置成一样的可以通过桥接或者nat模式上网。我们主要将ip改成了static,ONBOOT=yes,DNS1使用移动的dns114.114.114.114你也可以配置多个比如DNS2=8.8.8.8谷歌的域名解析。如果没有正确配置网关则不能通外网,如果没有DNS则不能域名解析。
以上都准备好了以后,我们进入第二步骤。
2.下载最新Redis
2.1创建文件夹,下载最新的tar.gz包
mkdir -p /usr/local/redis && cd /usr/local/redis
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
2.2解压、编译
tar -zxvf redis-5.0.4.tar.gz
cd redis-5.0.4
make && make install
此时针对make && make install可能会有以下错误
error1:make[3]: gcc:命令未找到 说明我们的虚拟机没有安装GCC编译的工具 yum install -y gcc即可。
error2:致命错误:jemalloc/jemalloc.h:没有那个文件或目录。
需要手动指定一下make MALLOC=libc即可
error3:You need tcl 8.5 or newer in order to run the Redis test
这个需要是我们的tcl版本太低了我们需要安装一个。
执行一下6个步骤即可,如果下载不下来
https://pan.baidu.com/s/1sDyzCrD3QFXf61UDI-fSbA
提取码:muik
1.wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
2. tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
3.cd /usr/local/tcl8.6.1/unix/
4. ./configure
5.make
6. make install
3.初始化集群环境
cd /usr/local/redis
mkdir 6379
mkdir 6380
mkdir 6381
mkdir 6382
mkdir 6383
mkdir 6384
cp redis-5.0.4/redis.conf 6379/
cp redis-5.0.4/redis.conf 6380/
cp redis-5.0.4/redis.conf 6381/
cp redis-5.0.4/redis.conf 6382/
cp redis-5.0.4/redis.conf 6383/
cp redis-5.0.4/redis.conf 6384/
分别修改6379-6384配置文件
port 6379 #端口
bind 127.0.0.1 注释
cluster-enabled yes #启用集群模式
cluster-config-file nodes——6379.conf
cluster-node-timeout 5000 #超时时间
appendonly yes
daemonize yes #后台运行
protected-mode no #非保护模式
pidfile /var/run/redis_6379.pid
修改完配置文件后,分别启动6个redis
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/6379/redis.conf
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/6380/redis.conf
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/6381/redis.conf
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/6382/redis.conf
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/6383/redis.conf
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/6384/redis.conf
查看redis启动状态
执行创建集群命令
redis-cli --cluster create 192.168.3.7:6379 192.168.3.7:6380 192.168.3.7:6381
192.168.3.7:6382 192.168.3.7:6383 192.168.3.7:6384 --cluster-replicas 1
执行完命令后,redis会根据前三个为master后三个依次对应为Slave1,2,3
此时集群环境初始化完成,系统提示我们是否创建,我们输入yes
redis集群创建完成。这是我们基于redis5.0.x的集群环境,5以前依赖于ruby创建,需要安装ruby,不过现在已经极大的方便了我们创建集群了。
接着我们给集群设置密码
redis-cli -c -p 6379-6084
config set requirepass 123456
我们的集群环境就正式搭建好了,可以愉快的使用springboot创建redis测试了。补充一点,创建集群的时候可能会出现错误,当我们出现错误的时候需要重置集群环境,才能重新创建集群,只需要一下三步即可。
1.redis-cli -c -p 6379
2.flushall
3.cluster reset
以上是关于Nosql-redis集群的主要内容,如果未能解决你的问题,请参考以下文章