1.saltstack使用指南:saltstack的介绍和安装

自动化运维之SaltStack 部署应用 在生产环境中,服务器往往不只是一台,有可能是成千上万台。对于运维人员来说,如 果单独的对每台服务器进行管理,工作难度比较大。这时部署自动化运维就可以尽可 能安全、高效的完成这些工作。一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的 Agent 程序来完成管理功能,如:SaltStack、Puppet、Zabbix 等;另一类是不需要配置代理工具的,可以直接基于 SSH 服务来完成管理功能,如: Ansible、Fabric 等。本章将主要介绍自动化运维工具 Saltstack部署 阅读详情

saltstack的介绍和安装


saltstack介绍

salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。

saltstack 和puppet的都是进行自动化运维的工具,通过对两者的对比可以发现,puppet强调一切的配置都是资源与资源之间的关系,而且具有严格的配置规范,对于新手来说有一定的学习阻力,salt除了可以进行服务等基础资源的配置,因为其基于python开发,所以可以在开发相应的模板,支持各种json和xml格式的放回,而且具有良好的触发特性。


saltstack安装

1.rpm安装方式(极力推荐!!!)

在本系列的讲解中,对于saltstack的安装部署都是采用官方文档进行的,这需要指定相关的yum仓库。关于仓库的地址如下所示.

(1)获取并且添加仓库钥匙(repository key):

系统版本redhat7:

//执行如下shell命令:
[root@server saltstack]# wget https://repo.saltstack.com/yum/rhel7/SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rpm --import SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rm -f SALTSTACK-GPG-KEY.pub

系统版本redhat6:

//执行如下shell命令:
[root@server saltstack]# wget https://repo.saltstack.com/yum/rhel6/SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rpm --import SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rm -f SALTSTACK-GPG-KEY.pub

系统版本redhat5:

//执行如下shell命令:
[root@server saltstack]# wget https://repo.saltstack.com/yum/rhel5/SALTSTACK-EL5-GPG-KEY.pub
[root@server saltstack]# rpm --import SALTSTACK-GPG-KEY.pub
[root@server saltstack]# rm -f SALTSTACK-EL5-GPG-KEY.pub

(2)yum仓库地址:

因为saltstack有两种模式:ZeroMQ和RAET,我们这里建议大家采用ZeroMQ(轻量级消息队列),关于yum仓库地址需要修改yum的repo文件,该文件位于/etc/yum.repos.d/目录.

[root@server saltstack]# vim /etc/yum.repos.d/yum.repo

根据不同的系统在该文件添加如下信息:

redhat 7系统:

####################
# Enable SaltStack's package repository
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 7
baseurl=https://repo.saltstack.com/yum/rhel7
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/rhel7/SALTSTACK-GPG-KEY.pub

redhat 6系统:

####################
# Enable SaltStack's package repository
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 6
baseurl=https://repo.saltstack.com/yum/rhel6
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/rhel6/SALTSTACK-GPG-KEY.pub

redhat 5系统:

####################
# Enable SaltStack's package repository
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 5
baseurl=https://repo.saltstack.com/yum/rhel5
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/rhel5/SALTSTACK-EL5-GPG-KEY.pub

如果你的网络环境很差,请配置本地的yum仓库!!!
如果你的网络环境很差,请配置本地的yum仓库!!!
如果你的网络环境很差,请配置本地的yum仓库!!!
重要的事情说三遍!!!

(3)saltstack本地yum仓库:

(1)找到安装源(在baseurl指定位置):
这里写图片描述
可以看到有三个对应的版本,使用mirror把指定的目录下载下来,因为我实验的主机是采用redhat6系统。所以下载该目录:
lftp repo.saltstack.com:/yum> mirror rhel6


为了方便大家安装,我已经把所有的安装包(rhel6)上传到了csdn上,地址如下:

http://download.youkuaiyun.com/download/linux_player_c/9424028


(2)使用createrepo生成rpm的依赖关系,这需要使用createrepo命令,如果没有该命令则需要安装,安装命令如下:
这里写图片描述

进入到安装所需rpm的目录:
这里写图片描述

生成rpm依赖关系:
这里写图片描述

(3)将该路径写入yum的repo文件中(/etc/yum.repos.d/yum.repo):
这里写图片描述

(4)完成上述配置后执行如下命令:
[root@minion4 ~]# yum clean all
[root@minion4 ~]# yum update

安装服务端(master):

[root@minion4 ~]# yum install salt-master salt-cloud salt-ssh salt-syndic -y

安装客户端(minion):

[root@minion4 ~]# yum install salt-minion salt-cloud salt-ssh salt-syndic -y

2.源码安装(不推荐使用,太过复杂)

如果想要通过源码安装的可以采用如下方式

公共组件

1.Python 2.6 >= 2.6 < 3.0
(在python的官网可以选择合适的版本)
下载地址:https://www.python.org/downloads/release/python-2711/

2.msgpack-python
下载地址:https://pypi.python.org/pypi/msgpack-python/#downloads

3.YAML
(1)pyyaml
下载地址:http://pyyaml.org/download/pyyaml/PyYAML-3.11.tar.gz
(2)yaml
下载地址:http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz

4.Jinja2
下载地址:https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz

5.MarkupSafe
下载地址:https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz

6.apache-libcloud
下载地址:http://www.apache.org/dyn/closer.cgi/libcloud/apache-libcloud-0.20.1.tar.gz

7.Requests
下载地址:https://pypi.python.org/pypi/requests/#downloads


ZeroMQ专有组件

1.ZeroMQ >= 3.2.0
下载地址:http://download.zeromq.org/zeromq-4.0.5.tar.gz

2.pyzmq >= 2.2.0
下载地址:https://pypi.python.org/pypi/pyzmq/15.1.0#downloads
下载地址:http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz

3.PyCrypto
下载地址:https://pypi.python.org/pypi/pycrypto/2.6.1

4.M2Crypto
下载地址:https://pypi.python.org/pypi/M2Crypto/0.22.5


saltstack源码安装过程

安装前准备

上述的大部分模块都可以在pypi上获得(https://pypi.python.org/pypi),下载后文件的列表如下:
这里写图片描述

实验环境:
系统:redhat-enterprise6.5
master节点: 192.168.3.143 (master.saltstack.com)
minion节点:192.168.3.241 (minion.saltstack.com)

注意:
1.两者的防火墙确保关闭:
[root@server tar_install]# iptables -F
2.互相进行解析/etc/hosts:
这里写图片描述


具体安装过程
1.更新python

1.关于上述列举的安装包我们逐个进行安装,大部分的包都是python的模块,所以我们先来安装python,如果系统已经拥有python则需要查看其版本(必须在python2.6之上),打开pyhton解释器可以查看其版本:
这里写图片描述

虽然版本已经在2.6之上了,如果版本不够我们可以更新python。
更新步骤如下:

(1)解压python安装包:
[root@master tar_install]# tar xvf Python-2.7.11.tar.xz

(2)进入安装目录,配置:
这里写图片描述

可以看到配置时缺少C编译器,安装gcc组件:
这里写图片描述

再次执行配置:
这里写图片描述

(3)安装python:
这里写图片描述

(4)将python2.7的头文件拷贝到标准目录/usr/local/include下:
这里写图片描述

(5)备份旧版本的python,并且新安装的python符号链接到/usr/bin/下:
这里写图片描述

(6)修改yum的脚本信息,指定为之前的python版本:
[root@master python2.7]# vim /usr/bin/yum

这里写图片描述

(7)再次打开python解释器查看版本:
这里写图片描述

已经更新到了最新版本的python。


2.安装yaml和PyYAML

(1)对yaml进行解压:
这里写图片描述

(2)配置安装信息:
这里写图片描述

(3)安装yaml:
这里写图片描述

(4)解压PyYAML:
这里写图片描述

(5)安装PyYAML:
这里写图片描述


3.安装setuptools

(1)解压setuptools:
这里写图片描述

(2)安装setuptools:
这里写图片描述


4.安装MarkupSafe

(1).解压MarkupSafe-0.9.3.tar.gz:
这里写图片描述

(2).安装MarkupSafe-0.9.3:
这里写图片描述

(3).解压MarkupSafe-0.23.tar.gz:
这里写图片描述

(4).安装MarkupSafe-0.23:
这里写图片描述


5.安装Jinja

1.解压Jinja:
这里写图片描述

2.安装Jinja:
这里写图片描述


6.安装apache-libcloud

(1).解压apache-libcloud:
这里写图片描述

(2).安装apache-libcloud:
[root@master apache-libcloud-0.20.1]# cd apache-libcloud-0.20.1
[root@master apache-libcloud-0.20.1]# python setup.py install


7.安装autoconf

1.[root@master tar_install]# tar xvf autoconf-2.69.tar.gz
2.[root@master tar_install]# cd autoconf-2.69
3.[root@master autoconf-2.69]# ./configure –prefix=/usr
4.[root@master autoconf-2.69]# make && make install


8.安装pyzmq

[root@master tar_install]# tar xvf pyzmq-15.1.0.tar.gz
[root@master tar_install]# cd pyzmq-15.1.0
[root@master pyzmq-15.1.0]# python setup.py install


9.安装requests

[root@master tar_install]# tar xvf requests-2.9.1.tar.gz
[root@master tar_install]# cd requests-2.9.1
[root@master requests-2.9.1]# python setup.py install


10.安装zeromq

[root@master tar_install]# tar xvf zeromq-4.0.5.tar.gz
[root@master zeromq-4.0.5]# cd zeromq-4.0.5
这里写图片描述
可以看到它说缺少libtool包,使用yum安装即可:
[root@master zeromq-4.0.5]# yum install libtool -y

再次安装:
[root@master zeromq-4.0.5]# ./autogen.sh
[root@master zeromq-4.0.5]# ./configure –prefix=/usr/local
[root@master zeromq-4.0.5]# make install


11.安装msgpack-python

[root@master tar_install]# tar xvf msgpack-python-0.4.6.tar.gz
这里写图片描述


12.安装pycryto

[root@master tar_install]# tar xvf pycrypto-2.6.1.tar.gz
[root@master tar_install]# cd pycrypto-2.6.1
[root@master pycrypto-2.6.1]# python setup.py install


13.安装M2Crypto

1.安装swig-3.0.7.tar.gz:

(1)[root@master tar_install]# tar xvf swig-3.0.7.tar.gz
(2)[root@master tar_install]# cd swig-3.0.7
(3)[root@master swig-3.0.7]# ./configure –prefix=/usr/local/
(4)[root@master swig-3.0.7]# yum install pcre* -y
(5)[root@master swig-3.0.7]# make
(6)[root@master swig-3.0.7]# make install

2.安装openssl-1.0.1g.tar.gz:

[root@master tar_install]# tar xvf openssl-1.0.1g.tar.gz
[root@master openssl-1.0.1g]# ./config shared –prefix=/usr/local
[root@master openssl-1.0.1g]# make
[root@master openssl-1.0.1g]# make install
[root@master M2Crypto-0.22.5]# \cp -a /usr/local/include/openssl/ /usr/include/

3.安装certifi-2015.11.20.tar.gz
[root@master tar_install]# tar xvf certifi-2015.11.20.tar.gz
[root@master tar_install]# cd certifi-2015.11.20
[root@master certifi-2015.11.20]# python setup.py install

4.安装backports.ssl_match_hostname-3.5.0.1.tar.gz
这里写图片描述
进入目录安装:
这里写图片描述

4.安装tornado-4.2.1.tar.gz

[root@master tar_install]# tar xvf tornado-4.2.1.tar.gz
[root@master tar_install]# cd tornado-4.2.1
[root@master tornado-4.2.1]# python setup.py install

5.安装M2Crypto-0.22.5.tar.gz
[root@master tar_install]# tar xvf M2Crypto-0.22.5.tar.gz
[root@master tar_install]# cd M2Crypto-0.22.5
[root@master M2Crypto-0.22.5]# python setup.py install


安装salt

[root@master tar_install]# tar xvf salt-2015.8.1.tar.gz
[root@master tar_install]# cd salt-2015.8.1
[root@master salt-2015.8.1]# python setup.py install


测试Saltstack

查看saltstack的安装情况:
这里写图片描述
可以看到我们已经安装的软件及其版本,这个程度足够我们使用saltstack的ZeroMQ模式。


如果你的命令执行很慢!!!请看这里!!!
如果你的命令执行很慢!!!请看这里!!!
如果你的命令执行很慢!!!请看这里!!!

此时不需惊慌,你给saltstack分配的资源一定是足够的,只需要把本机及其他的实验节点做好解析即可。


小结:

上述我们介绍了saltstack的两种安装方式:rpm安装以及源码安装,这里极力推荐第一种方案,非常的快捷、简单。在后续的章节中我们将会介绍saltstack的更多应用场景,敬请期待。


附录

saltstack依赖性

Salt should run on any Unix-like platform so long as the dependencies are met.

• Python 2.6 >= 2.6 <3.0

• msgpack-python
High-performance message interchange format

• YAML
Python YAML bindings

• Jinja2
parsing Salt States (configurable in the master settings)

• MarkupSafe
Implements a XML/HTML/XHTML Markup safe string for Python

• apache-libcloud
Python lib for interacting with many of the popular cloud service providers using a unified API

• Requests
HTTP library


Depending on the chosen Salt transport, ZeroMQ or RAET, dependencies vary:


• ZeroMQ:


• ZeroMQ >= 3.2.0

•pyzmq >= 2.2.0
ZeroMQ Python bindings

• PyCrypto
Python cryptography toolkit

• M2Crypto
“Me Too Crypto” - Python OpenSSL wrapper


• RAET:


• libnacl
Python bindings to libsodium

• ioflo
flo programming interface raet and salt-raet is built on

• RAET
worlds most awesome UDP protocol


Optional Dependencies

•mako
an optional parser for Salt States (configurable in the master settings)
•gcc
dynamic Cython module compiling

SaltStack安装与介绍 文章目录1. 概述2. ZeroMQ介绍3. SaltStack服务架构4. SaltStack的功能和运行方式5. SaltStack组件介绍6. SaltStack安装与最小化配置 1. 概述 什么是saltstack? saltstack是基于python开发的一套C/S自动化运维工具,通信采用了zeromq消息队列的(pub/sub),数据传输采用了AES(高级加密)保证安全性,认证采用了SSL方式。 自动化工具有哪些? 作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发 阅读详情

相关推荐

saltstack安装rpm包以及依赖(rhel65)

saltstack,saltstack-yum-install,this is a rpm package for saltstack install based on rhel65 os, once you download it, you can create a local rpm dir for yum installation

自动化运维工具--saltstack部署及使用

介绍saltstack的安装连接及使用

云计算之路 5708

体系结构学习-6-超标量处理器

 MIPS32-5段流水线采用了指令级并行方式(5个流水段同时运行5条指令)提升系统吞吐率,是一种标量处理器(CPI≥1CPI \ge 1CPI≥1),但是一个周期一条指令以及无法满足现代计算机需求了。 超标量处理器(Superscalar) 1、基本思想:增强指令集并行,让每个周期执行更多指令,实现 CPI<1CPI<1CPI<1 。(IPC=1/CPIIPC = 1...

qq_40891899的博客 1213

saltstack(自动化运维工具)——介绍、安装、部署+远程执行

一、saltstack简介 saltstack是一个配置管理系统,能够维护预定义状态的远程节点。 saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。 saltstack是运维人员提高工作效率、规范业务配置与操作的利器。 Salt的核心功能 1)使命令发送到远程系统是并行的而不是串行的 2)使用安全加密的协议 3)使用最小最快的网络载荷 4)提供简单的编程接口 Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。 1.2s

qq_46089299的博客 1万+

OpenDataLab 大模型训练数据集下载记录

大模型 训练数据集

u013558123的博客 3341

【软考高级架构】案例题考前突击6——大数据架构

前一类的数据主要由流量方以接口的方式提供(比如对接的腾讯广点通平台),后一类则是某网特有的数据,通过买家的浏览、下单、付款日志算出来。1. 在数据层面只维护一张包含所有指标的MySQL表,表中的stday字段作为索引,stday=当天的保存实时数据,stday<当天的保存离线数据。典型的大数据架构,除了Lambda架构之外,还有kappa架构,这两个架构的区别如下标所示,请补充表中空(1)-(4)第二,实时数据只对接了内部的kafka消息,没有实时的获取第三方的曝光、点击、浏览数据。

qq837993702的博客 66

gmailc2:一款基于Google SMTP的完全无法检测的C2服务器

1、持久化;2、支持Shell访问;3、查看系统信息;4、…

qq_53058639的博客 1821

【系统架构设计师】2025年下半年真题论文回忆版及写作要点

本文摘要围绕云原生数据库、性能测试、无服务器架构和秒杀场景等关键技术进行论述。云原生数据库通过容器化、微服务和自动化运维实现弹性扩展;性能测试需要规划测试场景并关注响应时间等关键指标;无服务器架构以事件驱动为核心,简化开发流程;秒杀场景需组合运用扩容、缓存、限流等技术应对高并发。这些技术方案为构建现代高可用系统提供了重要参考。

数据知道的博客 6156

SaltStack介绍

4 SaltStack安装与最小化配置 环境说明 主机类型 主机名 IP 安装的应用 控制机 master 192.168.25.146

weixin_46727129的博客 2014

PCL 点云八叉树射线相交

PCL 点云八叉树射线相交

dayuhaitang1的博客 850

Mac下Neo4j的安装、配置及Error汇总

Mac 配置 jdk环境(图文) 卸载jdk

Yale-曼陀罗 1642

saltstack的安装

saltstack是一个批量远程管理工具,可以批量对多台服务器进行远程命令 通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等 Salt的核心功能: 使对远程系统的命令被并行而不是串行调用 使用安全且加密的协议 使用尽可能最小和最快的网络负载 提供一个简单的编程界面 Salt还向远程执行领域引入了更精细的控件,使系统不仅可以通过主机名来定位,还可以通过系统属性来定位 ​ 主要的组件其实就两个 mas

zhaixing 1632

5G 模组 FM650 USB模式查询及网络配置

完成以上配置后,5G模组可进行搜网,入网成功后,上位机获取 5G IP。

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 1323

SaltStack简单介绍及部署

SaltStack简单介绍及部署 什么是 Ansible? Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。主要包括: (1) 连接插件connection plugins:负责和被监控端实现通信; (2) host

YSTWD_WY的博客 463

JEDEC 标准半导体功率循环热阻测试(JESD51 系列)

【代码】JEDEC 标准半导体功率循环热阻测试(JESD51 系列)

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 467

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Linux-saltstack-1 saltstack的安装与基本配置

文章目录一、环境介绍二、安装saltstack1.配置安装yum源2.安装salt-master3.安装slat-minion三、配置salt-master1.指定master的地址2.在master上启动minion四、配置salt-minion1.指定master IP2.在minion上启动minion五、启动master1.查看所有客户端发送给服务器端的公钥2.接受客户端口发来的公钥六、测试通信 一、环境介绍 系统版本 IP地址 主机名 角色 centos7.5 192.168.1.

借风拥你 1778

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SaltStack安装

SaltStack介绍 1.1 自动化运维工具 作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。 常用的自动化运维工具有: puppet ansible saltstack 此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的自动化运维工具是ansible和saltstack。其中ansible无需安装客户端,这是其最大的优

yanghx2的博客 1204

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ansible和saltstack安装和简单操作

Ansible 是一种简单而强大的自动化工具,主要用于配置管理、应用部署和任务执行。它由 Michael DeHaan 于 2012 年创建,并于 2015 年被 Red Hat 收购。Ansible 的目标是提供一种易于使用且无需复杂架构的自动化解决方案。

ZZZCY2003的博客 1741

持续集成交付CICD:CentOS 7 安装SaltStack

SaltStack是基于python开发的一套C/S自动化运维工具,通信采用了zeromq消息队列的(pub/sub),数据传输采用了AES(高级加密)保证安全性,认证采用了SSL方式。(1)运行以下命令来安装 SaltStack 存储库和密钥。(1)运行以下命令来安装 SaltStack 存储库和密钥。(2)运行以下命令来安装 SaltStack 存储库和密钥。(3)再次查看minion列表。(6) 开机自启服务。(6) 查看服务状态。(6) 查看服务状态。(7) 查看服务状态。(2)接受所有key。

cronaldo91的博客 1321

SaltStack介绍及安装

1.SaltStack介绍 SaltStack作用于仆从和主拓扑。SaltStack与特定的命令结合使用可以在一个或多个下属执行。实现这一点,此时Salt Master可以发出命令,如salt ‘*’ cmd.run ‘ls -l /’。 除了运行远程命令,SaltStack允许管理员使用“grain”。grain可以在SaltStack仆从运行远程查询,因此收集仆从的状态信息并允许管理员在一个中央位置存储信息。SaltStack也可以帮助管理员定义目标系统上的期望状态。这些状态在应用时会用到.sls文件,

lnsistw的博客 363

CentOS 7 下 Saltstack 的安装和基本使用

centos7下saltstack的安装和基本使用

运维狗的备忘录 1149

saltstack安装部署

入职新公司后,需要管理近千台服务器,公司使用saltstack进行管理,出于工作需求,结合自身实施经验,整理了一下最近的一些经验。

虔诚的教徒 908

saltstack的介绍和安装配置

grains的信息并不是动态的,并不会时时变更,它只是在minion启动时收集到的。vim/srv/salt/apache.slsapache-servicepkg.installed-names#如果只有一个服务,那么就可以写成–namehttpd不用再换一行-httpd-httpd-develservice.running-namehttpd-enableTrue#注意apache-service是自定义的id名。...

vecloud的博客 489

SaltStack简介

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集...

Nicholas的专栏 1万+

SaltStack

Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯主要功能:远程执行。

myneth的博客 1348
上一篇: 8.zabbix学习笔记:zabbix实现网络发现
下一篇: 9.数据结构之二叉树
linux_player_c
博客等级 码龄13年 214粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值