mcollective+rabbitmq整合 附上详细配置文件

Mcollective介绍

MCollective 是一个构建服务器编排(Server Orchestration)和并行工作执行系统的框架。
首先,MCollective 是一种针对服务器集群进行可编程控制的系统管理解决方案。在这一点上,它的功能类似:Func,Fabric 和 Capistrano。

其次,MCollective 的设计打破基于中心存储式系统和像 SSH 这样的工具,不再仅仅痴迷于 SSH 的 For 循环。它使用发布订阅中间件(Publish Subscribe Middleware)这样的现代化 工具和通过目标数据(meta data)而不是主机名(hostnames)来实时发现网络资源这样的现代化理念。提供了一个可扩展的而且迅速的并行执行环境。

MCollective 工具为命令行界面,但它可与数千个应用实例进行通信,而且传输速度惊人。无论部署的实例位于什么位置,通信都能以线速进行传输,使用的是一个类似多路传送的推送信息系统。MCollective 工具没有可视化用户界面,用户只能通过检索来获取需要应用的实例。Puppet Dashboard 提供有这部分功能。

废话不多说,直接开整:

我的实验环境 :控制端为192.168.1.210  服务端为:192.168.1.246

#yum安装rabbitmq

yum install rabbitmq-server erlang -y

/etc/rc.d/init.d/rabbitmq-server start

netstat -nlp | grep beam #默认监听端口为5672

####配置RabbitMQ

ln -s /usr/lib/rabbitmq/lib/rabbitmq_server-3.1.5/sbin/rabbitmq-plugins /usr/sbin/rabbitmq-plugins #创建命令rabbitmq-plugins的软连接

ln -s /usr/lib/rabbitmq/lib/rabbitmq_server-3.1.5/sbin/rabbitmq-env /usr/sbin/rabbitmq-env #创建命令rabbitmq-env的软连接

rabbitmq-plugins enable rabbitmq_stomp #开启rabbitmq_stomp插件

/etc/rc.d/init.d/rabbitmq-server restart ##重启rabbitmq-server服务

####创建rabbitmq.config配置文件,修改监听stomp端口为61613

vi /etc/rabbitmq/rabitmq.config

[

     {stomp,[ {tcp_listeners, [61613]} ]} #设置connector为stomp,监听端口为61613

].

##注意:

rabbitmqadmin 这个是插件扩展命令

需要启用rabbitmq插件:

##必须先启用这条命令后续才可以执行:

rabbitmq-plugins enable rabbitmq_management

/etc/init.d/rabbitmq-server restart

 wget http://192.168.1.210:15672/cli/rabbitmqadmin

chmod +x rabbitmqadmin

cp  rabbitmqadmin /usr/sbin/

cp  rabbitmqadmin /usr/bin/


##创建用户和权限

rabbitmqadmin declare vhost name=/mcollective

rabbitmqadmin declare user name=mcollective password=changeme tags=

rabbitmqadmin declare user name=admin password=changeme tags=administrator

rabbitmqadmin declare permission vhost=/mcollective user=mcollective configure='.*' write='.*' read='.*'

rabbitmqadmin declare permission vhost=/mcollective user=admin configure='.*' write='.*' read='.*'


##执行exchange


for collective in mcollective ; do

  rabbitmqadmin declare exchange --user=admin --password=changeme --vhost=/mcollective name=${collective}_broadcast type=topic

  rabbitmqadmin declare exchange --user=admin --password=changeme --vhost=/mcollective name=${collective}_directed type=direct

done



##安装MCollective

安装MCollective客户端即为我们的控制端

yum install mcollective-common  mcollective-client

安装完成之后配置client.cfg

用例建附件


###安装MCollective服务端

yum install mcollective  mcollective-common

安装完成之后配置server.cfg

用例建附件

/etc/rc.d/init.d/mcollective start ##启动服务

####测试Mcollective与Middleware通信

mco ping



报错1:

I, [2016-07-20T03:23:37.305318 #129052]  INFO -- : rabbitmq.rb:10:in `on_connecting' TCP Connection attempt 0 to stomp://mcollective1@192.168.1.252:61613

I, [2016-07-20T03:23:37.307981 #129052]  INFO -- : rabbitmq.rb:15:in `on_connected' Connected to stomp://mcollective1@192.168.1.252:61613

W, [2016-07-20T03:23:37.310157 #129052]  WARN -- : runner.rb:199:in `receiver_thread' Received frame of type 'ERROR' expected 'MESSAGE'

I, [2016-07-20T03:23:37.310245 #129052]  INFO -- : runner.rb:201:in `receiver_thread' sleeping for suggested 30.0 seconds

解决:

rabbitmq 的权限 按照上面配置 创建虚拟vhost。不要配置stomp


附件:http://down.51cto.com/data/2367939

本文转自  674591788  51CTO博客,原文链接:http://blog.51cto.com/mrdeng/1827869

上一篇:从零开始配置MySQL MMM (续)——32bit CentOS 5上遇到的一些问题


下一篇:nginx lua redis解决saltstack下发传输文件慢的问题思路