RabbitMQ(三) 集群配置

RabbitMQ——集群配置

之前不管是搞Redis、SQL、Mongo還是其他的東西,一律都沒說過集群要怎么搞,電腦實在是帶不動、說透徹點就是懶,懶得搭也懶得寫,今日深刻意識到錯誤,做學問是不能懶的,會被人噴的,發個集群配置的簡版吧。

一點廢話

可以不看,之前用的Windows,最后想想撘集群什么的還是用CentO逼格更高一點,這年頭就是搞Linux的看不起Windows、搞Java的看不起搞C#的,就裝了兩個CentOS7,裝上后黑屏!!!查了一堆的解決方案:

  • 虛擬機的顯示配置里把3D加速關了,看了看,確實沒勾,沒用!
  • 本機的BIOS的處理器設置中開啟虛擬化設置,沒用!!
  • 輸入命令“netsh winsock reset”后重啟,沒用!!!
  • 虛擬機屏幕亮度問題.......

重裝?不可能的,這輩子都不可能重裝的,發大招,使用如下命令:

yum remove gnome-shell

既然你不好好干活,那就下崗吧,完美解決,不得不為我的機智點個贊。

言歸正傳

集群這一塊的話,一般有單機集群和多機集群,單機集群實在是不推薦,本來就是為了分散風險,現在搭在一臺上,服務器掛了就歇菜了,實在有需求可以看看[https://blog.csdn.net/u013256816/article/details/53264715]。

這里再說一句廢話,很重要,很多博客里也不提這茬,估計是覺得不需要說吧,但咱是個菜雞啊,搭建集群前最好改一下主機名,否則會比較煩,這里我將“/etc/hostname”中的主機名分別設置為192-168-253-133、192-168-253-134,本來希望找一種方式不修改主機名就達到目的,很遺憾,沒找到,知道的大神煩請告訴我一聲。改主機名就比較簡單了,直接修改/etc/hostname中的名字然后reboot就行。接下來照如下步驟執行即可:

  • 目前有兩臺服務器133和134,先啟動rabbitmq服務:
rabbitmq-server -detached #這個detached表示在后臺運行
  • 分別在/etc/hosts下添加133和134配置
192.168.253.133 192-168-253-133
192.168.253.134 192-168-253-134
  • 使用scp命令將$HOME/.erlang.cookie(自己下載安裝的)或者/var/lib/rabbitmq/.erlang.cookie(使用rpm安裝的)中的cookie從133拷貝到134服務器上。
scp $HOME/.erlang.cookie root@192-168-253-134:$HOME/.erlang.cookie
  • 開啟133服務器的節點
rabbitmqctl start_app
  • 134服務器上的加入cluster中后啟動
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@192-168-253-133
rabbitmqctl start_app

以上就是多機集群的部署步驟,當然了這種模式下數據結構共享,也就是對于Queue來說每個節點上都有,但是數據只存在某一個節點上,當某個節點故障后,該節點上的數據是無法被消費的,若是做了持久化,只有等待該節點恢復后才可以被消費。那么有沒什么方式能夠實現數據在各節點間相互同步能,鏡像策略可以解決這個問題,不過這種方式會占用各節點之間的網絡帶寬。當然你有兩種方式可以選擇:

  • 第一種是在rabbitmq的管理界面的admin/policies/add or update a plicy中配置,markdown懶得搞圖,自己找找吧。
  • 第二種自然是敲命令啦:
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:”all”}’

這個策略使用比較靈活,也可以選擇只同步部分隊列,關心的同志們可以詳細了解一下,到這里基本上就完成了集群的配置,至于負載啊用Haproxy的比較多,土豪用F5也可以啊,Haproxy后面再說,后面還有一些廢話,老司機們可以不看了。

一些命令

寫了這么多是不是敲命令有點暈?這里我們細說一下,網上抄的:

  • rabbitmq-server –detached:在后臺啟動rabbitmq;
  • rabbitmqctl add_user admin admin:添加用戶;
  • rabbitmqctl set_user_tags admin administrator:修改用戶角色;
  • rabbitmqctl list_users:查看用戶列表;
  • rabbitmqctl set_permissions -p / admin "." "." ".*":使用戶擁有所有資源的配置、寫、讀權限以便管理其中的資源;
  • rabbitmqctl delete_user admin:刪除用戶;
  • rabbitmqctl change_password admin admin:修改用戶密碼;
  • rabbitmqctl add_vhost myvhost:添加新的vhost;
  • rabbitmqctl delete_vhost myvhost:刪除指定的vhost;
  • rabbitmqctl status:查看服務器狀態;
  • rabbitmqctl list_queues:查看隊列信息;
  • rabbitmqctl start_app:開啟應用;
  • rabbitmqctl stop_app:關閉應用;
  • rabbitmq-plugins enable rabbitmq_management:啟用圖形界面;
  • rabbitmqctl -p / purge_queue queue1:清空隊列queue1中的數據;
    更多參數見rabbitmqctl,不做綴訴了。

轉載于:https://www.cnblogs.com/krockey/p/9037450.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452714.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452714.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452714.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql update實質,UPDATE注射(mysql+php)的兩個模式

UPDATE注射(mysqlphp)的兩個模式2021-01-23 7:48:35424UPDATE注射(mysqlphp)的兩個模式文/安全天使SuperHei2005.8.11一.測試環境:OS:Windowsxpsp2php:php4.3.10(mysql4.1.9apache1.3.33二.測試數據庫結構:-----start-----數據庫:test------------------…

數據庫系統的特點

數據結構化數據的共享性高,冗余度低且易擴充數據獨立性高數據由數據庫管理系統統一管理和控制

SNF軟件開發機器人-子系統-導出-導入功能-多人合作時這個功能經常用到

導出 導出可以將資源表和子系統導出并形成一個json文件。 1.效果展示: 2.使用說明: 點擊導出按鈕后會彈出一個導出頁面。頁面的左側可以選擇功能,右側可以選擇資源表,選擇功能的同時右側中功能所需的資源表也會被選擇。當功能之間…

基于物理的渲染-用真實的環境光照亮物體

目前,在游戲引擎中用于照亮物體的光源非常豐富。其中,比較常用的有:平行方向光、點光源、聚光燈以及體積光等,但它們都是對真實光源的近似,并不能很好地模擬真實世界中的復雜光照情況。為了增加光照效果的真實感&#…

php中取出數組中指定的值,PHP除開數組中指定的值

PHP去除數組中指定的值//一維數組簡單的做法 unset($arr[array_search($value,$arr)])$arr array("a","b","c","d");function isHave($var){if($var!"b")return true;}$arr_filter array_values(array_filter($arr,"…

實體以及實體型和實體集

實體(Entity) 客觀存在并可相互區別的事物稱為實體。 可以是具體的人、事、物或抽象的概念。 屬性(Attribute) 實體所具有的某一特性稱為屬性。 一個實體可以由若干個屬性來刻畫。 實體型(Entity Type&#xf…

mysql中locat函數,MySQL中的LOCATE和POSITION函數使用方法 | 很文博客

不常用:MySQL中的LOCATE和POSITION函數LOCATE(substr,str)POSITION(substr IN str)返回子串 substr 在字符串 str 中第一次出現的位置。如果子串 substr 在 str 中不存在,返回值為 0:mysql> SELECT LOCATE(bar, ‘foobarbar);-> 4mysql…

什么是數據的完整性約束

為了防止不符合規范的數據進入數據庫,在用戶對數據進行插入、修改、刪除等操作時,DBMS自動按照一定的約束條件對數據進行監測,使不符合規范的數據不能進入數據庫,以確保數據庫中存儲的數據正確、有效、相容。

Python--協程(gevent模塊)

一:前言 協程又稱為微線程,纖程。英文名Coroutine:協程是一種用戶態的輕量級線程 協程擁有自己的寄存器上下文和棧。協程調度切換時,將寄存器上下文和棧保存到其他地方,在切回來的時候,恢復之前保存的寄存器上下文和…

ffmpeg 0.6.3 代碼, 經過我努力,能夠在vs 2005 下單步調試代碼

1. ffmpeg-0.6.3_modify.7z 是修改后的ffmepg的代碼; 2.ffmpeg-0.6.3_srouce.tar.bz2 是ffmpeg原始代碼; 3.SDL-devel-1.2.15-VC.zip 是圖像顯示使用使用的sdl代碼; 4.w_cc_p_10.1.020.exe 是vc 2005 需要使用的編譯器&#xff1b…

克隆CentOS6虛擬機eth0被修改為eth1如何修改eth0

2019獨角獸企業重金招聘Python工程師標準>>> 直接修改 /etc/sysconfig/network-script/ifcfg-eth0 刪掉UUID HWADDR 配置靜態地址 然后: rm -rf  /etc/udev/rules.d/70-persistent-net.rules然后reboot 轉載于:https://my.oschina.net/hengbao666/blog/…

[Hnoi2013]消毒

Description 最近在生物實驗室工作的小T遇到了大麻煩。 由于實驗室最近升級的緣故,他的分格實驗皿是一個長方體,其尺寸為abc,a、b、c 均為正整數。為了實驗的方便,它被劃分為abc個單位立方體區域,每個單位立方體尺寸 為111。用(i,…

php按照文件名字排序,php readdir 排序問題,如何按照日期進行排序

目前是這么寫的:function posts_get($directory,$ext){if (is_dir($directory)) {$handle opendir($directory);while ($file readdir($handle)){$subdir $directory . / .$file;if ($file ! . && $file !.. && is_dir($subdir)){posts_get($sub…

關系模型的名詞

關系(Relation)一個關系對應通常說的一張表元組(Tuple)表中的一行即為一個元組屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名主碼(Key)也稱碼鍵…

物理卷、卷組、邏輯卷

參考文章: 相關文獻 謝謝作者分享!

fibonacci數列的題目——劍指Offer

https://www.nowcoder.net/practice/c6c7742f5ba7442aada113136ddea0c3?tpId13&tqId11160&tPage1&rp1&ru/ta/coding-interviews&qru/ta/coding-interviews/question-ranking 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出…

如何高效的編寫與同步博客 (.NET Core 小工具實現)

系列目錄 [如何高效的編寫與同步博客(一)- 編寫 ]如何高效的編寫與同步博客(二)- 快速發布到多個渠道一.前言 寫博客,可以帶給我們很多好處,比如可以讓我們結識更多志同道合的人;在寫博客過程中…

java appendable,org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8

上傳文件奇怪的錯誤2016-10-14 11:00:52,254 nuoshang.bluejay.common.shiro.cache.RedisCache.put(RedisCache.java:54) DEBUG - SET nameshiro-activeSessionCache key70qv5bejsihmgot7hroqg6q0lv2016-10-14 11:00:52,254 nuoshang.bluejay.common.shiro.cache.LCache.fire(L…