菜鸟玩云计算之廿二: saltstack 配置

要求环境: RHEL6.4+ >=Python2.6.6, < Python 3.0

关闭salt-master/minion服务:  

# chkconfig --level 2345 salt-master off
# chkconfig --level 2345 salt-minion off

打开salt-master/minion服务:  

# chkconfig --level 2345 salt-master on
# chkconfig --level 2345 salt-minion on

1. saltstack 的主节点master配置

# mkdir /etc/salt/master.d
# vi /etc/salt/master.d/master.conf

内容如下:

######## master.conf ########
interface: 192.168.122.201
log_level: debug
worker_threads: 20
timeout: 60

2. saltstack 的从节点minion配置

# mkdir /etc/salt/minion.d
# vi /etc/salt/minion.d/minion.conf

从节点配置成失败重启。ping_interval 单位是分钟:

######## minion.conf ########
master: 192.168.122.201
id: cdh2
log_level: debug

## restart on error ##
rejected_retry: True
restart_on_error: True
auth_tries: 10
auth_safemode: False
ping_interval: 30

然后可以随意停止主节点(在master上):

# service salt-master stop

看看从节点停掉。从节点应该不停掉才是正确的(在minion上):

# service salt-minion status

salt-minion (pid  2293) is running...

3 在master上查看salt端口

master上需要打开端口:4505-4506.

# cat /etc/sysconfig/system-config-firewall
# Configuration file for system-config-firewall

--enabled
--port=4505-4506:tcp
--service=ssh

查看端口状态:

# lsof -i:4506

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

salt-mast 3189 root   20u  IPv4  22082      0t0  TCP vm-cdh1:4506 (LISTEN)

salt-mast 3189 root   22u  IPv4  25301      0t0  TCP vm-cdh1:4506->vm-cdh4:34464 (ESTABLISHED)

salt-mast 3189 root   23u  IPv4  25299      0t0  TCP vm-cdh1:4506->vm-cdh2:38810 (ESTABLISHED)

salt-mast 3189 root   24u  IPv4  25295      0t0  TCP vm-cdh1:4506->vm-cdh5:52285 (ESTABLISHED)

salt-mast 3189 root   27u  IPv4  23495      0t0  TCP vm-cdh1:4506->vm-cdh1:41074 (ESTABLISHED)

salt-mast 3189 root   31u  IPv4  25484      0t0  TCP vm-cdh1:4506->vm-cdh3:59343 (ESTABLISHED)

salt      3409 root   17u  IPv4  23494      0t0  TCP vm-cdh1:41074->vm-cdh1:4506 (ESTABLISHED)

# lsof -i:4505
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

salt-mast 3177 root   12u  IPv4  22073      0t0  TCP vm-cdh1:4505 (LISTEN)

salt-mast 3177 root   14u  IPv4  25534      0t0  TCP vm-cdh1:4505->vm-cdh5:44089 (ESTABLISHED)

salt-mast 3177 root   15u  IPv4  25536      0t0  TCP vm-cdh1:4505->vm-cdh4:47728 (ESTABLISHED)

salt-mast 3177 root   16u  IPv4  25538      0t0  TCP vm-cdh1:4505->vm-cdh2:59561 (ESTABLISHED)

salt-mast 3177 root   17u  IPv4  25660      0t0  TCP vm-cdh1:4505->vm-cdh3:34390 (ESTABLISHED)

4 在master上ssh到minion

这种方法不需要minion上安装任何salt产品,如salt-minion。通过salt-ssh命令访问子节点。好处是减少安装维护节点的代价。缺点是速度会比较慢。

master上需要安装salt-ssh。然后配置/etc/salt/roster文件如下:

# vi /etc/salt/roster

内容例子如下:

########################################################################
## the roster file on master, the default location is /etc/salt/roster
##
## Note: sudo works only if NOPASSWD is set for user in
## /etc/sudoers:
##   fred ALL=(ALL) NOPASSWD: ALL
## web1:
##  host: 192.168.122.201
##  user: fred
##  passwd: aYtdhD
##  sudo: True
########################################################################
chd1:
  host: 192.168.122.201
  user: root
  passwd: Abc123
  sudo: True

cdh2:
  host: 192.168.122.202
  user: root
  passwd: Abc123
  sudo: True

cdh3:
  host: 192.168.122.203
  user: root
  passwd: Abc123
  sudo: True

cdh4:
  host: 192.168.122.204
  user: root
  passwd: Abc123
  sudo: True

cdh5:
  host: 192.168.122.205
  user: root
  passwd: Abc123
  sudo: True

然后重启服务service salt-master restart。就可以直接返问节点了:

# salt-ssh 'cdh1' test.ping

minion上的故障排除:

当一切配置都正确, 启动minion时

# service salt-minion start

遇到错误:

salt-minion dead but pid file exists

采用debug模式查找错误:

# salt-minion -l debug

可见输出:

[CRITICAL] The Salt Master server's public key did not authenticate!
The master may need to be updated if it is a version of Salt lower than 2014.7.1, or
If you are confident that you are connecting to a valid Salt Master, then remove the master public key and restart the Salt Minion.
The master public key can be found at:

/etc/salt/pki/minion/minion_master.pub

删除下面的文件:

# rm -rf /etc/salt/pki/minion/minion_master.pub
重新启动:

# service salt-minion start

正常!

菜鸟玩云计算之廿二: saltstack 配置的更多相关文章

  1. 菜鸟玩云计算之廿一: saltstack之pillar

    菜鸟玩云计算之廿一: saltstack之pillar 参考: 点击打开链接 查看pillar数据: # salt '*' pillar.items pillar的默认根目录在:/srv/pillar ...

  2. 菜鸟玩云计算之二十:saltstack入门初步

    菜鸟玩云计算之二十 SaltStack 入门初步 0. saltstack 是什么 参考下面的文章: http://docs.saltstack.com/en/latest/topics/tutori ...

  3. 菜鸟玩云计算之十六:Ubuntu14.04上创建的虚拟机迁移到RHEL6.4

    菜鸟玩云计算之十六:Ubuntu14.04上创建的RHEL6.4虚拟机迁移到RHEL6.4主机上 RHEL6.4 Server作为虚拟机的HOST,执行以下的命令检查配置和安装相关软件: # egre ...

  4. 菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机

    菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机 chedou@hgdb.net 虚拟机给工作带来巨大的便利,不仅仅体现在资源的按需使用,而且配置的迁移特别方便.本文将使用Ubuntu ...

  5. 菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章

    菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个需要极度耐心和体力的细致工作 ...

  6. 菜鸟玩云计算之十二:KVM虚拟机更改大小

    菜鸟玩云计算之十二:KVM虚拟机更改大小 参考: http://www.missionfamilybank.org/expanding-resizing-your-qcow2-virtual-mach ...

  7. 菜鸟玩云计算之十四:克隆虚拟机及ssh登录的问题

    菜鸟玩云计算之十四:克隆虚拟机及ssh登录的问题 今天早上,我的Ubuntu12.04.3LTS Desktop提示升级,升级. 从vm-ubuntu12.04克隆出虚拟机vm-thrift: $ s ...

  8. 菜鸟玩云计算之十七:RHEL克隆虚拟机后改变网卡地址

    菜鸟玩云计算之十七:RHEL克隆虚拟机后改变网卡地址 (一)更改hostname # vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=your-vm ...

  9. 菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章

    菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章 cheungmine, 2014-10-26 在上一章中,我们准备好了计算机和软件.本章开始部署hadoop 高可用集群. 2 部署 ...

随机推荐

  1. 纪念 参与GitHub上第一个组织

    颇为起伏的一天. 今天大连的风, 甚是喧嚣. 不过,很高兴,小项目被fork了,也成功成为了一个开源贡献者. https://github.com/HostsTools 组织 上的那个Windows- ...

  2. Python 制作Android开发 所需的适配不同分辨率的套图

    使用Python做起工具来还真是爽,简单,方便,快捷.今天忙活了一下,制作出一个比较实用的小工具. 自动化套图制作,适配不同屏幕 尤其是对于android开发来说,要适配不同屏幕就需要多套切图,那么. ...

  3. Python excel 奇怪的通信规则

    直接: for i in range(1,n+1): print(i) if xls.getCell(i,1,1)=='id': res=[] xls.xlBook.Worksheets(i).Nam ...

  4. 物料REVISION控制

    --新增 INV_ITEM_REVISION_PUB.Create_Item_Revision ( p_api_version IN NUMBER , p_init_msg_list IN VARCH ...

  5. 关于ROS学习的一些反思

    距离发布上一篇ROS的博客已经过去两年了,才发现原来自己已经这么久可没有写过关于ROS的文章,想来很是惭愧.这两年时间,自己怀着程序员的梦想,研究过RTOS,探索过Linux,编写过Android应用 ...

  6. 【java虚拟机系列】JVM类加载器与ClassNotFoundException和NoClassDefFoundError

    在我们日常的项目开发中,会经常碰到ClassNotFoundException和NoClassDefFoundError这两种异常,对于经验足够的工程师而言,可能很轻松的就可以解决,但是却不一定明白为 ...

  7. 【一天一道LeetCode】#219. Contains Duplicate II

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  8. android开发之AlertDialog点击按钮之后不消失

    最近有这样一个需求,我需要用户在一个弹出框里输入密码来验证,验证成功当然好说,但是如果验证失败则需要把alertdialog的标题改为"密码错误,请重新输入",并且这个alertd ...

  9. SSH深度历险(二) Jboss+EJB的第一个实例

    学习感悟:每次学习新的知识,都会通过第一个小的实例入手,获得成就感,经典的Hello Workd实例奠定了我们成功的大门哈,这些经典的实例虽小但是五脏俱全呢,很好的理解了,Ejb的核心. 今天主要以这 ...

  10. sql中奇怪的sum(1),sum(2),count(1),count(6),count(*):统计总数

    sql的统计函数 sql统计函数有 count 统计条数,配合group用 sum 累加指定字段数值 但注意sum(1)就特殊 sum(1)等同于count(*) sum(1)统计个数,功能和coun ...