rabbitmq安裝步驟

簡(jiǎn)介

rabbitmq依賴于erlang虛擬機(jī),因此需要先安裝erlang虛擬機(jī)蒜埋。需要注意的是erlang虛擬機(jī)與rabbitmq是有對(duì)應(yīng)關(guān)系的玖详,所以安裝的時(shí)候注意版本匹配。具體可以查看如下的鏈接:
http://www.rabbitmq.com/which-erlang.html
我所使用的版本是rabbitmq3.7.8以及otp_src_21.0
可以直接在 http://erlang.org/download/ 下載

erlang安裝

在安裝erlang之前暑刃,需要先安裝一下以下的幾個(gè)包:

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
./configure --prefix=/data/program/erlang-21.0 --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
make -j4 & make install

安裝完erlang之后厢漩,可以配置以下的環(huán)境變量。如果只是提供rabbitmq的運(yùn)行環(huán)境岩臣,也可以不進(jìn)行配置

vim /etc/profile
export ERL_HOME=/data/program/erlang-21.0/
export PATH=$PATH:$ERL_HOME/bin

rabbitmq安裝

下載Binary包溜嗜,解壓到指定的目錄下,并rabbitmq用戶架谎。修改sbin/rabbitmq-defaults文件炸宵,指定安裝目錄。在文件的最開(kāi)始增加

RABBITMQ_HOME="/data/program/rabbitmq-server-3.7.8"
ERL_DIR="/data/program/erlang-21.0/bin/"

這兩個(gè)目錄分別指定了rabbitmq的安裝目錄以及erlang的程序可執(zhí)行目錄谷扣。
  除了這兩個(gè)參數(shù)土全,也可以指定其他的必要參數(shù).此外,也可以在如下的配置文件中進(jìn)行配置.從3.7.0開(kāi)始,配置文件改為key-value的格式,以下鏈接是一個(gè)樣例配置
https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example

vim etc/rabbitmq/rabbitmq.conf
#文件內(nèi)容如下
log.file.level = warning
#也可以對(duì)IP進(jìn)行監(jiān)聽(tīng)
listeners.tcp.local    = 127.0.0.1:5672

etc/rabbitmq/rabbitmq-env.conf是一個(gè)shell文件,用于覆蓋變量

啟動(dòng):

sudo adduser -s /sbin/nologin rabbitmq
sudo chown -R rabbitmq /data/program/rabbitmq-server-3.7.8/
sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmq-server

增加-detached參數(shù)会涎,可以以deamon的方式運(yùn)行
狀態(tài)查看:

sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl status

停止:

sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl stop

ps
如果出現(xiàn)ERROR: epmd error for host "yourhostname": timeout
原因是:主機(jī)名和ip不匹配裹匙,需要更改hostname或者/etc/hosts文件

使用客戶端時(shí),記得使用相同的用戶末秃,例如rabbitmq幻件,否則會(huì)導(dǎo)致erlang cookie不一致,客戶端無(wú)法連接

集群搭建

假定有兩個(gè)機(jī)器蛔溃,分別為host1和host2绰沥,ip分別為ip1和ip2。首先需要分別在兩臺(tái)機(jī)器上面配置host贺待,使得這兩個(gè)機(jī)器可以通過(guò)hostname直接互相通信徽曲。分別在兩個(gè)機(jī)器上面添加如下的host

ip1 host1
ip2 host2

將host2加入host1組成一個(gè)集群,安裝上面的命令啟動(dòng)rabbitmq的話可以在rabbitmq賬號(hào)的home目錄下獲取到一個(gè).erlang.cookie文件麸塞,該文件是隱藏的秃臣。將host1的該文件拷貝到host2的對(duì)應(yīng)目錄下,只有rabbitmq啟動(dòng)之后哪工,該文件才會(huì)生成奥此。該文件是用來(lái)做集群間的通訊認(rèn)證的。如果有多個(gè)結(jié)點(diǎn)雁比,確保多個(gè)結(jié)點(diǎn)的該文件內(nèi)容一致稚虎。在各個(gè)結(jié)點(diǎn)上面啟動(dòng)rabbitmq之后,需要在從節(jié)點(diǎn)上面執(zhí)行如下的命令偎捎,在本文中是在host2上面執(zhí)行:

sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl stop_app
sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl reset
sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl join_cluster rabbit@host1 --ram
sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl start_app

其中--ram參數(shù)用于指定隊(duì)列保存在內(nèi)存中蠢终,這種方式性能會(huì)好一些序攘,默認(rèn)是保存在disc中,將會(huì)進(jìn)行持久化寻拂。配置之后可以通過(guò)如下命令

sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl cluster_status

通過(guò)這種方式設(shè)置之后的集群程奠,主要是起到了分散壓力的作用〖蓝ぃ客戶端連上之后瞄沙,rabbitmq將自動(dòng)將不同的隊(duì)列分散到不同的節(jié)點(diǎn)。對(duì)于一些較為敏感的數(shù)據(jù)慌核,需要確保數(shù)據(jù)的安全性帕识,可以通過(guò)rabbitmq提供的鏡像模式確保高可用。為了達(dá)到該目的遂铡,在繼續(xù)搭建完成之后肮疗,可以通過(guò)如下的命令搭建鏡像機(jī)器

sudo -u rabbitmq /data/program/rabbitmq-server-3.7.8/sbin/rabbitmqctl set_policy ha-all-policy "^" '{"ha-mode":"all", "ha-sync-mode":"automatic"}'

該命令可以根據(jù)不同的參數(shù),指定具體的隊(duì)列是否采用鏡像扒接,或者將隊(duì)列同步到多少個(gè)子節(jié)點(diǎn)伪货。
此外,對(duì)于該命令的一些詳細(xì)的配置可以參考http://www.rabbitmq.com/ha.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钾怔,一起剝皮案震驚了整個(gè)濱河市碱呼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宗侦,老刑警劉巖愚臀,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異矾利,居然都是意外死亡姑裂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門男旗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)舶斧,“玉大人,你說(shuō)我怎么就攤上這事察皇≤罾鳎” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵什荣,是天一觀的道長(zhǎng)矾缓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)稻爬,這世上最難降的妖魔是什么嗜闻? 我笑而不...
    開(kāi)封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮因篇,結(jié)果婚禮上泞辐,老公的妹妹穿的比我還像新娘笔横。我一直安慰自己竞滓,他們只是感情好咐吼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著商佑,像睡著了一般锯茄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茶没,一...
    開(kāi)封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天肌幽,我揣著相機(jī)與錄音,去河邊找鬼抓半。 笑死喂急,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的笛求。 我是一名探鬼主播廊移,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼探入!你這毒婦竟也來(lái)了狡孔?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜂嗽,失蹤者是張志新(化名)和其女友劉穎苗膝,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體植旧,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辱揭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了病附。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片界阁。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胖喳,靈堂內(nèi)的尸體忽然破棺而出泡躯,到底是詐尸還是另有隱情,我是刑警寧澤丽焊,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布较剃,位于F島的核電站,受9級(jí)特大地震影響技健,放射性物質(zhì)發(fā)生泄漏写穴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一雌贱、第九天 我趴在偏房一處隱蔽的房頂上張望啊送。 院中可真熱鬧偿短,春花似錦、人聲如沸馋没。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)篷朵。三九已至勾怒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間声旺,已是汗流浹背笔链。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腮猖,地道東北人鉴扫。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像澈缺,于是被迫代替她去往敵國(guó)和親坪创。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • rabbitmq有3種模式谍椅,集群模式2種? 單機(jī)模式:即單機(jī)情況不做集群误堡,就單獨(dú)運(yùn)行一個(gè)rabbitmq而已。...
    嗷大彬彬閱讀 4,033評(píng)論 1 9
  • RabbitMQ 原理介紹及安裝部署 標(biāo)簽:RabbitMQ 安裝 簡(jiǎn)介 RabbitMQ 是一個(gè)用 Erlang...
    神仙CGod閱讀 8,569評(píng)論 0 60
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理雏吭,服務(wù)發(fā)現(xiàn)锁施,斷路器,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,168評(píng)論 2 33
  • 整體架構(gòu) 部署步驟 基于 Docker 基本概念內(nèi)存節(jié)點(diǎn)只保存狀態(tài)到內(nèi)存杖们,例外情況是:持久的 queue 的內(nèi)容將...
    mvictor閱讀 12,756評(píng)論 5 30