Rabbitmq クラスターのデプロイメント、ミラーキューの有効化、モニタリングの追加

目次

準備

クラスターの展開

wxWidget をコンパイルする

クラスターのステータスを表示する

クラスターミラーリングモードの構成

監視構成

#モニタリング指標の表示

プロメテウスの構成

プロエムテウスを再起動する

グラファナディスプレイ


最近、メッセージキューを使用するプロジェクトがあり、実際の状況を考慮して Rabbitmq を選択しました。

パフォーマンスの点では、rabbitmq は比較的バランスが取れている、または包括的です。以前から Rabbitmq を使用していました。データ量は特に多くありません。rabbitmq は高い同時実行性もサポートしています。結局のところ、erlang 言語は高い同時実行性を持っています。また、After の場合、メッセージは永続化され、特定のキューは後でミラーリングできます。全体的に、rabbitmq の方がニーズに合っています。

準備

マシンの準備とクラスターのデプロイメントのため、次の 3 つが必要です。

CPU名

ip

mq1

192.168.10.2

mq2

192.168.10.3

mq3

192.168.10.4

バージョンを確認したら、対応するerlangのバージョンを確認する必要があります(https://rabbitmq.com/that-erlang.html)を参照してください。

対応するバージョンのパッケージをダウンロードします。

#OTP 22.3https://github.com/erlang/otp/releases/download/OTP-22.3.4.26/otp_src_22.3.4.26.tar.gz#rabbitmq rpm包https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.4-1.el7.noarch.rpm#wxWidgetshttps://github.com/wxWidgets/wxWidgets/releases/tag/v3.1.5

クラスターの展開

OTP を展開する前に、いくつかのプレパッケージをインストールする必要があります。そうしないと、コンパイルで問題が発生します。

#都是教训,三台都执行下yum install mesa-libGL-devel mesa-libGLU-devel freeglut-devel gcc glibc-devel make ncurses-devel openssl-devel autoconf xmlto libtool automake gcc-c++ unixODBC unixODBC-devel gtk2-devel binutils-devel   fop.noarch bzip2 -y
yum のインストールが完了したら、wxWidgetsもインストールする必要があります。

そうしないと、コンパイル時にこのエラーが発生します。

wxWidgets not found, wx will NOT be usable

wxWidget をコンパイルする

#解压tar -xjf  wxWidgets-3.1.5.tar.bz2cd /wxWidgets-3.15#编译./configure --with-regex=builtin --with-gtk --enable-unicode --disable-shared --prefix=/usr/local/wxWidgetsmake && make install#设置动态目录cd /etc/ld.so.conf.d/touch wxWidgets.confcat >>wxWidgets.conf<<EOF/usr/local/libEOF#重新加载动态库ldconfig#java环境也需要提前配置好,不然也会报错,因为我们是统一部署的jdk,这里就不再介绍了。#到这里就可以开始编译OTP了#OTP编译tar -xvf otp_src_22.3.4.26.tar.gz -C otpcd ./otp

./otp_build autoconf./configure --prefix=/data460/erlang_22.3make && make install
#修改环境变量,验证是否成功vim /etc/profile#新增如下PATH=$PATH:/data460/erlang_22.3/bin/
source /etc/pfofile

erlのバージョンを確認する

erl

コンパイル中にエラーが発生しますが、無視できます。

エラーは無視できます

Can not link the wx driver, wx will NOT be useable

デプロイ後、rabbitmq をデプロイできます

3 つのユニットは別々に実行されます

rpm -ivh  --nodeps rabbitmq-server-3.8.4-1.el7.noarch.rpm
そのうちの 1 つが Rabbitmq を開始します
systemctl start rabbitmq-server

次に、この erlang ファイルを他の 2 台のコンピュータと同期します。

cat /var/lib/rabbitmq/.erlang.cookie

.erlang.cookie のファイル権限は 400であることに注意してください。

その後、残りの 2 つは別々に実行されます

systemctl start rabbitmq-server.servicesystemctl status rabbitmq-server.servicerabbitmqctl stop_apprabbitmqctl join_cluster rabbit@mq-01#内存节点#rabbitmqctl join_cluster --ram rabbit@mq-01rabbitmqctl start_apprabbitmqctl status

クラスターのステータスを表示する

rabbitmqctl cluster_status

クラスターミラーリングモードの構成

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"exactly", "ha-params":2, "ha-sync-mode":"automatic","ha-sync-batch-size":300000}'
#开启web页面rabbitmq-plugins enable rabbitmq_management#新建用户rabbitmqctl add_user admin fadsfj4as$rabbitmqctl  set_user_tags admin  administratorrabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

監視構成

Rabbitmq-exporter の使用

アドレス: https://github.com/kbudde/rabbitmq_exporter/

パッケージをダウンロード:

https://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0-RC8/rabbitmq_exporter-1.0.0-RC8.linux-amd64.tar.gz

解凍、設定ファイル、systemctl起動設定

tar -xvf rabbitmq_exporter-1.0.0-RC8.linux-amd64.tar.gz

関連する構成ファイルとディレクトリは次のとおりです。

cat rabbitmq.conf{
   
       "rabbit_url": "http://192.168.10.2:15672",    "rabbit_user": "admin",    "rabbit_pass": "fadsfj4as$",    "publish_port": "9419",    "publish_addr": "",    "output_format": "TTY",    "ca_file": "ca.pem",    "cert_file": "client-cert.pem",    "key_file": "client-key.pem",    "insecure_skip_verify": false,    "exlude_metrics": [],    "include_queues": ".*",    "skip_queues": "^$",    "skip_vhost": "^$",    "include_vhost": ".*",    "rabbit_capabilities": "no_sort,bert",    "enabled_exporters": [            "exchange",            "node",            "overview",            "queue"    ],    "timeout": 30,    "max_queues": 0}cat /usr/lib/systemd/system/rabbitmq_exporter.service[Unit]Description=rabbitmq_exporterAfter=network.target

[Service]Type=simpleRestart=alwaysRestartSec=10WorkingDirectory=/data/rabbitmq_exporterExecStart=/data/rabbitmq_exporter/rabbitmq_exporter -config-file  rabbitmq.conf 

[Install]WantedBy=multi-user.target

#启动 systemctl start rabbitmq_exporter.service &&  systemctl status rabbitmq_exporter.service


#モニタリング指標の表示

192.168.10.2:9419/metrics

プロメテウスの構成

#新增  - job_name: rabbit      static_configs:    - targets: ['192.168.10.7:9419'

プロエムテウスを再起動する

グラファナディスプレイ

インポート インポート 4279

おすすめ

転載: blog.csdn.net/smallbird108/article/details/125817607