バイ Ponlakshmi
2024年以降、クラウド上で数千万ものIoTアプリケーションが稼働しています。 展開の50%以上 大規模コネクティビティとスケーラビリティを想定したクラウドベースの展開を活用します。 MQTTブローカー IoT導入の唯一のコンポーネントではありません。 Queues のようなコンポーネントはたくさんあります。 データストレージ、データ集計エンジン、AI/ML、監視ツールなど、ソリューションに必要な。 効果的なデータ収集、処理、および相互に話しているアプリケーションのミックスの管理 視覚化は、より良い、シームレスなオーケストレーションを必要とします。 Docker は、このような素晴らしいツールです。 無料およびオープンソース。
IoT展開のコアコンポーネントは、MQTTの特長 サーバー. . 同じ使い方の2つの方法があります。
ドッカーの作成を実行するこれらの方法は、いくつかの構成を除いて、はるかに似ています データストレージまたはバックエンドアプリケーションへの接続。
このセクションでは、Docker MQTT Server 環境をリレーショナルデータベースにデータストレージとして設定できます。 ubuntu ベースの展開をデプロイする例にしました。MQTTブローカーお問い合わせ しかし、これは、 他のオペレーティング システム同様に。
お問い合わせログインデータ永続目的のセクションより物理的な機械で動くため。 以下の手順に従って、MySQL を設定してください。 最初に MySQL Server をインストールする必要があります。
$ sudo apt-getアップデート
$ sudo apt-get インストール -y mysql-server-5.7
MySQL の設定を変更します。 デフォルトでは、mysql は 127.0.0.1 で実行され、ローカルのみを許可します。 接続するアプリケーション セクションやその他のマシンで実行されているアプリケーションで0.0.0.0として変更できます。 ログイン
$ gedit /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0 の
MySQL を再起動すると、変更が有効になります。
$ sudo サービス mysql 再起動
データアクセスの提供:MySQL の root ユーザはローカル マシンを読み込み、書き込むだけにアクセスできる データベースへのデータ。 ルートユーザがセクションからデータにアクセスできるようにする必要があります。 localhost から MySQL コンソールに接続し、次のクエリを実行します。
$ mysql -u ルート -pパスワードを入力してください。
mysql>グラント・オール・プライベート・オン *.* へ ‘root’@’%’ IDENTIFIED BY ‘root’ により . .
豊富な選択を使って;
mysql>FLUSHのプライベート
MySQL サーバは、Ubuntu サーバ上で動作するあらゆるセクションから接続するように設定されています。
Dockerはubuntuにインストールして、ドッカーイメージを作成する必要があります。MQTTブローカーそして、 また、ドッカー化MQTTブローカーを実行します。 Docker をインストールするには、次のコマンドを実行します。
$ apt-getインストールドッカー。 ログイン
無料MQTTをダウンロード ブローカーUbuntu の場合 /home/ubuntuフォルダーから抽出します。 他のフォルダからアーカイブを抽出している場合は、正しい参照フォルダを使用することを確認してください
お問い合わせ
$ cd /home/ubuntu/Bevywise/CrystalMQ
$ gedit conf/datastore.conf を編集
DB_SERVER=マイSQL
DBHOST=<mysqlホストIP>
MYSQL_USER= <your mysql ユーザー>
MYSQL_PASSWORD = <mysql db パスワード>
ドッカーファイルを作成する
$ gedit ドッカーファイルから ubuntu
RUN apt-get update &&apt-get install -y \
libexpat1 \
libsqlite3-0 は、
ウィジェット \
ログイン
RUN rm -rf /var/lib/apt/lists/*
ADD ./クリスタルMQ /クリスタルMQ
RUN chmod +x /CrystalMQ/bin/runbroker.sh
RUN chmod +x /CrystalMQ/bin/install_mysql_connector.sh
WORKDIR /クリスタルMQ /ビン
RUN ./install_mysql_connector.sh
展示会情報 1883年 8080 8883 10443 8081
CMD [./runbroker.sh] は、
ドッカーイメージの構築
# ドッカービルド -t mqttroute .
# ドッカー画像
root@ubuntu #ドッカー画像投稿タグ インテージ ID クリエイトバーチャル サイズ
mqtt 最新 45f7ee9a1ec7 7 秒前 81.15 MB
ubuntu 最新 7feff7652c69 4 週間 前 81.15 MB
docker コマンドで起動します。 次のコマンドは、MQTT Brokerをデーモンプロセスとして実行します。 セキュアモードでMQTTブローカーを実行する予定がある場合は、 ドキュメントセキュアな mqtt サーバーのデプロイ安全なインスタンスを作成し、それをパッケージ化するのに役立ちます ドッカー。
$ドッカー実行 -d --name "enter-container-name" --restart=always -p "8080:8080" "enter-docker-image-name" は、
Note: 8080の代わりに別のポートを使用した場合、上記のコマンドでポート番号を置き換えてください。
以下はダウンロード可能なドッカーです MQTT ブローカーのイメージファイル。必要なすべてのリソースを提供します。 簡単なプロセスで Docker を簡単にセットアップして実行できます。
注意:ダウンロード可能な Docker 画像のセットアップのみがサポート SQLiteデータベースとデータは保存されません。リアルタイムのデータのみを表示できます。
ダウンロード後、次のコマンドを実行してファイルを解凍し、抽出のために準備します。
bzip2 -d ルート.tar.bz2
次に、必要なリソースを Docker システムにロードするために、次のコマンドを実行します。
ドッカーロード -i "file.tar"
次に、次のコマンドで Docker を実行することで進むことができます。
$ドッカー実行 -d --name "enter-container-name" --restart=always -p "8080:8080" "enter-docker-image-name" は、
Note: 8080の代わりに別のポートを使用した場合、上記のコマンドでポート番号を置き換えてください。
MQTTの特長 デフォルトでは、MySQL、MSSQL、PYSQL、SQLITE、Elasticなどのデータベースストレージの数をサポートしています。 お問い合わせ これらのIoTデータストレージは、データストレージ設定ファイル自体で有効にすることができます。 インスタグラム これらの貯蔵に加えて、私達は付加的な貯蔵の条件をを使用してカスタマイズしてもいいですPython MQTTの特長 ブローカーカスタム エクステンションストレージの前に必要な形式にデータを変換します。 これらのカスタムエクステンション また、これらのデータをキューやエンタープライズアプリケーションに接続するために使用できます。
MQTT ブローカーにデータを受信または送信するデータストレージまたはキューまたは他のアプリケーション ドッカーのイメージから配置します。 他のコンポーネントがデータを保存しないキューやアプリケーションの場合、 ドッカーと同様に実行できます。 データベースやビッグデータエンジンに接続すると、 永続ストレージで物理的または仮想サーバー上で実行します。 ストレージをそのまま使用することをお勧めします Amazon RDSなどのサービスで、データの保存性を高めます。
ソリューションプロバイダー IoTプラットフォームマルチテナント フレームワークは、マイクロサービスベースのアーキテクチャに基づいています。 フレームワークの各コンポーネントが実行できる ドッカーコンテナで、物理またはVMサーバー上にクラウドまたはオンプレミスにデプロイします。 ドッカー化 コンポーネント MQTT サーバー kubernetes にデプロイできます。 この場合の展開は、 お問い合わせ 機能およびアプリケーション監視を含むコンポーネントの完全な監視スクリップ 配置され、監視することができます Web UI コンソール上での Dev-ops チーム。
コンテナ化独立した分離でアプリケーションを実行するのに役立ちます 物理またはVM Server の動作システムMQTT サーバー定義済みの仮想環境で、 より高いレベルの一貫性。 dockerized VM がメモリを消費するにつれて、全体的にアプリケーションは非常にスケーラブルでポータブル. . ドッカーとクベルネの組み合わせは、 複数の VM 間での展開は、単一のオーケストレーションで簡単に管理できます。
他の関連記事を読む必要があります