標籤:erlang linux 架構 python activemq
柯南君上一章《看大資料時代下的IT架構(2)訊息佇列之RabbitMQ-基礎概念詳細介紹 》中,粗略的講了一下,目前訊息佇列的幾種常見產品的優劣對比,接下來的幾章節會分別詳細闡述,本章介紹RabbitMQ,好吧,廢話少說,正式開始:
一、安裝1、安裝Erlang 1)系統編譯環境(這裡採用linux/unix 環境)① 安裝環境
虛擬機器:VMware? Workstation 10.0.1 build
Linux系統:CentOS6.5
rabbitMQ官網下載:http://www.rabbitmq.com/download.html
Erlang的官網下載: http://www.erlang.org/download.html
2)Rabbitmq所需要的附屬包(erlang、simplejson)安裝: ① 安裝erlang
RabbitMQ是基於Erlang的,所以首先必須配置Erlang環境。
從Erlang的官網 http://www.erlang.org/download.html 下載最新的erlang安裝包,我下載的版本是 otp_src_R14B03.tar.gz 。
然後:
- 然後解壓下載的gz包 tar zxcf *.tar.gz
- cd 進入解壓出來的檔案夾
- 執行./configure --prefix=/opt/erlang 就會開始編譯安裝 會編譯到 /opt/erlang 下 然後執行
- make 和 make install
- 編譯完成以後,進入/opt/erlang,輸入erl測試erlang是否安裝成功。
- 修改/etc/profile檔案,增加下面的環境變數:
- #set erlang environment
- export PATH=$PATH:/opt/erlang/bin
- source profile使得檔案生效
- 肯能會出現找不到包的情況,就直接yum install 吧!
安裝完Erlang,那麼開始裝RabbitMQ-Server ,主要參考官方文檔:http://www.rabbitmq.com/build-server.html ;
② 安裝simplejson(如果需要安裝Python版本的話)
需要安裝一個比較新的Python版本。安裝略,比較簡單。
需要安裝simplejson。從此處下載最新的版本: http://pypi.python.org/pypi/simplejson#downloads 。我下載的版本是 simplejson-2.2.1.tar.gz
2、安裝RabbitMQ 然後安裝RabbitMQ Server。從此處下載原始碼版本的RabbitMQ: http://www.rabbitmq.com/server.html。我下載的版本是 rabbitmq-server-generic-unix-2.7.1.tar.gz
- rabbitmq的安裝有很多版本,我們使用Generic Unix版本。
- cd /
- wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.1/rabbitmq-server-generic-unix-2.7.1.tar.gz下載rabbitmq
- tar zxvf rabbitmq-server-generic-unix-2.7.1.tar.gz -C /opt解壓到指定的檔案夾下
- cd /opt,建立軟連結ln -s rabbitmq-server-generic-unix rabbitmq
- cd rabbitmq/sbin,./rabbitmq-server -detached可以實現後台啟動
- 修改/etc/profile,添加環境變數
- #set rabbitmq environment
- export PATH=$PATH:/opt/rabbitmq/sbin
- source profile使得檔案生效
- cd /opt/rabbitmq/sbin,./rabbitmqctl stop關閉rabbitmq
- 這樣就完成了安裝
這樣就安裝成功。
3、試運行
- 啟用管理方式(用網頁方式管理MQ)cd /opt/rabbitmq/sbin/
- 執行./rabbitmq-plugin enable rabbitmq-management
- 然後訪問http://localhost:55672
二、配置
主要參考官方文檔:http://www.rabbitmq.com/configure.html
一般情況下,RabbitMQ的預設配置就足夠了。如果希望特殊設定的話,有兩個途徑:
- 一個是環境變數的設定檔 rabbitmq-env.conf ;
- 一個是配置資訊的設定檔 rabbitmq.config;
注意,這兩個檔案預設是沒有的,如果需要必須自己建立。
rabbitmq-env.conf
這個檔案的位置是確定和不能改變的,位於:/etc/rabbitmq目錄下(這個目錄需要自己建立)。
- 檔案的內容包括了RabbitMQ的一些環境變數,常用的有:
- #RABBITMQ_NODE_PORT= //連接埠號碼
- #HOSTNAME=
- RABBITMQ_NODENAME=mq
- RABBITMQ_CONFIG_FILE= //設定檔的路徑
- RABBITMQ_MNESIA_BASE=/rabbitmq/data //需要使用的MNESIA資料庫的路徑
- RABBITMQ_LOG_BASE=/rabbitmq/log //log的路徑
- RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins //外掛程式的路徑
具體的列表見:http://www.rabbitmq.com/configure.html#define-environment-variables
rabbitmq.config
這是一個標準的erlang設定檔。它必須符合erlang設定檔的標準。
它既有預設的目錄,也可以在rabbitmq-env.conf檔案中配置。
檔案的內容詳見:http://www.rabbitmq.com/configure.html#config-items
三、監控
主要參考官方文檔:http://www.rabbitmq.com/management.html
RabbitMQ提供了一個web的監控頁面系統,這個系統是以Plugin的方式進行調用的。
首先,在rabbitmq-env.conf中配置好plugins目錄的位置:RABBITMQ_CONFIG_FILE
將監控頁面所需要的plugin下載到plugins目錄下,這些plugin包括:
- mochiweb
- webmachine
- rabbitmq_mochiweb
- amqp_client
- rabbitmq_management_agent
- rabbitmq_management
下載路徑位於:http://www.rabbitmq.com/plugins.html#rabbitmq_management
重新啟動RabbitMQ,輸入http://server-name:55672/mgmt/ 就能夠進入到監控頁面。預設的使用者名稱和密碼是: guest 和 guest。
柯南君:看大資料時代下的IT架構(3)訊息佇列之RabbitMQ-安裝、配置與監控