SaltStack安装Redis-第十篇
实验环境
node1 192.168.56.11 角色 salt-master
node2 192.168.56.12 角色 salt-minon
完成内容
Salt远程安装Redis服务
步骤
在前面的文章中已经搭建好了salt-master和saltminion环境
一,在prod目录下创建redis相关的目录,存放状态文件
[root@linux-node1 ~]# cd /srv/salt/prod/ [root@linux-node1 prod]# mkdir modules/redis -p [root@linux-node1 prod]# tree . └── modules└── redis
二,进入redis目录创建redis基础状态文件,这里我们用简单的rpm包按照为例
[root@linux-node1 redis]# cat redis-install.sls redis-install:pkg.installed:- name: redis
三,有时候我们修改redis的配置文件或创建集群
[root@linux-node1 prod]# pwd /srv/salt/prod [root@linux-node1 prod]# mkdir redis-cluster [root@linux-node1 prod]# cd redis-cluster/ [root@linux-node1 redis-cluster]# vi redis-master.sls [root@linux-node1 redis-cluster]# cat redis-master.sls include:- modules.redis.redis-installredis-master-config:file.managed:- name: /etc/redis.conf- source: salt://redis-cluster/files/redis-master.conf- user: root- group: root- mode: 644- template: jinja- defaults:REDIS_MEM: 1Gredis-master-service:service.running:- name: redis- enable: True- watch:- file: redis-master-config
四,按照redis取配置文件作为salt模板
[root@linux-node1 redis-cluster]# yum install redis [root@linux-node1 redis-cluster]# cp /etc/redis.conf /srv/salt/prod/redis-cluster/files/ [root@linux-node1 redis-cluster]# tree . ├── files │ └── redis.conf └── redis-master.sls
五,重命名redis模板文件名
[root@linux-node1 files]# mv redis.conf redis-master.conf [root@linux-node1 files]# pwd /srv/salt/prod/redis-cluster/files
六,更改redis配置文件模板,bind也可以只监听内网端口
[root@linux-node1 files]# grep -E 'bind|daemonize|maxmemory' redis-master.conf |grep -v ^# bind 0.0.0.0 daemonize yes maxmemory {{ REDIS_MEM }}
七,测试,因为是在prod目录下 需要添加 saltenv=prod环境变量
[root@linux-node1 redis-cluster]# salt 'linux-node2*' state.sls redis-cluster.redis-master test=True saltenv=prod linux-node2.example.com: ----------ID: redis-installFunction: pkg.installedName: redisResult: NoneComment: The following packages are set to be installed/updated: redisStarted: 22:45:55.034779Duration: 2514.889 msChanges: ----------ID: redis-master-configFunction: file.managedName: /etc/redis.confResult: NoneComment: The file /etc/redis.conf is set to be changedStarted: 22:45:57.551713Duration: 27.659 msChanges: ----------newfile:/etc/redis.conf ----------ID: redis-master-serviceFunction: service.runningName: redisResult: NoneComment: Service is set to be startedStarted: 22:45:57.637546Duration: 71.324 msChanges: Summary ------------ Succeeded: 3 (unchanged=3, changed=1) Failed: 0 ------------ Total states run: 3
八,执行redis状态模块
[root@linux-node1 redis-cluster]# salt 'linux-node2*' state.sls redis-cluster.redis-master saltenv=prod linux-node2.example.com: ----------ID: redis-installFunction: pkg.installedName: redisResult: TrueComment: The following packages were installed/updated: redisStarted: 22:48:16.616612Duration: 15732.74 msChanges: ----------jemalloc:----------new:3.6.0-1.el7old:redis:----------new:3.2.10-2.el7old: ----------ID: redis-master-configFunction: file.managedName: /etc/redis.confResult: TrueComment: File /etc/redis.conf updatedStarted: 22:48:32.351877Duration: 45.19 msChanges: ----------diff:--- +++ @@ -44,7 +44,7 @@## Examples:#-# bind 192.168.1.100 10.0.0.1+#bind 0.0.0.0# bind 127.0.0.1 ::1## ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the@@ -58,7 +58,7 @@# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES# JUST COMMENT THE FOLLOWING LINE.# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-bind 127.0.0.1+bind 0.0.0.0# Protected mode is a layer of security protection, in order to avoid that# Redis instances left open on the internet are accessed and exploited.@@ -125,7 +125,7 @@# By default Redis does not run as a daemon. Use 'yes' if you need it.# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.-daemonize no+daemonize yes# If you run Redis from upstart or systemd, Redis can interact with your# supervision tree. Options:@@ -534,7 +534,7 @@# limit for maxmemory so that there is some free RAM on the system for slave# output buffers (but this is not needed if the policy is 'noeviction').#-# maxmemory <bytes>+maxmemory 1G# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory# is reached. You can select among five behaviors:mode:0644user:root ----------ID: redis-master-serviceFunction: service.runningName: redisResult: TrueComment: Service redis has been enabled, and is runningStarted: 22:48:32.412154Duration: 453.972 msChanges: ----------redis:TrueSummary ------------ Succeeded: 3 (changed=3) Failed: 0 ------------ Total states run: 3
salt 'linux-node2*' state.sls redis-cluster.redis-master saltenv=prod
九,登陆node2节点查看redis服务已经成功启动
[root@linux-node2 ~]# ps aux |grep redis redis 5147 0.3 0.3 142904 5808 ? Ssl 22:48 0:00 /usr/bin/redis-server 0.0.0.0:6379 root 5192 0.0 0.0 112648 976 pts/0 S+ 22:49 0:00 grep --color=auto redis [root@linux-node2 ~]#
总结
1.生产环境我们的状态模块可以在prod下面,在执行的时候需要设置环境saltenv=prod(使用top.sls不需要设置环境变量)
2.记得使用test=True先测试
3.提前查清楚软件包和相关配置文件
4.当使用jinja模板管理时,可以不用登陆redis服务器就可以查看redis设置的最大内存
附 赵班长的 GitHub saltbook-code网址
https://github.com/unixhot/saltbook-code/tree/master
转载于:https://www.cnblogs.com/xiewenming/p/7714764.html
SaltStack安装Redis-第十篇相关推荐
- Windows 安装Redis(图文详解)
一.Redis是什么数据库? Remote Dictionary Server(Redis) 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于内存.分布式.可选持久性的键 ...
- Docker系列(二十四)——Docker实例六Docker安装Redis实例
< Docker实例三Docker安装Redis实例 > 前言 在前面一篇文章种,完成了 < Docker安装MongoDB实例 >,本篇将继续镜像安装教程,并完成Docker ...
- Redis入门第一篇【介绍、安装】
tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...
- 《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
文章目录 8.Docker常规安装简介 8.1 docker常规安装总体步骤 8.2安装tomcat 8.3 安装mysql 8.3.1 docker hub上面查找mysql镜像 8.3.2 从do ...
- 深入学习 Redis 之第 1 篇 —— Docker 安装 Redis 并搭建主从复制集群
环境要求:CentOS7 X64 位,Redis6.0+ 理论基础 1.什么是 Redis 的主从复制? Redis 的复制功能支持多个库之间的数据同步.一类是主库(master),另一类是从库(sl ...
- linux yun 安装 redis,Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法(总结篇)...
如下是我工作中的记录,介绍的是linux系统下NoSQL:MongoDB和Redis的安装过程和遇到的问题以及解决办法: 需要的朋友可以按照如下步骤进行安装,可以快速安装MongoDB和Redis,希 ...
- CentOS 初体验二十:压缩包形式安装redis
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/79277060 本文出自[赵彦军的博客] 安装 C 语言环境 redis 是C 语言 ...
- Redis篇 <一>Docker安装redis 及基础
前言 开始写一个redis 系列的,期间不参杂其他的了,一攻到底,就是因为这方面用得不多,总是在redis这一块被面试官吊打, 主要是学习,其次是不要再被胖揍了!!! 老生常谈的redis~直接开搞. ...
- Redis【第二篇】集群搭建
第一步:准备 1.安装包 ruby-2.4.0.tar.gz rubygems-2.6.10.tgz zlib-1.2.11.tar.gz redis-3.3.2.gem 2. 架构: 名称 IP 端 ...
最新文章
- C#LeetCode刷题之#409-最长回文串(Longest Palindrome)
- 自己设计的一个打字平台
- 拓端tecdat|R语言时间序列TAR阈值模型分析
- 英语邮件介绍多媒体计算机,多媒体电子邮件,rich media email,音标,读音,翻译,英文例句,英语词典...
- 友盟推送:测试模式推送完成,但却收不到推送信息
- 帝国CMS二次开发对接第三方支付接口教程
- Python基础——模块和正则表达式
- 获取历史市盈率的地方
- EasyUi入门教程01
- 黑苹果外接显示器最优解决方案
- 一个通证经济典型案例——移动广告矿机
- 编译原理 实验三 LR(1)分析法 Java
- 知识?一文解析币圈一级二级市场 原来币圈居然这么多要知道的
- Photoshop CS5自学学习笔记
- 新纪元期货:投资远离骗局
- UVM学习笔记(一)工厂、phase机制、config
- 第十章第三节 物体的浮沉条件及应用
- adobe acrobat提取pdf中某个区域为单独的pdf或者eps文件
- 程序员淡定的姿态和操蛋的心
- 电商平台选择积分抵扣的两个原因
热门文章
- Spark配置属性整理(非常全面)
- Linux使用ffmpeg合并视频
- ubuntu16.04将普通用户提升至root权限
- k8s service:ClusterIP、NodePort、LoadBalancer、ExternalName
- Scala特质的动态混入(超强扩展性)
- Scala是完全面向函数式的编程语言体现点
- kibana操作elasticsearch:查看映射关系
- 请回答一下Java中有几种线程池及实现过程?
- springboot spring.config.location外挂配置文件实战
- 微信v3app支付php,php微信支付之APP支付方法_php技巧