RabbitMQ和EMQ安装指南

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37051001/article/details/79324658

RabbitMQ、EMQ、VerneMQ安装指南

一、Erlang配置
1 下载
wgethttp://www.erlang.org/download/otp_src_18.0.tar.gz
2 解压
tar xvf otp_src_18.0.tar.gz
3 cd otp_src_18.0
4编译安装
./configure –prefix= /opt/erlang
5 error: No curses library functions found
6 error: Unable to locate package ncurses-devel
7 apt install libncurses-dev
8 apt install nucrses-devel
9 apt install curses
10 make
11 make install (make clean)
12 cd /opt/erlang
13 测试erlang
erl (Erlang/OTP-R18)
14 修改/etc/profile文件,增加下面的环境变量
#set erlang environment
export PATH=$PATH:/opt/erlang/bin
17 source profile
18 error: No Java compiler found
19 ./configure –prefix=/otp/erlang –without-javac

二、安装simplejson
1 apt install xmlto
2 apt install python-simplejson

二、RabbitMQ安装
1 下载
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/ rabbitmq-server-generic-unix-3.6.9.tar.xz
2 解压
tar xvf rabbitmq-server-generic-unix-3.6.9.tar.xz
3 控制台方式启动rabbitmq
cd /rabbitmq/sbin
./rabbitmq-server start
4安装rabbitmq网页管理插件
cd /usr/local/rabbitmq/sbin/
./rabbitmq-plugins enable rabbitmq_management
5 查看rabbitmq运行节点
ps -aux|grep rabbit
6关闭rabbitmq
ctrl + C
7 控制台方式启动
./rabbitmq-server -detached
8 关掉rabbitmq
./rabbitmqctl stop
9 查看1883
netstat -apn | grep 1883
kill -9 5472
10 设置用户为管理员,给用户权限
You must add a rabbitmq user,
rabbitmqctl add_user username password
set administrator
rabbitmqctl set_user_tags tonyg administrator
control your user
rabbitmqctl list_users
add vhost
rabbitmqctl add_vhost test
user vhost permissions
rabbitmqctl set_permissions -p / username “.” “.” “.*”

三、RabbitMQ分布集群部署
1 RabbitMQ分布集群
1.1 配置hostname
vi /etc/hosts
192.168.1.145 @kenan-virtual-machine
192.168.1.70 @emqtt-virtual-machine
将127.0.0.1注释
1.2 确保两台机器的cookie一致
vim ~/.erlang.cookie
CIGNIVYGDFKJXFTDROTI (cookies)
1.3 创建cluster
./rabbitmqctl stop_app
./rabbitmqctl join_cluster –ram rabbit@emqtt-virtual-machine
./rabbitmqctl start_app
1.4查看集群状态
./rabbitmqctl cluster_status

2 扩展插件
2.1 启动mqtt插件
./rabbitmq-plugins enable rabbitmq_mqtt (1883)
./rabbitmqctl stop_app
./rabbitmqctl reset
./rabbitmqctl start_app
3 测试
3.1 AMQP (5672)
3.1.1 安装pika
vim /hk/code subrabbitmq.py
https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/python/receive_log.py

vim /hk/code/pubrabbitmq.py
https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/python/emit_log.py

3.1.2 执行python文件
python subrabbitmq.py
python pubrabbitmq.py

3.2 MQTT (1883)
3.2.1 安装paho-mqtt
pip install paho-mqtt
3.2.2 pub/sub
pub.py
import paho.mqtt.publish as publish
publish.single(“paho/test/single”, “boo”, hostname=”test.mosquitto.org”)

sub.py
import paho.mqtt.client as mqtt
mqttc.connect(“m2m.eclipse.org”, 1883, 60)
mqttc.subscribe(“$SYS/#”, 0)

四、EMQ源码安装
NOTICE: Requires Erlang/OTP R18+ to build.( Erlang/OTP-R18.3)
1 下载
git clone https://github.com/emqtt/emq-relx.git
2 编译成功后,可执行程序包在目录
cd emq-relx && make
3 控制台启动编译的emqttd程序包
cd _rel/emqttd && ./bin/emqttd console
4 控制台URL: http:://127.0.0.1:18083/ ,默认登录用户名: admin, 密码: public
5 EMQ 2.0消息服务器详细设置,粘贴代码到/etc/init.d/emqttd
vim /etc/init.d/emqttd


#!/bin/sh
#
# emqttd       Startup script for emqttd.
#
# chkconfig: 2345 90 10
# description: emqttd is mqtt broker.

# source function library
. /etc/rc.d/init.d/functions

# export HOME=/root

start() {
    echo "starting emqttd..."
    cd /opt/emqttd && ./bin/emqttd start
}

stop() {
    echo "stopping emqttd..."
    cd /opt/emqttd && ./bin/emqttd stop
}

restart() {
    stop
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
        RETVAL=2
esac

5 chkconfig:
chmod +x /etc/init.d/emqttd
chkconfig –add emqttd
chkconfig –list
6 chkconfig: command not found
apt install sysv-rc-conf
sysv-rc-conf emqttd
sysv-rc-conf –list
7 boot test
cd /emq-relx/_rel/emqttd/bin
./emqttd start

五、EMQ分布集群部署
1 EMQ 2.0 配置文件
cd /_rel/emqttd/etc
vim emq.conf
cd plugins
vim emq_auth_clientid.conf

2 分布集群
2.1 修改节点名
vim emq.conf
node.name = [email protected] (emqttd1)
node.name = [email protected] (emqttd2)
2.2启动emqttd1
cd /_rel/emqttd/etc/bin
./emqttd start
2.3 emqttd2节点与emqttd1集群
./emqttd_ctl cluster join [email protected] (emqttd1)
2.4 任意节点目录下查询集群状态
./emqttd_ctl cluster status
2.5集群消息路由测试
# emqttd1节点上订阅x
mosquitto_sub -t x -q 1 -p 1883
# emqttd2节点上向x发布消息
mosquitto_pub -t x -q 1 -p 1883 -m hello
emqttd1收到hello
2.6 mosquitto安装
apt install mosquitto-clients
2.7 emqttd2节点离开集群
./ emqttd_ctl cluster leave
2.8 emqttd1节点下删除emqttd2
./emqttd_ctl cluster remove [email protected]

3扩展插件
3.1 加载插件
./bin/emqttd_ctl plugins load emq_sn
3.2 卸载插件
./bin/emqttd_ctl plugins unload emq_sn
3.3 查询查件
./bin/emqttd_ctl plugins list
3.4 Node ‘[email protected]’ not responding to pings.
./bin/emqttd console

六、VerneMQ源码安装
1 下载
git clone git://github.com/erlio/vernemq.git
2 编译成功后,可执行程序包在目录
cd vernemq
make rel
Hook for compile failed!
recipe for target ‘rel’ failed
解决方案:http://www.ntex.tw/wordpress/2837.html

3 二进制版本安装
sudo dpkg -i vernemq_1.0.1-1_amd64.deb
4 验证是否安装成功
dpkg -s vernemq | grep Status
5 激活VerneMQ节点
cd /hk/install_pack/vernemq/_build/default/rel/vernemq/bin
./vernemq start
6 默认目录和路径
/usr/sbin/vernemq the vernemq and vmq-admin commands
/usr/lib/vernemq the vernemq package
/etc/vernemq the vernemq.conf file
/usr/share/vernemq the internal vernemq schema files
/var/lib/vernemq the vernemq data dirs for LevelDB (Metadata Store and Message Store)
7 启动vernemq节点
./vernemq start
8 启动vernemq控制台
./vernemq console
9 可以使用vernemq ping命令检查它是否正在运行
./vernemq ping
七、VerneMQ分布集群部署
1 VerneMQ分布集群
1.1 修改节点名
cd /hk/install_pack/vernemq/_build/default/rel/vernemq/etc
vim vernemq.conf
node.name = [email protected] (VerneMQ1)
node.name = [email protected] (VerneMQ2)
1.2启动VerneMQ1
cd /usr/sbin
./vernemq start
1.3 VerneMQ2节点与VerneMQ1集群 (VerneMQ1)
vmq-admin cluster join [email protected]
1.4获取集群状态信息
vmq-admin cluster show
1.5集群消息路由测试
# emqttd1节点上订阅x
mosquitto_sub -t x -q 1 -p 1883
# emqttd2节点上向x发布消息
mosquitto_pub -t x -q 1 -p 1883 -m hello
emqttd1收到hello
1.6 mosquitto安装
apt install mosquitto-clients
1.7 VerneMQ2节点离开集群
vmq-admin cluster leave [email protected]

2扩展插件
2.1 加载插件
vmq-admin plugin enable –name=vmq_acl
2.2 卸载插件
vmq-admin plugin disable –name=vmq_acl
2.3 查询查件
vmq-admin plugin show

3 LIVE ADMINISTRATION
3.1 设置任意集群节点的值
vmq-admin set max_client_id_size=45 –[email protected]
3.2 对于所有群集节点
vmq-admin show max_client_id_size retry_interval –all
3.3 开始一个新的听众
vmq-admin listener start address=192.168.1.50 port=1883
3.4停止听众
vmq-admin listener stop address=192.168.1.50 port=1883
3.5所有听众的状态
vmq-admin listener show

猜你喜欢

转载自blog.csdn.net/qq_37051001/article/details/79324658