redis3.2.13集群部署
一、准备环境
本次redis3.2.13版本集群搭建采用一台虚机,以192.168.190.151虚机为例
虚机配置:
机器IP | CPU&内存 | 系统盘 | 备注 |
192.168.190.151 hadoop1 | 2C4G | 50GB | 建议最低配置 |
二、详细步骤(zookeeper集群)
目前以192.168.190.151虚机为例:
1、检查虚机防火墙是否关闭
systemctl status firewalld |
如果没有关闭:
①、临时关闭:systemctl stop firewalld ②、永久关闭:systemctl disable firewalld |
2、创建必要的目录
mkdir -p /data/redis/{7001,7002,7003,7004,7005,7006}/{data,logs,config} |
3、上传redis安装包并解压
安装包下载地址:
http://download.redis.io/releases/redis-3.2.13.tar.gz
进入7001目录:
cd /data/redis/7001 |
解压安装包
tar -xvf redis-3.2.13.tar.gz |
4、准备必要的环境
方式①:
yum -y install gcc gcc-c++ |
方式②:
https://download.csdn.net/download/xiaolilian007/12564824
解压gcc的tar包:
tar -xvf gcc.tar.gz cd gcc rpm -uvh *.rpm --nodes --force |
检查是否安装:
gcc --version
5、进入redis的src目录中
cd /data/redis/7001/redis-3.2.13/src
执行
make && make install |
如果执行过程中遇到:zmalloc.h:50:10: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录的报错,请下载jemalloc以解决:
①、使用yum指令安装:
yum -y install jemalloc |
②、使用tar包安装:
wget https://github.com/jemalloc/jemalloc/releases/download/5.3.0/jemalloc-5.3.0.tar.bz2 tar -xvf jemalloc-5.3.0.tar.bz2 |
进入jemalloc目录下,执行:
./configure |
再执行:
make && make install |
具体可以参考以下附件:
[Makefile (2)]
修改完重新执行make && make install即可。
6、创建配置文件:
for port in 700{1..6}; do |
7、启动redis节点
for port in 700{1..6}; do |
8、安装Ruby
yum -y install ruby |
9、创建集群
①、如果此时还在/data/redis/7001/redis3.2.13/src目录下,执行:
./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 |
##在弹出内容中输入yes即可
②、如果此时在别的目录下面,执行
/data/redis/redis-3.2.13/src/redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 |
10、系统操作管理
①、创建redis用户:
useradd redis -g redis -s /sbin/nologin -M redis |
②、权限赋值:
chown -R redis:redis /data/redis |
③、创建systemctl操作方式:
此处以7001端口为例:
vi /etc/systemd/system/redis-7001.service
[Unit] ##redis-7002.service上修改为: ExecStart=/usr/local/bin/redis-server /data/redis/7002/config/redis.conf --supervised systemd ##redis-7003.service上修改为: ExecStart=/usr/local/bin/redis-server /data/redis/7003/config/redis.conf --supervised systemd ##redis-7004.service上修改为: ExecStart=/usr/local/bin/redis-server /data/redis/7004/config/redis.conf --supervised systemd ##redis-7005.service上修改为: ExecStart=/usr/local/bin/redis-server /data/redis/7005/config/redis.conf --supervised systemd ##redis-7006.service上修改为: ExecStart=/usr/local/bin/redis-server /data/redis/7006/config/redis.conf --supervised systemd |
PS:需要建立6个systemctl服务,命名分别为redis-7001.service、redis-7002.service、redis-7003.service、redis-7004.service、redis-7005.service、redis-7006.service
11、redis操作指令:
systemctl start redis.service ##启动redis systemctl stop redis.service ##启停redis systemctl status redis.service ##查询redis状态 |