用户名:quenlang 文章数:15 评论数:21
访问量:9203:482:278:2 注册日期:2012-04-10
之前写过一片博文介绍了saltstack的安装配置,由于最近忙着办理离职,就没有更新了,对不起自己,说好的要坚持下去的。这篇博文准备记录一下saltstack作为文件服务器,从master向minions分发文件的功能。我们知道,类似于hadoop、hbase、zookeeper这些与分布式系统相关的组件在安装配置的时候,往往是一个节点上修改好配置文件后,然后用scp远程拷贝到其他节点上去,如果你有10个节点的话,那么同一条远程拷贝的命令需要执行多次,显然不是一个好办法。那么问题来了,自动化运维之远程分发文件到底哪家强?哈哈,自然是神器saltstack啦!我们需要借助saltstack来实现从master端向minions推送文件的需求。
Saltstack内置了一个简单的文件服务器用于master分发文件给minions,这个文件服务器是基于zeroMQ消息队列实现的,客户端对文件服务器的操作全部封装在了cp这个模块中。
首先看环境:
hadoop0.updb.com192.168.0.100OS:CentOS 6.5Role:master
uadoop2.updb.com192.168.0.202OS:CentOS 6.5Role:minion
uadoop3.updb.com192.168.0.203 OS:CentOS 6.5Role:minion
在开始saltstack的配置管理之前,要首先指定saltstack所有状态文件的根目录,在master上做如下操作
##首先修改master的配置文件,指定根目录,注意缩进全部使用两个空格来代替Tab(python规范) [root@hadoop0~]#vi/etc/salt/master ##确定指定的目录是否存在,如果不存在,需要手动来创建目录 [root@hadoop0~]#ls/srv/salt/-ld drwxr-xr-x2rootroot4096Nov623:54/srv/salt/ [root@hadoop0~]#ls/srv/salt/dev/-ld drwxr-xr-x2rootroot4096Nov700:36/srv/salt/dev/ [root@hadoop0~]#/etc/init.d/salt-masterrestart Stoppingsalt-masterdaemon:[OK] Startingsalt-masterdaemon:[OK] |
首先介绍cp.get_file,用来从master端下载文件到minion的指定目录下,如下
##在master上创建测试用的文件 [root@hadoop0~]# echo 'thisistestfilewithmoduleofcp.get_file!' >/opt/getfile.txt ##拷贝测试文件到master配置的根目录下 [root@hadoop0~]#cp/opt/getfile.txt/srv/salt/ ##在master执行文件的分发 [root@hadoop0~]#salt 'uadoop2' cp.get_filesalt: //getfile.txt/opt/getfile.txt /opt/getfile.txt ##分发成功,在minion上查看文件是否已经发送到uadoop2上了 [root@uadoop2~]#cat/opt/getfile.txt thisistestfilewithmoduleofcp.get_file! |
使用cp.get_file进行文件的分发时时也可以指定是否对分发的文件进行压缩,如下
##使用gzip的方式进行压缩,数字越大,压缩率就越高,9代表最大的压缩率 [root@hadoop0~]#salt 'uadoop2' cp.get_filesalt: //getfile.txt/opt/getfile.txtgzip=9 /opt/getfile.txt ##分发成功,在minion上查看文件是否已经发送到uadoop2上了 [root@uadoop2~]#cat/opt/getfile.txt thisistestfilewithmoduleofcp.get_file! |
当minion上的目标目录不存在时,可以使用makedirs参数来创建目标目录,如下
[root@hadoop0~]#salt 'uadoop2' cp.get_filesalt: //getfile.txt/opt/test/getfile.txtmakedirs=True /opt/test/getfile.txt ##分发成功,在minion上查看文件是否已经发送到uadoop2上了 [root@uadoop2~]#cat/opt/test/getfile.txt thisistestfilewithmoduleofcp.get_file! |
在开始下一个示例之前,先介绍一下grains,这个接口的作用是在minion端的minion服务启动时,调用这个接口,收集minion端的信息,这些信息数据可以在salt的其他模块中直接使用,需要注意的是,这个接口只在minion端的minion服务启动时被调用一次,所以收集的数据是静态的,不会改变的,除非你重启了minion端的服务,关于这点,官方文档是这样说明的:
GrainsStaticbitsofinformationthataminioncollectsaboutthesystemwhentheminionfirststarts. Thegrains interface ismadeavailabletoSaltmodules and componentssothattherightsaltminioncommandsare automaticallyavailableontherightsystems. linux系统优化加固 阅读原文» 每日博报 精彩不止一点 linux系统优化加固 本文系统:
优化一、/etc/security/limits.conf 优化二、/etc/sysctl.conf 1、/etc/security/limits.conf limits.conf的后端是这样工作的:limits.conf是pam_limits.so的配置文件,然后/etc/pam.d/下的应用程序调 用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个 对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。 Tips:当用户登录主机,会调用pam_limits.so
1.1、 pam_limits.so模块的主要功能是限制用户会话过程中对各种系统资源的使用情况。缺省情况下该模块的配置文件是/etc/security/limits.conf。而该配置文件的基本格式实际上是由4个字段组成的表,其中具体限制格式:
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。 type:有 soft,hard 和 -, soft 指的是当前系统生效的设置值。 hard 表明系统中所能设定的最大值。 soft 的限制不能比har 限制高。 用 - 就表明同时设置了 soft 和 hard 的值。 resource: - core - 限制内核文件的大小 - msgqueue - postfix消息队列最大内存使用空间 Tips: 1.2、主机参考配置:
|
没有评论:
发表评论