首先,在目录/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-build
redis5.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
注意:必须带-c 。-c即-cluster客户端集群连接方式。
redis-cli -h 192.168.11.11 -c -p 7001
查看当前集群信息
cluster info
查看集群里有多少个节点
cluster nodes
保留原来的数据:
丢弃原来的数据:
rm -rf /usr/local/redis-cluster/redis1/data/*
rm -rf /usr/local/redis-cluster/redis2/data/*
3 4 5 6同上
redis集群搭建详细过程
centos7 快速搭建redis集群环境
redis集群搭建(非常详细,适合新手)