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 [email protected]:/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

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


相关推荐
菜鸟蹦迪2 小时前
学习记录:mybatis和jdbc实现数据表作为参数的相关的sql操作
sql·学习·mybatis
LDM>W<3 小时前
黑马点评-用户登录
java·redis
炫酷的伊莉娜6 小时前
【Redis】零碎知识点(易忘 / 易错)总结回顾
redis
Dontla6 小时前
BootCDN介绍(Bootstrap主导的前端开源项目免费CDN加速服务)
前端·开源·bootstrap
一个天蝎座 白勺 程序猿8 小时前
Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
redis·爬虫·python·selenium·scrapy·云原生·k8s
追风赶月、9 小时前
【Redis】哨兵(Sentinel)机制
数据库·redis·sentinel
vvilkim9 小时前
Redis持久化机制详解:保障数据安全的关键策略
数据库·redis·缓存
大数据魔法师10 小时前
Redis(三) - 使用Java操作Redis详解
java·数据库·redis
IT光10 小时前
Redis 五种类型基础操作(redis-cli + Spring Data Redis)
java·数据库·redis·spring·缓存