Centos7.2 搭建emqttd集群,添加自启动服务
关闭防火墙(可选):
systemctl stop firewalld.service
1.安装依赖库
> sudo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
2.获取源码包
> wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
3.解压、编译、安装
> tar xfvz otp_src_R13B04.tar.gz
> cd otp_src_R13B04/
> ./configure --with-ssl
> make install
4.可能遇到的错误
http://blog.csdn.net/laughing_cui/article/details/53322790
5.emqttd程序包下载
Debian http://emqtt.com/downloads/latest/debian
Ubuntu http://emqtt.com/downloads/latest/ubuntu
CentOS http://emqtt.com/downloads/latest/centos
FreeBSD http://emqtt.com/downloads/latest/freebsd
Mac OS X http://emqtt.com/downloads/latest/macosx
Windows http://emqtt.com/downloads/latest/windows
6.Linux服务器安装(以Centos为例)
wget http://emqtt.com/docs/v2/install.html#linux
1、解压缩包(可以官网下载)
> unzip emqttd-centos64-1.1-beta-20160601.zip
2、控制台调试模式启动,检查emqttd是否可正常启动:
> vim /opt/emqttd/etc/emq.conf
修改node.name = emqttd@172.30.60.3
> cd /opt/emqttd
> ./bin/emqttd console
emqttd消息服务器如启动正常,控制台输出:
starting emqttd on node 'emqttd@127.0.0.1'
emqttd ctl is starting...[done]
emqttd trace is starting...[done]
emqttd pubsub is starting...[done]
emqttd stats is starting...[done]
emqttd metrics is starting...[done]
emqttd retainer is starting...[done]
emqttd pooler is starting...[done]
emqttd client manager is starting...[done]
emqttd session manager is starting...[done]
emqttd session supervisor is starting...[done]
emqttd broker is starting...[done]
emqttd alarm is starting...[done]
emqttd mod supervisor is starting...[done]
emqttd bridge supervisor is starting...[done]
emqttd access control is starting...[done]
emqttd system monitor is starting...[done]
http listen on 0.0.0.0:18083 with 4 acceptors.
mqtt listen on 0.0.0.0:1883 with 16 acceptors.
mqtts listen on 0.0.0.0:8883 with 4 acceptors.
http listen on 0.0.0.0:8083 with 4 acceptors.
Erlang MQTT Broker 1.1 is running now
Eshell V6.4 (abort with ^G)
(emqttd@127.0.0.1)1>
CTRL+c关闭控制台。守护进程模式启动:
> ./bin/emqttd start
emqttd消息服务器进程状态查询:
> ./bin/emqttd_ctl status
正常运行状态,查询命令返回:
Node 'emqttd@127.0.0.1' is started
emqttd 1.1 is running
部署好EMQ之后,访问URL地址:http://172.30.60.3:18083 ,缺省用户名/密码: admin/public
停止服务器:
> ./bin/emqttd stop
节点加入集群(有两种集群添加方式:IP(推荐)和主机域名):
主机域名举例:
首先修改主机名,加入主机名.域名
vim /etc/hosts
例如:
127.0.0.1 s1 s1.emqtt.io
172.30.60.30 s1 s1.emqtt.io(第一台)
172.30.60.37 s2 s2.emqtt.io(第二台)
172.30.60.22 s3 s3.emqtt.io(第三台)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
然后修改配置文件emq.conf
node.name=emq@主机名.域名
然后启动emqttd
emqttd>bin/emqttd start
最后节点加入集群
emqttd>./bin/emqttd_ctl cluster join emqttd@s1.emqtt.io
查看集群状态
emqttd>./bin/emqttd_ctl cluster status
节点退出集群:
./bin/emqttd_ctl cluster leave
或emqttd@s1.emqtt.io节点上,从集群删除emqttd@s2.emqtt.io节点:
./bin/emqttd_ctl cluster remove emqttd@s2.emqtt.io
emqttd开机自启动:
在此目录下面新建文件emqttd.service
vim /usr/lib/systemd/system/emqttd.service
加入配置文件
[Unit]
Description=emqttdapi
After=network.target
[Service]
Type=forking
Environment=HOME=/opt/emqttd
ExecStart=/opt/emqttd/bin/emqttd start
ExecReload=/opt/emqttd/bin/emqttd reboot
ExecStop=/opt/emqttd/bin/emqttd stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
最后执行命令
systemctl enable emqttd.service
集群间需要开端口:监听端口、配置文件emq.conf里面的端口区间、4369端口
(可参考官方文档)
Centos7.2 搭建emqttd集群,添加自启动服务的更多相关文章
- linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法
问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...
- Centos7上搭建activemq集群和zookeeper集群
Zookeeper集群的搭建 1.环境准备 Zookeeper版本:3.4.10. 三台服务器: IP 端口 通信端口 10.233.17.6 2181 2888,3888 10.233.17.7 2 ...
- centos7 快速搭建redis集群环境
本文主要是记录一下快速搭建redis集群环境的方式. 环境简介:centos 7 + redis-3.2.4 本次用两个服务6个节点来搭建:192.168.116.120 和 192.168.1 ...
- 在CentOS7中搭建Zookeeper集群
前几天装了CentOS7.并安装了一些基本的工具,现在我手上有三台机器:分别是master,slave1,slave2. 今天我将搭建zookeeper,使用的版本是zookeeper-3.4.11. ...
- centos7上搭建zookeeper集群
1.下载zookeeper http://www.apache.org/dyn/closer.cgi/zookeeper/ 可以登录这个网站下载,然后上传到 centos上 修改成自己需要的版本 , ...
- CentOs7.3 搭建 SolrCloud 集群服务
一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机Master-Slaver方式.C ...
- 02.centos7上搭建hadoop集群
接上一篇 https://www.cnblogs.com/yjm0330/p/10069224.html 一.准备工作:无密登陆 1.编辑/etc/hosts文件,分别增加 192.168.2.24 ...
- 使用Docker搭建consul集群+registrator实现服务自动注册。
准备工作:10.173.16.83 master10.172.178.76 node110.171.19.139 node210.162.204.252 node3 一.安装consul-cluste ...
- Centos7环境下etcd集群的搭建
Centos7环境下etcd集群的搭建 一.简介 "A highly-available key value store for shared configuration and servi ...
随机推荐
- 低级键盘钩子,在WIN7以上版本的问题
最近在项目用到低级键盘钩子.发现一个很奇怪的事情,在开发环境和测试环境下都正常运行的键盘钩子, 到了现场环境,总是偶发性出现 键盘钩子不能用了,而且退出时产生1404 错误. 后经过阅读MSDN 的R ...
- Jmeter - 命令行参数
同步更新至个人博客:https://njlife.top/2019/07/12/Jmeter-%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0/ Jmeter ...
- 一个线程相关的高CPU占用问题的定位
最近在重构项目代码时,发现两个线程同时访问一个加锁的std::list队列时,会出现恶性竞争锁的现象. 具体现象是A线程总是拿不到锁,B线程抢占几次后,A才抢占到. 由于是重构项目,也无法通过回滚代码 ...
- Oracle 11 安装 提示环境不满足最低要求解决方案
在 Oracle 安装包 中,找到 stage 文件夹 切入,再找到 cvu 文件夹,找到 cvu_prereq.xml 文件 ,进行编辑 新增 这一块内容. <OPERATING_SYSTEM ...
- python3 scrapy爬虫项目的诞生
前提安装好scrapy模块最好 requests和bs4模块都安装好 可以概括为五个步骤 步骤一:新建一个项目 无论你用windows也好,linux也罢,在cmd或者终端 切换到目标文件夹,然后输入 ...
- mongodb命令---花样查询语句
闲言少叙 查出价格低于200的商品信息----包含商品名称,货物编号,价格,添加信息等 db.goods.find( {}}, {,,,} ) 商品分类不为3的商品 db.goods.find( {} ...
- Bootstrap-轮播图-No.6
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- python函数参数的传递、带星号参数的传递
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...
- PHP mysqli_next_result() 函数
定义和用法 mysqli_next_result() 函数为 mysqli_multi_query() 准备下一个结果集. 语法 mysqli_next_result(connection); 执 ...
- ActiveMQ介绍
一.背景 中间件 由于业务的不同.技术的发展.硬件和软件的选择有所差别,导致了异构组件或应用并存的局面.要使这些异构的组件协同工作,一个有效的方式就是提供一个允许它们进行通信的层,该层即为中间件. 在 ...