Activemq共有ディスクに基づくプライマリ・スレーブ構築

4706 ワード

Activemq導入インストール
ステップ1:
1.公式サイトから最新のインストールパッケージをダウンロードし、住所:http://activemq.apache.org/download-archives.htmlあ、ここで使うのは5.9です.バージョン0
2.jdkをインストールします.ここでは説明しません.
3.ダウンロードしたインストールパッケージを解凍し、
tar –zxvf apache-activemq-5.9.0-bin.tar.gz
解凍後解凍ディレクトリapache-activemq-5.9に入る.0、実行./bin/activemqstartは、単機で実行できます.
ステップ2、クラスタの導入:
もう1台のサーバ、ipは:192.168.220.103でも同様に第1ステップの操作が実行されます.
Activemqクラスタの導入方法の説明:
Activemqは、複数のクラスタの導入と分散スキームをサポートします.
1.共有ストレージの主従構成に基づき、ここでのストレージは共有ディスクと共有データベースに分けられる.
2.networks-of-brokers、詳しくはhttp://activemq.apache.org/networks-of-brokers.html
3.zookeeperとlevelDBの分散スキームに基づいて、5.9バージョンが追加されました.
私たちのビジネスシーンはまだ簡単なので、主にmqの高可用性を満たす必要があります.そのため、私は前の2つの方法を重点的に理解しました.
第2の方法は、サービスの高可用性を満たすことができ、クライアントはfailoverの自己切断メカニズムを使用することもできるが、各サービスは独立してデータを格納し、他のbrokerは互いに遠隔消費者として機能するだけであり、そのうちの1つのbrokerがダウンタイムした場合、このbrokerに消費されていないデータも利用できなくなる.
上記の分析と結びつけて、私達はやはり第1種の分布式方案を採用して、主にmqからディレクトリの中でロックを獲得して、先にロックのmqを獲得するのが主で、ライブラリから10秒ごとに再びロックを獲得することを試みて、私達はnfs共有ハードディスクの方式を採用して、そして性能の高いSSDハードディスクを使って記憶媒体として、データベースはactivemqのデフォルトのkahadbを使います.
メインライブラリip:192.168.220.69
ライブラリip:192.168.220.103
NFSサービスのインストール
1.メインライブラリにnfsサービスをインストールする:
centos 5 :
yum install nfs-utils portmap
centos 6 :
yum install nfs-utils rpcbind

私たちのシステム環境はcentos 6なので、nfs-utilsとrpcbindの2つのパッケージをインストールする必要があります.
インストールが完了したら、/etc/exportsファイルを構成します.
vim/etc/exports;
次のように入力します.
/data1/activemq/:192.168.220.103(rw,sync,no_root_squash,no_all_squash)

ここで注意が必要ですno_root_squash,no_all_squashという2つの構成は、リモートクライアントが共有ファイルを使用する場合、rootとすべてのユーザー権限でアクセスできます.そうしないと、リモートクライアントはデフォルトでnfsnobodyユーザーを使用します.これにより、ローカルactivemqはユーザーが作成したdbやlockなどのファイルを起動し、もう1台のactivemqは権限がないため切り替えに失敗します.
2.rpcbindサービスの起動
service rpcbind start

3.nfsサービスの起動
service nfs start

4.この2つのサービスを自己起動する
chkconfig --level 35 nfs on
chkconfig --level 35 rpcbind on

5.selinuxやiptablesなどのセキュリティ設定に注意する必要があります.
6.スレーブ192.168.220.103に共有ディレクトリをマウントします.
mount -t nfs192.168.220.69: /data1/activemq /data1/activemq

7.ライブラリからシステムを再起動する際の自動マウントを設定する:
vim/etc/rc.d/rc.local
  :mount -t nfs 192.168.220.69: /data1/activemq /data1/activemq
wq    。

主従のactivemqの構成
1.メインライブラリconfのactivemqを変更する.xmlプロファイル
以下に示すbrokerNameとdataDirectoryを変更します.dataDirectoryは共有ディレクトリのパスです.

次の構成項目を見つけ、kahadbのストレージパスも共有ディレクトリに変更します.
        
            
        

2.ライブラリからも同様の構成を行い、マウントしたばかりの共有ディレクトリパスを指定します.
3.メインスレーブライブラリにそれぞれユーザーmqが起動したアカウントを作成し、useradd web passwd web
ここで注意してください.
Webユーザーが作成できるプロセスの数を表示
su web
ulimit -u
新版のcentOS作成ユーザーのデフォルトのプロセス数は1024で、高同時性の場合、ユーザーリソースがいっぱいになる場合があり、webユーザーが作成できるプロセス数を大きくする必要がある.
プロファイル/etc/security/limitsを変更します.d/90-nproc.confは、rootユーザーと同じにすればいいです.
 
上記2部が完了した後,activemq主従クラスタの構築が完了した.アクティブmqからプライマリを順に起動し、先に起動したbrokerはファイルロックを優先的に取得し、プライマリライブラリにアップグレードします.
Activemqのセキュリティ構成
ここでは、メッセージ・キューのセキュリティ構成とバックグラウンドのセキュリティ構成の管理の2つの部分に分けられます.
1.メッセージキューのセキュリティ構成、mqにアクセスするクライアントに対してアカウントとパスワードの検証を行う
vim conf/activemq.xml
参加:
        
               
                 
                        
                
               
        

ライブラリからも同様の構成を行います.
2.バックグラウンドのセキュリティ構成を管理します.
1.保証conf/jetty.xmlのauthenticate値はtrueです.
    
        
        
        
        
    


2.vimconf/jetty-realm.properties、対応するアカウントのパスワードを変更します.以下のようにします.
# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
admin: admin!123, admin
user: user, user


最初の列はユーザー名、2番目の列はパスワード、3番目の列はロールです.
ライブラリからも同様の構成を行います.