zookeeper+activemq主備簡單配置

 硬件環境:
       三臺linux服務器:192.168.2.13,192.168.2.15,192.168.2.16。
       推薦部署在三臺機器上,都部署在一臺機器還是會有單點故障,最少1G的內存就夠了。


下載最新版本的zookeeper,apache-activemq(都是linux的64位,jdk什麼的就不說了)

下面的配置三臺機器基本都是一樣,特別之處有備註,下面開始搭建。


1.新建文件夾 mqzk (可自己定義)
2.解壓zookeeper,activmq到此目錄。這裏路徑爲:~/mqzk/zookeeper, ~/mqzk/activmq
3.配置zookeeper

        3.1 配置conf/zoo.cfg(zoo.cfg默認不存在的,需要把zoo_sample.cfg文件名稱修改爲zoo.cfg)

            打開zoo.cfg,修改dataDir=當前zookeeper的data文件夾目錄(如果沒有data文件夾,就創建一個)

            這裏有三臺zookeeper所以這裏要配置下集羣server,在zoo.cfg最後面添加三行:
                server.1=192.168.2.13:2888:3888 (本機ip)
                server.2=192.168.2.15:2888:3888 (第二臺機ip)
                server.3=192.168.2.16:2888:3888 (第三臺機ip)
            這裏的三個server,對應着3臺linux服務器(ok)。
         保存退出。

        3.2 進入 ~/mqzk/zookeeper/data文件夾,新建myid文件。打開myid文件,裏面輸入1保存退出。
                 輸入1的原因是因爲上面的server.1,所以這個值在3臺zookeeper裏是不一樣的。

        3.3 到此配置結束。其他兩臺按照此配置就可以了。

        3.4 假設三臺都配置好了,開始依次重啓這3臺服務器:進入zookeeper/bin目錄,執行./zkServer.sh start 啓動



4.配置activemq
    
     4.1 這裏主要是配置activemq/confg目錄下的activemq.xml文件,打開activemq.xml文件。
         找到  <broker xmlns="http://activemq.apache.org/schema/core" brokerName="panguixiangbroker" dataDirectory="${activemq.data}">
                將 brokerName的值改爲自己需要的字符串(我這裏是panguixiangbroker);
                 要特別注意這裏,這個brokerName的值必須三臺activemq一樣(這樣zookeeper纔會認爲是一個集羣的)
     
     4.2 找到:
          <persistenceAdapter>
             <kahaDB directory="${activemq.data}/kahadb"/>
          </persistenceAdapter>

         改爲:
          <persistenceAdapter>
            <replicatedLevelDB
               directory="${activemq.data}/leveldb"
               replicas="3"   <!--這裏有三臺所以就3了-->
               bind="tcp://0.0.0.0:0"
               zkAddress="192.168.2.13:2181,192.168.2.15:2181,192.168.2.16:2181"
               hostname="192.168.2.13"    <!--當前機器的ip-->
               zkPath="/activemq/leveldb-stores" sync="local_disk"/>   <!--這個是默認的不用改-->
           <!--<kahaDB directory="${activemq.data}/kahadb"/> -->
          </persistenceAdapter>

         保存退出

   其他兩臺active mq的配置類似。

   依次啓動3臺 activemq。(bin/linux-64/./activemq start)

在瀏覽器訪問:http://192.168.2.13:8161,http://192.168.2.15:8161,http://192.168.2.16:8161 
  發現只有一臺可以正常訪問,這就對了。


然後在spring的jms配置文件裏,引用集羣mq,例如: failover:(tcp://192.168.2.13:61616, tcp://192.168.2.15:61616 , tcp://192.168.2.16:61616 ) 。


到此全部結束,當然這只是個簡單的配置,更多配置參數請參考:

http://activemq.apache.org/replicated-leveldb-store.html

zookeeper有也有對外的api(java,ruby,python,php,等版本),可以根據業務需要開發適合直接的監控管理系統。
不在本文範圍之類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章