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

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


相关推荐
菠萝咕噜肉i39 分钟前
MyBatis是什么?为什么有全自动ORM框架还是MyBatis比较受欢迎?
java·mybatis·框架·半自动
weisian1511 小时前
Redis篇--常见问题篇8--缓存一致性3(注解式缓存Spring Cache)
redis·spring·缓存
向阳12181 小时前
mybatis 缓存
java·缓存·mybatis
HEU_firejef1 小时前
Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透
数据库·redis·缓存
一只淡水鱼662 小时前
【mybatis】详解 # 和 $ 的区别,两者分别适用于哪种场景,使用 $ 不当会造成什么影响
sql·spring·mybatis·sql注入
秋恬意2 小时前
IBatis和MyBatis在细节上的不同有哪些
java·mybatis
weisian1513 小时前
Redis篇--常见问题篇7--缓存一致性2(分布式事务框架Seata)
redis·分布式·缓存
白云coy3 小时前
Redis 安装部署[主从、哨兵、集群](linux版)
linux·redis
Logintern093 小时前
Linux如何设置redis可以外网访问—执行使用指定配置文件启动redis
linux·运维·redis
赖龙3 小时前
springboot restful mybatis连接mysql返回日期格式不对
spring boot·mybatis·restful