Redis 发布的 5.x 系列和5.x以前的版本,进行集群的构建方式有所调整而并不通用。html
Redis是C语言开发的,安装redis须要C语言的编译环境。若是没有gcc须要在线安装。
CentOS:node
yum install gcc tcl yum install gcc-c++
Ubuntu:c++
apt-get update apt-get upgrade apt-get install gcc # 或者 # 命令:>apt-get install build-essential # 在make时可能出现错误" error: jemalloc/jemalloc.h: No such file or directory",经过以下命令解决。 # 命令:>make MALLOC=libc
apt-get install ruby gem install redis
2018年十月 Redis 发布了稳定版本的 5.0 版本,推出了各类新特性,其中一点是放弃 Ruby的集群方式,改成 使用 C语言编写的 redis-cli的方式,是集群的构建方式复杂度大大下降。关于集群的更新能够在 Redis5 的版本说明中看到,以下:web
The cluster manager was ported from Ruby (redis-trib.rb) to C code inside redis-cli. check `redis-cli --cluster help ` for more info.
能够查看Redis官网查看集群搭建方式,链接以下:
https://redis.io/topics/cluster-tutorialredis
mkdir ~/temp cd ~/temp
# redis5.x wget http://download.redis.io/releases/redis-5.0.0.tar.gz tar -zxvf redis-5.0.0.tar.gz cd redis-5.0.0 make PREFIX=/home/weblogic/redis install # redis4.x wget http://download.redis.io/releases/redis-4.0.8.tar.gz tar -zxvf redis-5.0.0.tar.gz cd redis-5.0.0 make PREFIX=/home/weblogic/redis install
服务器上搭建有6个节点的 Redis集群,在路径为/home/weblogic/redis/redis-cluster下建立6个文件夹表明6个实例。ruby
# 6个配置文件不能在同一个目录 mkdir 7000 7001 7002 7003 7004 7005
分别给六个文件夹,建立日志、数据和配置文件存放路径:bash
# 示例:/home/weblogic/redis/redis-cluster/7000/conf mkdir /home/weblogic/redis/redis-cluster/文件名/conf # 示例:/home/weblogic/redis/redis-cluster/7000/conf mkdir /home/weblogic/redis/redis-cluster/文件名/log # 示例:/home/weblogic/redis/redis-cluster/7000/conf mkdir /home/weblogic/redis/redis-cluster/文件名/data
进去安装redis的目录分别将 redis.config 配置文件 cp 到这6个目录,并将6个目录下的redis.config分别重名命为“文件名.config”,例如:7000.config服务器
。app
port 7000 # 修改端口号对应目录的端口号 bind 0.0.0.0 # Ip绑定 绑定本机ip或者改成 0.0.0.0 /home/weblogic/redis/redis-cluster/7000 # 数据位置dir ./ 改成>dir /home/weblogic/redis/redis-cluster/7000/data cluster-enabled yes # 启用集群模式 cluster-config-file nodes-7000.conf # 集群模式中节点的配置文件 cluster-node-timeout 5000 # 超时时间 appendonly yes # redis数据持久化开启,开启AOF模式 daemonize yes # 后台运行 protected-mode no # 非保护模式,容许 Redis 远程访问 pidfile /home/weblogic/redis/redis-cluster/7000/data/redis_7000.pid # pidfile 须要随着文件夹的不一样调增 # 如需密码则修改以下配置 requirepass "guoyuan" # 在:# requirepass foobared 下新增密码配置 masterauth "密码" # masterauth <master-password> 下新增密码配置
# 进入redis的src目录启动redis (加载制定配置文件启动的方式) 6个都要启动,注意换配置文件位置 redis-server /home/weblogic/redis/redis-cluster/7000/7000.conf redis-server /home/weblogic/redis/redis-cluster/7000/7001.conf redis-server /home/weblogic/redis/redis-cluster/7000/7002.conf redis-server /home/weblogic/redis/redis-cluster/7000/7003.conf redis-server /home/weblogic/redis/redis-cluster/7000/7004.conf redis-server /home/weblogic/redis/redis-cluster/7000/7005.conf # ps进程看看是否都启动 ps -ef|grep redis
# 进入redis的src目录 ./redis-trib.rb create --replicas 1 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005
安装过程当中,输入yes:ide
无报错,结尾出现[OK]即建立成功!
# redis5.x用redis-cli方式 不用redis4.x用的redis-trib.rb方式 /home/weblogic/redis/src/redis-cli --cluster create 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005 --cluster-replicas 1
安装过程当中,输入yes:
至此,Reids5 集群搭建完成。
3、Redis5集群其余操做
Redis5 提供了关闭集群的工具,在以下目录:
/home/weblogic/redis/utils/create-cluster
打开此文件修改端口为咱们本身的,以下所示:
端口PROT设置为6379,NODES为6,工具会自动累加1 生成 7000-7005 六个节点 用于操做。
3.1 修改后,执行以下命令关闭集群:
/home/weblogic/redis/utils/create-cluster/create-cluster stop
3.2 从新启动集群
/home/weblogic/redis/utils/create-cluster/create-cluster start
3.3 使用脚本文件启动集群
#!/bin/sh /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7000/7000.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7001/7001.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7002/7002.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7003/7003.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7004/7004.conf /home/weblogic/redis/src/redis-server /home/weblogic/redis/redis-cluster/7005/7005.conf /home/weblogic/redis/src/redis-cli --cluster create 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.0:7003 0.0.0.0:7004 0.0.0.0:7005 --cluster-replicas 1
----------------------------------------------------
本文为博主原创文章,转载请注明出处!
----------------------------------------------------