Centos7mqttクラスターのインストール

データベースを準備する

create database mqtt;
use mqtt;

SET FOREIGN_KEY_CHECKS=0;-------------------------------- Table structure for mqtt_acl
------------------------------
DROP TABLE IF EXISTS `mqtt_acl`;
CREATE TABLE `mqtt_acl`(`id`int(11) unsigned NOT NULL AUTO_INCREMENT,`allow`int(1) DEFAULT NULL COMMENT '0: deny, 1: allow',`ipaddr`varchar(60) DEFAULT NULL COMMENT 'IpAddress',`username`varchar(100) DEFAULT NULL COMMENT 'Username',`clientid`varchar(100) DEFAULT NULL COMMENT 'ClientId',`access`int(2) NOT NULL COMMENT '1: subscribe, 2: publish, 3: pubsub',`topic`varchar(100) NOT NULL DEFAULT '' COMMENT 'Topic Filter',
 PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-------------------------------- Table structure for mqtt_user
------------------------------
DROP TABLE IF EXISTS `mqtt_user`;
CREATE TABLE `mqtt_user`(`id`int(11) unsigned NOT NULL AUTO_INCREMENT,`username`varchar(100) DEFAULT NULL,`password` blob,`salt` blob,`is_superuser`tinyint(1) DEFAULT '0',`created` datetime DEFAULT NULL,
 PRIMARY KEY(`id`),
 UNIQUE KEY `mqtt_username`(`username`)) ENGINE=InnoDB AUTO_INCREMENT=643 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;3つのノードすべてが、次の手順を実行してインストールします

インストールの依存関係:
yum install lksctp-tools -y

emqttをダウンロードします。
https://www.emqx.io/downloads/broker/v2.2.0/emqttd-centos7-v2.2.0.el7.centos.x86_64.rpm

# インストール
rpm -ivh --force emqttd-centos7-v2.2.0.el7.centos.x86_64.rpm

# 127を置き換えます.0.0.1は現在のノードの実際のIPです
sed -i 's$node.name = [email protected]$node.name = [email protected]$g'/etc/emqttd/emq.conf

### mysqlプラグイン構成を変更します(データベース接続情報を置き換えるように注意してください)
sed -i 's$auth.mysql.server = 127.0.0.1:3306$auth.mysql.server = 192.168.6.125:23306$'/etc/emqttd/plugins/emq_auth_mysql.conf
sed -i 's$auth.mysql.pool = 8$auth.mysql.pool = 50$g'/etc/emqttd/plugins/emq_auth_mysql.conf
sed -i 's$## auth.mysql.username =$auth.mysql.username=root$g'/etc/emqttd/plugins/emq_auth_mysql.conf
sed -i 's$## auth.mysql.password =$auth.mysql.password=xiaoWEI0923!$g'/etc/emqttd/plugins/emq_auth_mysql.conf
sed -i 's$select password from mqtt_user$select password,salt from mqtt_user$g'/etc/emqttd/plugins/emq_auth_mysql.conf
sed -i 's$auth.mysql.password_hash = sha256$auth.mysql.password_hash = md5 salt$g'/etc/emqttd/plugins/emq_auth_mysql.conf

### 開始して確認する
# emqttをセルフスタートに設定します
systemctl enable emqttd.service
# emqttを開始します
systemctl start emqttd

# 試験
systemctl statusemqttdまたはnetstat-tlnp |grep 1883、次の内容が印刷されている場合、サービスが開始され、1883が監視されていることを証明します
tcp        00127.0.0.1:118830.0.0.0:*               LISTEN      21579/beam.smp      
tcp        000.0.0.0:18830.0.0.0:*               LISTEN      21579/beam.smp 

# mysql認証をロードします
emqttd_ctl plugins load emq_auth_mysql

# emqttを再起動します
systemctl restart emqttd

ブラウザでhttpを開く://現在の展開ノードip:18083/#/plugins
アカウント:管理者
パスワード:パブリック
emqを確認する_auth_mysqlプラグインは実行状態です
クラスターを作成する

上にmqttがインストールされているサーバーがそれぞれnode1、node2、node3であるとすると、次のようになります。
node2で実行:emqttd_ctl cluster join emqttd@node1のip
node3で実行:emqttd_ctl cluster join emqttd@node2 ip

# クラスターが正常に作成されたことを確認します
emqttd_ctl cluster status
running_次のように、すべてのノードIPがノードに含まれます。
Cluster status:[{running_nodes,['[email protected]','[email protected]','[email protected]']}]

回復

エンドポイントまたはその他の理由でクラスターに障害が発生した場合は、クラスター内にないノードを停止し、関連ファイルを削除して、クラスターに再度参加します。

systemctl stop emqttd
rm -Rf /var/lib/emqttd/mnesia/*
systemctl start emqttd
emqttd_ctl cluster join emqttd@ノードIP

Recommended Posts

Centos7mqttクラスターのインストール
Centos7へのGlusterfsクラスターのインストール
CentOSでのRedisクラスターのインストール
CentOS 7 GaleraClusterインストールガイド
CentOSでのRedisクラスターのインストール
2019-07-09CentOS7のインストール
centos7_1708のインストール
Centos7hadoopクラスターのインストールと構成
Centos5インストールガイド
Python-centos6のインストール
Dockerのインストール(CentOS7のインストール)
CentOS7ドッカーのインストール
(1)クラスター環境を構築するためのCentos7のインストール
CentOSオンラインインストールRabbitMQ3.7
CentOS7.3.1611はk8s1.5.2クラスターを展開します
Centos6.9ビルドrabbitmq3.6.8クラスター
CentOS6インストールcouchdb2クラスター
ランプ(centos7)設置ランプ環境
CentOS6.8はzookeeperクラスターを展開します
Centos7ビルドKubernetesクラスター
CentOS8のグラフィカルインストール
Mysql8.0.15インストール構成(centos7)
Linuxノート(1):CentOS-7のインストール
Centos7でのRedis3のインストール
CentOSクラスター関連の問題
Centos7はKubernetesクラスターを展開します
CentOSオンラインインストールRabbitMQ3.7
CentOS7はk8sクラスターを展開します
DockerCentOSのインストール方法
Linux CentOS7インストールチュートリアル
Centos7dockerのインストールの詳細
Discourse CentOS8の新しいインストールマニュアル
Centos7ミニインストールプロセスの記録
Centosmysqlのインストールと構成
Centos7.4デプロイメント構成Elasticsearch5.6クラスター
CentOS7インストールrabbitmqクラスター(バイナリ)
Centos7.2 /7.3クラスターインストールKubernetes1.8.4 +ダッシュボード
CentOS7のインストールと構成PPTP
CentOSのインストールと構成cmake
Centos7.5のインストールと構成MongoDB4.0.4
CentOS7のインストールと構成PPTP
Hyper-V + CentOS7インストールビデオチュートリアル
centos7kvmのインストールと使用
Oracle11gのCentos7サイレントインストール
CentOS6.8仮想マシンのインストールの詳細
CentOS7postgresqlのインストールと使用
DockerのCentOS環境インストール
CentOs7.3ビルドSolrCloudクラスターサービス
Centos7インストールk8sクラスター1.15.0バージョン
Centos7インストールtomcatプロセスの紹介
Centos7.4環境インストールランプ-php7.0チュートリアル
centos7へのDockerEEのインストール
Discourse CentOS8の新しいインストールマニュアル
CentOS8 Linux 8.0.1905のインストールプロセス(図)
Centos7elk7.1.1のインストールと使用
Hyper-VインストールCentOS8問題の分析
Centosisoイメージファイルのインストールチュートリアル
CentOS 8(2)
Centos7のインストールは実際には非常に簡単です
ダメンデータベースチュートリアルのCentos7インストール
CentOS8インストールMariaDB詳細チュートリアル