redis集群搭建(六个节点,三主三从)
近期对redis集群进行了搭建,花了很多时间,遇到了一些坑,并进行总结。
工具:使用xshell,多窗口同时进行,比较方便。
一、安装
- 准备六台CentOS服务器,创建Redis安装目录:/yuanben
- 上传redis安装包到安装目录:/yuanben
- 每台服务器安装GCC, 用于编译程序:
yum -y install gcc - 解压:tar -zxvf redis-4.0.9.tar.gz
- 进入文件夹 cd redis-4.0.9
- make 编译
- 进入src目录 cd src
- make install
二、配置
-
在每个节点的Redis安装目录创建redis-cluster目录,并在redis-cluster目录下面创建etc,bin目录
cd /yuanben
mkdir redis-cluster
cd redis-cluster
mkdir etc
mkdir bin -
进入redis目录,将redis目录下的 redis.conf 复制到 /yuanben/redis-cluster/etc下
cp redis.conf /yuanben/redis-cluster/etc -
进入redis目录下的src目录,复制相关启动脚本到/yuanben/redis-cluster/bin下
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /yuanben/redis-cluster/bin -
启动测试 (指定配置文件)
/yuanben/redis-cluster/bin/redis-server /yuanben/redis-cluster/etc/redis.conf
- 修改配置文件
修改 daemonize yes #后台启动
appendonly yes #开启aof模式
aof策略配置:
appendfsync always
appendfsync everysec
appendfsync no
修改 dir /yuanben/redis-cluster/etc #数据文件存放路径
端口修改:port 6379 可以修改成其他端口(也可以不改)
bind 本机IP (一定要改,每台机器都改成自己的IP地址)
cluster-enable yes 开启集群模式
cluster-config-file nodes-6379.conf 指定集群配置文件
cluster-node-timeout 15000 超时时间
cluster-require-full-coverage no (一定要改)
建议:用vim编辑不是那么方便,将redis.config 复制到本机,用其它软件修改后,再复制到跳板机上传,并copy到其它几台服务器。
三、集群设置
- 安装ruby环境(redis 集群依赖ruby)
yum -y install ruby
yum -y install rubygems
gem install redis 这里不会成功
这里很关键,参考步骤五:ruby安装
-
分别启动6个redis实例
/yuanben/redis-cluster/bin/redis-server /yuanben/redis-cluster/etc/redis.conf -
通过 ps -ef | grep redis
-
设置redis开机启动
编辑/etc/rc.local文件,追加:
/yuanben/redis-cluster/bin/redis-server /yuanben/redis-cluster/etc/redis.conf
****注意检查/ect/rc.d/rc.local是否有可执行权限,没有的话,执行 chomd a+x /ect/rc.d/rc.local
ll命令,显示蓝色代表有权限 -
配置集群策略:
在任意一个节点上,进入redis的安装目录的src目录下 执行redis-trib.rb命令
./redis-trib.rb create --replicas 1 172.16.1.14:7379 172.16.1.15:7379 172.16.1.16:7379 172.16.1.17:7379 172.16.1.18:7379 172.16.1.19:7379
replicas后面的 1 代表一主一从
cd /yuanben/soft/redis-4.0.9/src/
./redis-trib.rb create --replicas 1 192.168.0.11:6379 192.168.0.12:6379 192.168.0.13:6379 192.168.0.14:6379 192.168.0.15:6379 192.168.0.16:6379
最后:提示输入:yes
yes
四、测试
redis-cli -c -h 172.16.1.14 -p 7379 (-c 表示集群模式)
进入路径 cd /yuanben/redis-cluster/bin/
redis-cli -c -h 192.168.0.11 -p 6379
命令:info 查看redis信息
命令:cluster nodes 查看集群信息
命令:set name zh get name
这里成功后,也可以下载安装redisManager进行操作或查看
五、ruby 安装
更新CURL:
yum update -y nss curl libcurl
上传文件至/yuanben,授权文件权利,并拷贝到其它几台服务器,最后执行rvm-installer.sh,安装 rvm
chmod a+x rvm-installer.sh
/yuanben/rvm-installer.sh
更换RVM源:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
RVM安装完成后执行如下命令安装ruby:
source /usr/local/rvm/scripts/rvm
rvm list known (可选,查看可按照的ruby版本)
rvm install 2.4.0 --disable-binary
rvm use 2.4.0 --default
rvm remove 2.0.0 (可选,可以不用删除)
ruby --version
最后:
gem install redis
六、一些命令
pwd 显示当前所在路径
把redis安装包复制到12服务器的路径/yuanben/soft/下
scp redis-4.0.9.tar.gz root@192.168.0.12:/yuanben/soft/
scp redis-4.0.9.tar.gz root@192.168.0.12:`pwd`
vim 文件后,查找功能,使用 斜杠,/192 搜索192相关内容
给文件赋予权限 chmod a+x /etc/rc.d/rc.local
七、截图
ryby安装01.png单机版redis启动测试.png gem install redis安装.png 赋予可执行文件权限01.png 赋予可执行文件权限02.png 集群节点显示.png info命令-集群节点.png 集群搭建成功测试02.png 集群搭建成功测试03.png