编程要求
根据上述相关知识,在右侧命令行中完成 Redis 集群的部署与安装。
安装完成后,使用 echo “cluster nodes”|redis-cli -p 7001 -c >/root/test.txt 将结果保存。
测试说明
脚本会在 master 、 slave1 、slave2、slave3 服务器上进行输入 cluster nodes 查看状态,若进程与预期输出一致则通过是否安装成功并使环境生效,或者 Redis 进程是否全部启动成功。
评测时长约 20 秒钟,请耐心等待。
该文章中有部分的过程省略了,比如有些需要输入yes,或者密码123123的步骤有些地方未写。
代码如下:
cd /opt
wrapdocker
ulimit -f unlimited
docker load -i ubuntu16-ssh.tar
cd /root
docker-compose up -d
scp /data/bigfiles/redis-5,0,2,tar.gz root@172.18.0.2:/opt
ssh 172.18.0.2
该命令后输入yes之后输入123123
ssh-keygen -t rsa
在第二个命令行输入以下代码:
# 进入 salve1 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.3
ssh-keygen -t rsa
在第三个命令行输入以下代码:
# 进入 salve2 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.4
ssh-keygen -t rsa
在第四个个命令行输入以下代码:
# 进入 salve3 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.5
ssh-keygen -t rsa
在 master 复制 master、slave1、slave2、slave3 的公钥。
也就是第一个命令行:
代码入下:
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
要是输入上行代码显示没有文件就再次输入一遍下面的代码
ssh 172.18.0.2 ssh-keygen -t rsa
ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
ssh slave3 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
在第二个命令行:
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys
在第三个命令行:
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys
在第四个命令行:
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys
在第一个命令行输入以下代码:
scp -r /opt/redis-5,0,2,tar.gz root@slave1:/opt/
scp -r /opt/redis-5,0,2,tar.gz root@slave2:/opt/
scp -r /opt/redis-5,0,2,tar.gz root@slave3:/opt/
在第一个到第四个命令行输入以下代码:
tar -zxvf /opt/redis-5,0,2,tar.gz -C /usr/local/
cd /usr/local
mv redis-5.0.2/ redis
对每个节点进行安装 Redis 并设置快捷操作
cd /usr/local/redis
make
make install
Redis 集群搭建
第一个命令行输入以下代码:
cd /usr/local/redis/
mkdir redis-cluster
cd redis-cluster
cp ../redis.conf ./
vim redis7001.conf
这是文件内容:
# 文件内容为:
include /usr/local/redis/redis-cluster
port 7001
# redis 的进程文件
pidfile /var/run/redis7001.pid
# rdb 文件名
dbfilename redis7001.rdb
# aof 文件名
appendfilename "appendonly7001.aof"
# 集群
cluster-enabled yes
# 生成的 node 文件
cluster-config-file nodes7001.conf
# 守护进程
daemonize yes
# aof、rbd文件存储目录
dir /usr/local/redis/data/
bind 0.0.0.0
cp /usr/local/redis/redis-cluster/redis7001.conf /usr/local/redis/redis-cluster/redis7002.conf
vim /usr/local/redis/redis-cluster/redis7002.conf
按esc之后输入英文冒号:
输入以下代码:
%s/7001/7002/g
scp -r /usr/local/redis/redis-cluster/ root@slave1:/usr/local/redis/
scp -r /usr/local/redis/redis-cluster/ root@slave2:/usr/local/redis/
scp -r /usr/local/redis/redis-cluster/ root@slave3:/usr/local/redis/
创建集群并启动
第一个命令行:
ssh 172.18.0.2
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf
第二个命令行:
ssh 172.18.0.3
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf
第三个命令行:
ssh 172.18.0.4
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf
第四个命令行:
ssh 172.18.0.5
mkdir /usr/local/redis/data/
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf
第一个命令行:
redis-cli --cluster create 172.18.0.2:7001 172.18.0.2:7002 172.18.0.3:7001 172.18.0.3:7002 172.18.0.4:7001 172.18.0.4:7002 172.18.0.5:7001 172.18.0.5:7002 --cluster-replicas 1
输入yes 并回车。
redis-cli -p 7001 -c
cluster nodes
exit
echo "cluster nodes"|redis-cli -p 7001 -c >/root/test.txt
由于第一关较长我将第二关代码放到下篇文章中了,第二关代码文章。