首先,在目录/usr/local/下创建个文件夹:software用来存放软件。
cd /usr/locacl/ mkdir software关闭防火墙,安装c++编译环境:
yum install -y gcc systemctl stop firewalld.service systemctl disable firewalld.service进入到/usr/local/software目录下,下载Redis,并进行解压
cd /usr/local/software wget http://download.redis.io/releases/redis-5.0.5.tar.gz tar zxvf redis-5.0.5.tar.gz mv redis-5.0.5 redis cd redis解压后目录如下:
然后进入到redis安装目录,进行安装:
make && make install若安装时出现错误:
Allocator --------- Selecting a non-default memory allocator when building Redis is done by setting the `MALLOC` environment variable. Redis is compiled and linked against libc malloc by default, with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc. To force compiling against libc malloc, use: % make MALLOC=libc To compile against jemalloc on Mac OS X systems, use: % make MALLOC=jemalloc即:
error:jemalloc/jemalloc.h:No such file or directory则使用如下命令安装:
make MALLOC=libc make install具体参考原因如下链接: Redis安装报错error:jemalloc/jemalloc.h:No such file or directory解决方法
安装成功后,进入到/usr/local/software/redis/src 目录下,将 redis-trib.rb 复制到 /usr/local/bin 目录下:
cd /usr/local/software/redis/src cp redis-trib.rb /usr/local/bin创建运行目录复制配置文件 创建6个节点redis。 在目录/usr/local 下新建目录文件夹:
cd /usr/local mkdir redis-cluster进入到redis-cluster目录下,新建6个节点目录:
cd redis-cluster mkdir redis1 redis2 redis3 redis4 redis5 redis6分别进入到每个节点文件目录下,创建data和logs文件目录:
cd redis1 mkdir data logs # redis2 3 4 5 6同1复制redis.cof文件到redis1 2 3 4 5 6文件目录下。
cp redis.conf /usr/local/redis-cluster/redis1 cp redis.conf /usr/local/redis-cluster/redis2 cp redis.conf /usr/local/redis-cluster/redis3 cp redis.conf /usr/local/redis-cluster/redis4 cp redis.conf /usr/local/redis-cluster/redis5 cp redis.conf /usr/local/redis-cluster/redis6进入到redis的src目录,
cp redis.cli redis.server /usr/local/redis-cluster/redis1 cp redis.cli redis.server /usr/local/redis-cluster/redis2 cp redis.cli redis.server /usr/local/redis-cluster/redis3 cp redis.cli redis.server /usr/local/redis-cluster/redis4 cp redis.cli redis.server /usr/local/redis-cluster/redis5 cp redis.cli redis.server /usr/local/redis-cluster/redis6分别进入到每个节点的redis.conf文件下,修改配置信息:
cd /usr/local/redis-cluster/redis1 vi redis.conf找到如下信息进行修改:
port 7001 //端口7001,7002,7003,7004,7005,7006 bind 192.168.11.11 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群 daemonize yes //redis后台运行 pidfile /usr/local/redis-cluster/redis1/redis_7001.pid //pidfile文件对应7001,7002,7003 cluster-enabled yes //开启集群 把注释#去掉 cluster-config-file nodes_7001.conf //集群的配置 配置文件首次启动自动生成 7001,7002,7003 cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置 appendonly yes //开启aof logfile "/usr/local/redis-cluster/redise1/logs/redis_7001.log" //配置日志输入路劲 7000 7001 7002 dir "/usr/local/redis-cluster/redis1/data" //配置数据文件存放路劲redis2 3 4 5 6下的redis.conf文件同1。
分别运行redis:
cd /usr/local/redis-cluster/redis1 ./redis.server redis.conf cd /usr/local/redis-cluster/redis2 ./redis.server redis.conf cd /usr/local/redis-cluster/redis3 ./redis.server redis.conf cd /usr/local/redis-cluster/redis4 ./redis.server redis.conf cd /usr/local/redis-cluster/redis5 ./redis.server redis.conf cd /usr/local/redis-cluster/redis6 ./redis.server redis.conf检查redis运行是否成功:
ps -ef|grep redis若需要关闭redis,可通过kill方式直接干掉
kill -9 PID关闭redis进程,使用kill -9 ${进程号},如果需要关闭多个进程,进程号之间空格隔开即可:
kill -9 10252 10257 10262 10267 10272 10294也可执行以下命令来关闭redis进程:
pkill -9 redis或者
redis.cli shutdown方式 redis-cli -c -h 192.168.11.11 -p 7001 shutdown因为redis集群的创建需要Ruby环境,所以需要先安装Ruby:
yum -y install ruby ruby-devel rubygems rpm-buildredis5.0版本以上,需要的ruby环境版本应该在2.3.0版本以上,若出现提示说Ruby版本太低,百度找方法升级下Ruby版本等级即可。
升级ruby
即出现错误:
ERROR: Error installing redis: redis requires Ruby version >= 2.3.0.需要升级Ruby,升级成功后,通过命令查看ruby版本:
rvm -v若版本>2.3.0以上,则继续以下步骤:
gem install redis然后安装rubygems:
yum install -y rubygems注意:高版本的redis集群启动命令和之前不一样了,老版本是:
redis-trib.rb create --replicas 1 192.168.11.11:7000 192.168.11.11:7001 192.168.11.11:7002 192.168.11.11:7000 192.168.11.11:7001 192.168.11.11:7002高版本为:
redis-cli --cluster create 192.168.11.11:7001 192.168.11.11:7002 192.168.11.11:7003 192.168.11.11:7004 192.168.11.11:7005 192.168.11.11:7006 --cluster-replicas 1 连接前,需要先关闭防火墙。连接失败。需要将logs和data文件先清空,进入redis flushall 即可。在重启redis。注意:必须带-c 。-c即-cluster客户端集群连接方式。
redis-cli -h 192.168.11.11 -c -p 7001查看当前集群信息
cluster info查看集群里有多少个节点
cluster nodes保留原来的数据:
逐个关闭redis实例,再逐个的启动即可。丢弃原来的数据:
关闭实例,清空实例中数据存放目录的所有内容,然后逐个启动实例,在任意一个实例上执行集群的创建命令即可,本质上就是创建一个新的集群清空数据存储目录内容: rm -rf /usr/local/redis-cluster/redis1/data/* rm -rf /usr/local/redis-cluster/redis2/data/* 3 4 5 6同上redis集群搭建详细过程 centos7 快速搭建redis集群环境 redis集群搭建(非常详细,适合新手)