0
点赞
收藏
分享

微信扫一扫

单台或多台服务器搭建redis-cluster(非容器redis集群)

DYBOY 2022-04-14 阅读 75
运维

redis-cluster(非容器redis集群)

1、上传redis压缩包解压并移动到指定目录

rz redis:5.0.5.tar.gz
tar xf redis:5.0.5.tar.gz
mv redis-5.0.5 /data/

2、编译redis位置并执行配置脚本

cd /data/redis-5.0.5
make && make PREFIX=/usr/local/redis install
cd utils/
./install_server.sh

3、以下是自动程序编译选项:

Please select the redis port for this instance: [6379] 						
Please select the redis config file name [/etc/redis/6371.conf] 			
Please select the redis log file name [/var/log/redis_6371.log] 			
Please select the data directory for this instance [/var/lib/redis/6371]	
Please select the redis executable path [] 									

[6371]
/usr/local/redis/6371/6371.conf
/usr/local/redis/6371/log
/usr/local/redis/6371/
/usr/local/redis/bin/redis-server

[6372]
/usr/local/redis/6372/6372.conf
/usr/local/redis/6372/log
/usr/local/redis/6372/
/usr/local/redis/bin/redis-server

[6373]
/usr/local/redis/6373/6373.conf
/usr/local/redis/6373/log
/usr/local/redis/6373/
/usr/local/redis/bin/redis-server

[6374]
/usr/local/redis/6374/6374.conf
/usr/local/redis/6374/log
/usr/local/redis/6374/
/usr/local/redis/bin/redis-server

[6375]
/usr/local/redis/6375/6375.conf
/usr/local/redis/6375/log
/usr/local/redis/6375/
/usr/local/redis/bin/redis-server

[6376]
/usr/local/redis/6376/6376.conf
/usr/local/redis/6376/log
/usr/local/redis/6376/
/usr/local/redis/bin/redis-server

4、修改以下行数配置

[root@mycat-nfs redis]# vim 6371/6371.conf 
[root@mycat-nfs redis]# vim 6372/6372.conf 
[root@mycat-nfs redis]# vim 6373/6373.conf 
[root@mycat-nfs redis]# vim 6374/6374.conf 
[root@mycat-nfs redis]# vim 6375/6375.conf 
[root@mycat-nfs redis]# vim 6376/6376.conf 

70 # bind 172.17.0.9
89 protected-mode no
294 masterauth 123456
508 requirepass 123456
700 appendonly yes
833 cluster-enabled yes
841 cluster-config-file nodes-6371.conf
847 cluster-node-timeout 15000

5、编写redis-cluster集群重启脚本

#vim cluster-restart.sh   
#!/bin/bash
/etc/init.d/redis_6371 restart
/etc/init.d/redis_6372 restart
/etc/init.d/redis_6373 restart
/etc/init.d/redis_6374 restart
/etc/init.d/redis_6375 restart
/etc/init.d/redis_6376 restart

6、构建集群

生产环境(3)
./redis-cli -a 123456 --cluster create  1 172.17.0.8:6371 172.17.0.3:6373 172.17.0.13:6375 172.17.0.8:6372 172.17.0.3:6374 172.17.0.13:6376

测试环境(1台)
./redis-cli -a 123456 --cluster create 172.17.0.9:6371 172.17.0.9:6372 172.17.0.9:6373 172.17.0.9:6374 172.17.0.9:6375 172.17.0.9:6376

7、上传服务jar包

rz RedisDemo-0.0.1-SNAPSHOT.jar
mv RedisDemo-0.0.1-SNAPSHOT.jar /data/java

8、编写Dockerfile

#vim Dockerfile
FROM java:8
ADD RedisDemo-0.0.1-SNAPSHOT.jar web.jar
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   && echo 'Asia/Shanghai' >/etc/timezone
EXPOSE 8080
ENTRYPOINT ["java","-jar","web.jar"]

9、启动服务容器

docker build -t java .
docker run -id -p 8080:8080 --name java java

10、启动负载均衡nginx并映射服务所需端口(记得防火墙记得放通对应端口)

docker run -id -p 8080:8080 --name java-nginx nginx:1.14.2

#vim /data/nginx/nginx.conf(http模块添加以下规则)
   upstream java {
       server 172.17.0.9:8080 max_fails=0 fail_timeout=10s;
   }

   server {
       listen       8080;
       server_name  152.152.152.152;#负载的公网ip

       location / {
           proxy_connect_timeout 75;
           proxy_read_timeout 300;
           proxy_send_timeout 300;
           proxy_buffer_size 64k;
           proxy_buffers   4 64k;
           proxy_busy_buffers_size 128k;
           proxy_temp_file_write_size 128k;
           proxy_pass http://java;
           proxy_http_version 1.1;
           proxy_set_header Connection "";
       }
   }  

11、编写docker的nginx复制简易脚本

#vim nx.sh
#!/bin/bash
docker cp nginx.conf java-nginx:/etc/nginx/nginx.conf
docker exec -it java-nginx /bin/bash -c "nginx -t"
sleep 2
docker exec -it java-nginx /bin/bash -c "nginx -s reload"

12、执行命令行sh nx.sh刷新nginx配置

在这里插入图片描述

鸣谢公司开发小伙伴(曹木木)被我拖下来打新的jar包。加班30分钟。卷他没商量^^。今天还会再验证一下docker部署redis-cluster用于快速构建测试环境专用的构建思路。

举报

相关推荐

0 条评论