记录:326
场景:在CentOS 7.9操作系统上,使用redis-6.2.4版本,在三台机器上,离线安装Redis集群。
版本:
操作系统:CentOS 7.9
Redis版本:redis-6.2.4
1.主机规划
目标:使用三台主机部署三主三从Redis集群。
每台机器分布一个主节点一个从节点。
主机app161;IP:192.168.19.161;端口:27001,27002。
主机app162;IP:192.168.19.162;端口:27001,27002。
主机app163;IP:192.168.19.163;端口:27001,27002。
2.下载安装包
离线安装Redis集群,需要在公网机器下载包并拷贝到内网。
2.1下载redis-6.2.4.tar.gz
下载地址:http://download.redis.io/releases
下载命令:wget -O http://download.redis.io/releases/redis-6.2.4.tar.gz
解析:下载完成后,redis-6.2.4.tar.gz包在当前目录。
2.2下载gcc依赖包
(1)配置yum源
修改指令:vi /etc/yum.repos.d/CentOS-SCLo-scl-7-9.repo
修改内容:
[CentOS-SCLo-scl]
name=CentOS-SCLo-scl
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
修改指令:vi /etc/yum.repos.d/CentOS-SCLo-scl-rh-7-9.repo
修改内容:
[CentOS-SCLo-scl-rh]
name=CentOS-SCLo-scl-rh
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/sclo/x86_64/rh
gpgcheck=0
enabled=1
(2)下载gcc相关的rpm包
下载命令:
yum install --downloadonly --downloaddir /home/mirror/gcc-rpm devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils gcc
(3)把下载包拷贝到内网机器
(4)在内网配置一个本地镜像仓库,就可以直接使用yum指令安装了。
3.安装gcc
(1)安装gcc
安装命令:yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils gcc
(2)配置gcc
内容:echo 'source /opt/rh/devtoolset-9/enable'>>/etc/profile
生效:source /etc/profile
(3)查看gcc版本
命令:gcc --version
打印信息:gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
4.解压redis包到指定目录
命令:tar -xzvf /home/apps/software/redis-6.2.4.tar.gz -C /home/apps/module/
解析:解压后,Redis相关内容在/home/apps/module/redis-6.2.4。
5.编译redis
操作目录:cd /home/apps/module/redis-6.2.4
编译命令:make -C /home/apps/module/redis-6.2.4
解析:编译redis后,在redis-6.2.4/src目录下生成.o文件和redis-server等文件,生成./deps文件夹。
6.安装redis
安装redis到指定目录,默认是在/usr/local/。
操作目录:cd /home/apps/module/redis-6.2.4
安装命令:make install PREFIX=/home/apps/module/redis-6.2.4
解析:把redis-6.2.4指定安装在/home/apps/module/redis-6.2.4,会在此目录下生成bin目录。
7.创建集群目录
集群主目录:mkdir -p /home/apps/module/redis-cluster
节点27001目录:mkdir -p /home/apps/module/redis-cluster/node-27001
节点27002目录:mkdir -p /home/apps/module/redis-cluster/node-27002
节点27001目录:
配置目录:mkdir -p /home/apps/module/redis-cluster/node-27001/conf
数据目录:mkdir -p /home/apps/module/redis-cluster/node-27001/data
日志目录:mkdir -p /home/apps/module/redis-cluster/node-27001/log
运行目录:mkdir -p /home/apps/module/redis-cluster/node-27001/run
节点27002目录:
配置目录:mkdir -p /home/apps/module/redis-cluster/node-27002/conf
数据目录:mkdir -p /home/apps/module/redis-cluster/node-27002/data
日志目录:mkdir -p /home/apps/module/redis-cluster/node-27002/log
运行目录:mkdir -p /home/apps/module/redis-cluster/node-27002/run
8.拷贝配置文件到集群配置
从/home/apps/module/redis-6.2.4拷贝redis.conf配置文件到集群配置目录。
节点27001:cp -r /home/apps/module/redis-6.2.4/redis.conf /home/apps/module/redis-cluster/node-27001/conf/
节点27002:cp -r /home/apps/module/redis-6.2.4/redis.conf /home/apps/module/redis-cluster/node-27002/conf/
9.修改配置文件
9.1主机161的节点27001
修改命令:vi /home/apps/module/redis-cluster/node-27001/conf/redis.conf
修改内容:
port 27001
bind 192.168.19.161
daemonize yes
pidfile /home/apps/module/redis-cluster/node-27001/run/redis.pid
logfile "/home/apps/module/redis-cluster/node-27001/log/stdout.pid"
dir /home/apps/module/redis-cluster/node-27001/data
cluster-enabled yes
cluster-config-file nodes_27001.conf
cluster-node-timeout 15000
appendonly yes
masterauth <demo123456>
requirepass demo123456
#bind 127.0.0.1 -::1
9.2主机161的节点27002
修改命令:vi /home/apps/module/redis-cluster/node-27002/conf/redis.conf
修改内容:
port 27002
bind 192.168.19.161
daemonize yes
pidfile /home/apps/module/redis-cluster/node-27002/run/redis.pid
logfile "/home/apps/module/redis-cluster/node-27002/log/stdout.pid"
dir /home/apps/module/redis-cluster/node-27002/data
cluster-enabled yes
cluster-config-file nodes_27002.conf
cluster-node-timeout 15000
appendonly yes
masterauth <demo123456>
requirepass demo123456
#bind 127.0.0.1 -::1
10.拷贝redis和redis-cluster到其它主机
在主机app162和app163无需重新安装,只需将app161主机安装配置的内容拷贝到主机app162和app163,做一些差异化配置就行,比如修改绑定的IP。
(1)在app162和app163创建目录
命令:mkdir -p /home/apps/module/redis-6.2.4
命令:mkdir -p /home/apps/module/redis-cluster
(2)从app161拷贝到app162
命令:scp -r /home/apps/module/redis-cluster/* root@app162:/home/apps/module/redis-cluster/
命令:scp -r /home/apps/module/redis-6.2.4/* root@app162:/home/apps/module/redis-6.2.4/
解析:从app161拷贝到app163,也是如上方式,修改目标主机名称就行。
(3)分别修改主机app162和app163集群配置
修改命令:vi /home/apps/module/redis-cluster/node-27001/conf/redis.conf
修改命令:vi /home/apps/module/redis-cluster/node-27001/conf/redis.conf
主机app162修改:bind 192.168.19.162
主机app163修改:bind 192.168.19.163
11.启动redis
11.1启动指令
操作目录:cd /home/apps/module/redis-6.2.4/bin
启动27001节点:./redis-server /home/apps/module/redis-cluster/node-27001/conf/redis.conf
启动27002节点:./redis-server /home/apps/module/redis-cluster/node-27002/conf/redis.conf
11.2查看监听端口
命令:netstat -atulnp | grep redis
11.3查看启动进程
查看命令:ps -ef | grep redis
kill进程:kill -s 9 进程编号
12.创建集群
在主机app161操作。
操作目录:cd /home/apps/module/redis-6.2.4/bin
命令:
./redis-cli -a demo123456 --cluster create 192.168.19.161:27001 192.168.19.161:27002 192.168.19.162:27001 192.168.19.162:27002 192.168.19.163:27001 192.168.19.163:27002 --cluster-replicas 1
解析:./redis-cli,客户端命令; -a demo123456,输入密码;--cluster create,创建集群;--cluster-replicas 1,创建一个副本。
13.常用命令
操作目录:cd /home/apps/module/redis-6.2.4/bin
(1)查看集群状态
命令:./redis-cli -h 192.168.19.161 -p 27001 -a demo123456 cluster info
解析:./redis-cli,客户端命令;-h,指定主机IP;-p,指定端口;-a demo123456,指定密码;cluster info,集群信息。
(2)使用命令行登录
使用命令行登录:./redis-cli -h 192.168.19.161 -p 27001 -a demo123456 -c
redis-cli -h 192.168.109.135 -p 27001 -a demo123456 -c
写入数据:set CITY_NAME Hangzhou
查看数据:get CITY_NAME
以上,感谢。
2022年11月23日