Linux下一键安装部署RedisCluster

1.docker部署方式(一定要看脚本部署大法!!!)

1.1 准备docker环境

1.1.1 准备 yum 源

配置可参考:https://www.cnblogs.com/lifuhei/p/10139762.html

将准备好的 docker.repo 放到路径下: /etc/yum.repos.d/

1.1.2 安装和启动 docker

<>内docker版本

yum install -y <docker-ce-18.06.1.ce>

启动 docker

systemctl start docker

查看 docker 状态

systemctl status docker

1.2 准备 redis cluster 配置文件

redis3.0开始支持集群功能,本次安装的版本是redis5.0.3。如果是安装其他版本,从redis官网上download对应版本下来,查看redis.conf有哪些配置项再做对应配置修改。

redis.conf.template

port <port>
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip <cluster-announce-ip>
cluster-announce-port <port>
cluster-announce-bus-port 1<port>
protected-mode no
appendonly yes

创建文件夹

mkdir /root/docker/rediscluster

将准备好的redis.conf.template拷贝到目录下

cp redis.conf.template /root/docker/rediscluster

查询本机ip

ifconfig

替换ip,比如获取到的是 10.135.110.119

sed -i 's/<cluster-announce-ip>/10.135.110.119/g' /root/docker/rediscluster/redis.conf.template

在/root/docker/rediscluster/下创建目录

/root/docker/rediscluster//data

/root/docker/rediscluster//conf

比如打算起6个容器,用到的端口是9000-9005,那么就对应执行

mkdir -p /root/docker/rediscluster/9000/data

mkdir -p /root/docker/rediscluster/9000/conf

mkdir -p /root/docker/rediscluster/9005/data

mkdir -p /root/docker/rediscluster/9005/conf

把redis.conf.template拷贝到每个 /root/docker/rediscluster//conf 路径下,并替换template中的到对应端口,比如在 /root/docker/rediscluster/9000/conf 路径下的,那么对应修改为9000

cp /root/docker/rediscluster/redis.conf.template /root/docker/rediscluster/9000/conf/redis.conf

sed -i 's/<port>/9000/g' /root/docker/rediscluster/9000/conf/redis.conf `

1.3 安装 redis cluster

查找并下载redis镜像

docker search redis

docker pull <redis image>

检查本地redis镜像

docker images | grep redis

创建redis-net,用于容器之间互相通信

docker network create redis-net

docker network inspect redis-net

docker 启动 redis cluster,因为要启动6个容器,从9000到9005,因此需要执行6次 docker run 命令

docker run -it -d -p <port>:<port> -p 1<port>:1<port>--privileged=true -v /root/docker/rediscluster/<port>/conf/redis.conf:/usr/local/etc/redis/redis.conf --privileged=true -v /root/docker/rediscluster/<port>/data:/data --restart always --name redis-cluster-<port> --net redis-net --sysctl net.core.somaxconn=1024 redis:5.0.3-alpine redis-server /usr/local/etc/redis/redis.conf

比如9000

docker run -it -d -p 9000:9000 -p 19000:19000 --privileged=true -v /root/docker/rediscluster/9000/conf/redis.conf:/usr/local/etc/redis/redis.conf --privileged=true -v /root/docker/rediscluster/9000/data:/data --restart always --name redis-cluster-9000 --net redis-net --sysctl net.core.somaxconn=1024 redis:5.0.3-alpine redis-server /usr/local/etc/redis/redis.conf

检查启动状态

docker ps -a -f status=running -f name=redis-cluster-900*

等6个容器的状态都是running时,启动 redis cluster

redis-cli -c -h 10.135.110.119 -p 9000 --cluster create 10.135.110.119:9000 10.135.110.119:9001 10.135.110.119:9002 10.135.110.119:9003 10.135.110.119:9004 10.135.110.119:9005 --cluster-replicas 1

安装时会询问master-slave的配置,使用默认配置键入 yes 即可。

至此,redis cluster 安装已完成。

1.4 脚本安装大法(shell部署直接看这里)

可以看出上面的安装重复步骤非常多,因此这里提供两个脚本。一个是准备环境的,另一个是直接安装redis cluster的,供参考。

前期还是要准备些文件的,并没有一键部署那么智能。

首先同样需要准备 yum 源 dcoker.repo

同样需要准备redis.conf.template

port <port>
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip <cluster-announce-ip>
cluster-announce-port <port>
cluster-announce-bus-port 1<port>
protected-mode no
appendonly yes

准备脚本 prepare_env.sh。如果本来环境已经准备好了docker,可以从mkdir一行开始执行。

echo "Prepare enviroment"
cp ./docker.repo /etc/yum.repos.d/
yum install -y docker-ce-18.06.1.ce
systemctl start docker
systemctl status docker

mkdir -p /tmp/script/rediscluster/
cp ./* /tmp/script/rediscluster/

ip=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值