ActiveMQ Part 1 : 基本安裝配置(windows 版本)

來源:互聯網
上載者:User

標籤:form   bat   pad   修改   local   view   檔案   版本   define   

1. 安裝啟動服務

A) 首先下載並安裝最新的 JDK(本文使用:jdk-8u66-windows-x64.exe)

B) 從官網下載最新的安裝包(本文下載版本為:http://activemq.apache.org/activemq-5143-release.html)

C) 把安裝包解壓後,在解壓目錄中找到:\bin\win64\activemq.bat (32位機器則執行相應的 win32 目錄下的 activemq.bat檔案)

    以管理員身份運行 activemq.bat,出現以下完整介面即成功啟動了 ActiveMQ 服務;

    

    開啟瀏覽器訪問 ActiveMQ 的 WEB 管理主控台:http://localhost:8161/admin/ (預設登陸使用者名稱密碼為:admin/admin)

    

2. 基礎配置

A) 啟用 Debug 日誌(方便安裝配置過程發現更詳細的問題):開啟 \conf\log4j.properties,在檔案中增加:log4j.logger.org.apache.activemq=DEBUG ,並重啟控制台程式生效;

    這樣在日誌中就會輸出 DEBUG 類型的日誌.

B) WEB 控制台許可權配置:開啟 \conf\jetty-realm.properties 檔案,可以修改角色、使用者名稱、密碼,或增加使用者;修改後重啟控制台方生效; 

1 # Defines users that can access the web (console, demo, etc.)2 # username: password [,rolename ...]3 admin: admin, admin4 user: user, user
View Code

    根據管理需要,自行配置;本文則配置為如下內容後續使用.

1 # Defines users that can access the web (console, demo, etc.)2 # username: password [,rolename ...]3 webadmin: web.admin, admin4 webuser1: user.1, user5 webuser2: user.2, user
View Code

C) 配置啟動協議:預設所有 ActiveMQ 支援的協議均會被啟動,本文主要啟動 mqtt 協議,開啟檔案:\conf\activemq.xml;

    找到如下配置,並刪除或注釋掉以上的其它協議,僅留下 mqtt 協議;

 1  <!-- 2             The transport connectors expose ActiveMQ over a given protocol to 3             clients and other brokers. For more information, see: 4  5             http://activemq.apache.org/configuring-transports.html 6         --> 7         <transportConnectors> 8             <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> 9             <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>10             <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>11             <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>12             <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>13             <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>14         </transportConnectors>
View Code

D) MQTT通訊協定設定:ActiveMQ 根據上述配置的協議來啟動監聽服務,可以通過增加以下配置來豐富 mqtt 協議的功能;

    maximumConnections=1000&wireFormat.maxFrameSize=104857600 : 為了防止 DOS 攻擊,並發串連及最大的傳輸容量限制(最大容量: 256MB);

    transport.defaultKeepAlive=60000 : 設定管理員的預設心跳;預設情況為:假設用戶端心跳時間為 10s,服務端對該串連的檢測時間則為:10*1.5=15s;

    allowLinkStealing=false : 如果有兩個或以上的串連使用了相同的 CilentID,則視為盜鏈;伺服器將強制關閉舊的串連(從日誌可以看到以下資訊)

                                             WARN  | Stealing link for clientId PUBSameID-001 From Connection 

    transport.activeMQSubscriptionPrefetch=100 : 如果訂閱端的處理能力較強,這個值越大越好,即服務端將預取多少訊息量傳遞給訂閱端;

                                                                                這個設定需要評估訂閱端的最低處理能力,並根據伺服器效能來配置;

    以下4個配置為許多案例下的最佳配置:

    wireFormat.maxInactivityDuration=30000 : 如果伺服器在 30s 內沒有接收到某個串連發來的訊息,則自動斷開該串連;

    wireFormat.maxInactivityDurationInitalDelay=10000 : 指定 "不活動連結監視器 (InactivityMonitor)" 在多長時間後啟動,在需要並發建立許多串連情境非常有效;

    transport.useInactivityMonitor=true : 啟用”不活動連結監視器“,如果設定為 false,則伺服器不監控”不活動串連“;

    transport.useKeepAlive=true : 如果設定為 false,則伺服器在心跳時間外沒收到資料也不會強制關閉串連;

 

    OK,常用配置到此結束,啟動 AMQ 服務開始使用.

1 <transportConnectors>2             <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->3             <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600&amp;transport.defaultKeepAlive=60000&amp;allowLinkStealing=false&amp;transport.activeMQSubscriptionPrefetch=100&amp;wireFormat.maxInactivityDuration=30000&amp;wireFormat.maxInactivityDurationInitalDelay=10000&amp;transport.useInactivityMonitor=true&amp;transport.useKeepAlive=true"/>4             <!-- <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>-->5             <!-- <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>-->6             <!-- <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>-->7             <!-- <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>-->8         </transportConnectors>
View Code

 

ActiveMQ Part 1 : 基本安裝配置(windows 版本)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.