RabbitMQ的資料日誌存放以及資料遷移

2022-07-16 07:48:08 字數 1439 閱讀 6679

一、rabbitmq的資料和日誌的儲存位置

想找到這個儲存位置,一般我們就可以先去該檔案路徑檢視有沒有最近的日誌和資料,那為什麼要看有沒有最近日期的呢?

答:因為日誌和資料的位置是可以人為改變的,如果日誌和資料的最新日期已經停留在很久之前並且佇列一直都是在使用的,那麼99%的可能都是因為儲存位置改變了。

那麼是如何改變的呢?

我們可以參考這篇文章:

我自己也試了一下,見下圖:

當重啟系統之後,問題又來了,發現在windows的系統變數中並沒有發現rabbitmq_base的環境變數,那麼這個環境變數的值到底是儲存在哪讓程式讀取到的呢?

經過無比艱難的尋找過程之後,終於在系統登錄檔中發現了他的蹤跡…

大家還記得erlang這個東西嗎,沒錯,當我們安裝rabbitmq之前,需要先搭建乙個erlang的語言環境,意思也就是rabbitmq是依附在erlang下執行的,那麼大家有沒有想過,我們在安裝過程中並沒有對erlang指定過rabbitmq在哪或者是別的一些資訊,那麼erlang是怎麼知道的呢?答案都在下圖中。

沒錯,這些資訊在安裝rabbitmq sevice時都被寫入了該登錄檔中,從上圖中可以看出記錄很多有關rabbitmq配置的很多資訊,我們想要看到的d:\rabbitmq\data的值也成功找到。

二、如何遷移

好了,上面的內容成功介紹了 rabbitmq的日誌以及資料的儲存位置,以及如何更改這個位置。

那麼我們想將乙個伺服器上的rabbitmq的佇列資料想拷到另外乙個伺服器上的rabbitmq中,該怎麼辦呢?畢竟,在我們日常工作中,往往正式伺服器的rabbitmq中的資料消費時出了什麼問題,本地想除錯時,不知道該怎麼辦,如果知道怎麼轉移,那麼我們就可以輕鬆在本地除錯本地的rabbitmq佇列屬於正式伺服器中佇列的資料了。

1.找到正式伺服器上日誌和資料儲存的位置,然後找到該目錄下db\rabbit@win-qgdgom87jml-mnesia\msg_stores\vhosts\628wb79cifdyo9lji6dkmi09l的資料夾,將裡面的內容拷貝。

2.找到本地伺服器上日誌和資料儲存的位置,同樣找到上面的資料夾,將1裡面拷貝的內容覆蓋本地(覆蓋之前最好備份下本地哦,這樣測試完,還可在恢復回去)

覆蓋的時候,還要注意一點,記得將rabbitmq的服務停掉,否則是覆蓋不了的哦,如果停了rabbitmq的服務還是不行,請檢視有關erlang的服務有沒有全部停掉。

3.覆蓋結束之後,重啟rabbitmq服務,這樣我們去訪問本地的佇列,就會發現資料已經全部進去啦。

Oracle RAC 日誌存放路徑

在oracle rac環境中,對集群中的日誌的定期檢查是必不可少的。通過檢視集群日誌,可以早期定位集群環境中出現的問題,以便將問題消滅在萌芽狀態。簡單介紹一下有關oracle集群環境中日誌的結構,方便快速查詢所需的日誌檔案。rac日誌主要位於 ora crs home log 和 oracle ho...

hive 日誌存放路徑

日誌記錄了程式執行的過程,是一種查詢問題的利器。hive中的日誌分為兩種 1.系統日誌,記錄了hive的運 況,錯誤狀況。2.job 日誌,記錄了hive 中job的執行的歷史過程。系統日誌儲存在什麼地方呢 在hive conf hive log4j.properties 檔案中記錄了hive日誌的...

ISA SERVER日誌存放SQL SERVER中

在預設安裝 isa 2004 或是2006後,將會自動安裝簡易版的 sql server 來存放防火牆與 webproxy 的連線訪問日誌 可是由於 msde 僅限於單機連線的使用 並且在訪問上也有容量大小的限制 因此為了提公升整體 isa 的執行能力 建議可以改由將這些頻繁的日誌檔案訪問 寫入到內...