Redis 环境搭建

文章目录

  • [第1关:Redis 环境搭建](#第1关:Redis 环境搭建)

第1关:Redis 环境搭建

编程要求

根据上述相关知识,在右侧命令行中完成 Redis 集群的部署与安装。

安装完成后,使用 echo "cluster nodes"|redis-cli -p 7001 -c >/root/test.txt 将结果保存。

测试说明

脚本会在 master 、 slave1 、slave2、slave3 服务器上进行输入 cluster nodes 查看状态,若进程与预期输出一致则通过是否安装成功并使环境生效,或者 Redis 进程是否全部启动成功。

评测时长约 20 秒钟,请耐心等待。

该文章中有部分的过程省略了,比如有些需要输入yes,或者密码123123的步骤有些地方未写。

代码如下:

c 复制代码
cd /opt
c 复制代码
wrapdocker
c 复制代码
ulimit -f unlimited
c 复制代码
docker load -i ubuntu16-ssh.tar
c 复制代码
cd /root
c 复制代码
docker-compose up -d
c 复制代码
scp /data/bigfiles/redis-5,0,2,tar.gz root@172.18.0.2:/opt
c 复制代码
ssh 172.18.0.2

该命令后输入yes之后输入123123

c 复制代码
ssh-keygen -t rsa 

#执行命令之后,连着按三个回车键即可生成秘钥。

在第二个命令行输入以下代码:

c 复制代码
# 进入 salve1 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.3
c 复制代码
ssh-keygen -t rsa

在第三个命令行输入以下代码:

c 复制代码
# 进入 salve2 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.4
c 复制代码
ssh-keygen -t rsa

在第四个个命令行输入以下代码:

c 复制代码
# 进入 salve3 服务器,键盘输入 yes 与 密码 123123
ssh 172.18.0.5
c 复制代码
ssh-keygen -t rsa

在 master 复制 master、slave1、slave2、slave3 的公钥。

也就是第一个命令行:

代码入下:

c 复制代码
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

要是输入上行代码显示没有文件就再次输入一遍下面的代码

c 复制代码
ssh 172.18.0.2
ssh-keygen -t rsa
c 复制代码
ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
c 复制代码
ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
c 复制代码
ssh slave3 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

在第二个命令行:

c 复制代码
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在第三个命令行:

c 复制代码
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在第四个命令行:

c 复制代码
ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在第一个命令行输入以下代码:

c 复制代码
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/

在第一个到第四个命令行输入以下代码:

c 复制代码
tar -zxvf /opt/redis-5,0,2,tar.gz -C /usr/local/
cd /usr/local
mv redis-5.0.2/ redis

对每个节点进行安装 Redis 并设置快捷操作

c 复制代码
cd /usr/local/redis
make
make install

Redis 集群搭建

第一个命令行输入以下代码:

c 复制代码
cd /usr/local/redis/
mkdir redis-cluster
c 复制代码
cd redis-cluster
cp ../redis.conf ./
c 复制代码
vim redis7001.conf

这是文件内容:

c 复制代码
# 文件内容为:
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
c 复制代码
cp /usr/local/redis/redis-cluster/redis7001.conf /usr/local/redis/redis-cluster/redis7002.conf
c 复制代码
vim /usr/local/redis/redis-cluster/redis7002.conf

按esc之后输入英文冒号:

输入以下代码:

c 复制代码
%s/7001/7002/g
c 复制代码
scp -r /usr/local/redis/redis-cluster/ root@slave1:/usr/local/redis/
c 复制代码
scp -r /usr/local/redis/redis-cluster/ root@slave2:/usr/local/redis/
c 复制代码
scp -r /usr/local/redis/redis-cluster/ root@slave3:/usr/local/redis/

创建集群并启动

第一个命令行:

c 复制代码
ssh 172.18.0.2
c 复制代码
mkdir /usr/local/redis/data/
c 复制代码
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第二个命令行:

c 复制代码
ssh 172.18.0.3
c 复制代码
mkdir /usr/local/redis/data/
c 复制代码
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第三个命令行:

c 复制代码
ssh 172.18.0.4
c 复制代码
mkdir /usr/local/redis/data/
c 复制代码
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第四个命令行:

c 复制代码
ssh 172.18.0.5
c 复制代码
mkdir /usr/local/redis/data/
c 复制代码
redis-server /usr/local/redis/redis-cluster/redis7001.conf
redis-server /usr/local/redis/redis-cluster/redis7002.conf

第一个命令行:

c 复制代码
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 并回车。

出现以下就为成功:

c 复制代码
redis-cli -p 7001 -c
c 复制代码
cluster nodes 
c 复制代码
exit
c 复制代码
echo "cluster nodes"|redis-cli -p 7001 -c >/root/test.txt

由于第一关较长我将第二关代码放到下篇文章中了,第二关代码文章


相关推荐
千年死缓3 小时前
go+redis基于tcp实现聊天室
redis·tcp/ip·golang
小小娥子5 小时前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存
DieSnowK5 小时前
[Redis][集群][下]详细讲解
数据库·redis·分布式·缓存·集群·高可用·新手向
计算机学姐5 小时前
基于SpringBoot+Vue的高校运动会管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis
我是浮夸7 小时前
MyBatisPlus——学习笔记
java·spring boot·mybatis
CoderJia程序员甲9 小时前
重学SpringBoot3-集成Redis(一)
java·redis·缓存·springboot
speop9 小时前
408笔记|随笔记录|自用|2
java·redis·笔记
王维诗里的代码i10 小时前
Redis基础二(spring整合redis)
java·数据库·redis·spring
技术卷10 小时前
Redis数据库与GO完结篇:redis操作总结与GO使用redis
数据库·redis·golang
盒马盒马10 小时前
Redis:list类型
数据库·redis