2016-11-10 18 views
7

Farklı makinelerde çalışan birden fazla RabbitMQ düğümüm var. Her bir düğümü kurduktan sonra, her biri için ortak bir tanımlama bilgisi belirtemedim, böylece geri dönüp dosyayı .erlang.cookie el ile değiştirmek zorunda kaldım. Sorunum, bunu yaptıktan sonra çakışan hata iletileri alıyorum.Çerez dosyasını değiştirdikten sonra RabbitMQ düğümü kimlik doğrulaması başarısız oldu

ararım ne olursa olsun komut

DIAGNOSTICS

attempted to contact: ['[email protected]']

[email protected]: * connected to epmd (port 4369) on nc-mso-test01 * epmd reports node 'rabbit' running on port 25672 * TCP connection succeeded but Erlang distribution failed

  • Authentication failed (rejected by the remote node), please check the Erlang cookie

current node details: - node name: '[email protected]' - home dir: C:\Users\jol - cookie hash: 9/Hx6l+wLQv3NkmSDFqBog==

, ben aynı hatayı alıyorum: i rabbitmqctl durumunu yaparsanız aşağıdaki hatayı alıyorum. Hizmeti yeniden başlatmayı denedim, tavşanmq hizmetini kullanarak kaldırıp yükledim. Hata devam ediyor. Diğer gönderilerden toplayabildiğim kadarıyla, düğüm ve erlang brokerının ayrı kullanıcılar üzerinde çalıştığı ve her birinin çerezin farklı bir sürümü olduğu, birinin eski ile sıkıştığı olabilir.

Sunucu ve düğümün yeniden başlatılmasını nasıl sağlayabilirim, böylece her ikisi de yeni tanımlama bilgisi dosyasını kullanır?

cevap

16

Sorunumu çözdüm. RabbitMQ kurulumunun iki tane cookie dosyası, bir tane de c: \ Windows için erlang bileşeni ve bir tane de C: \ Users \% USER% olduğu gerçeğini özledim. Anladığım kadarıyla, eğer erlan VM kendi uygulama kullanıcısı üzerinde çalışıyorsa ve RabbitMQ düğümü benim durumum olan farklı bir kullanıcı üzerinde başlatılmışsa, o zaman iki çerez dosyası farklıydı ve bunları senkronize etmeden önce bunları senkronize etmek zorunda kaldım. küme çerezleri.

+1

thx, sorun bunları senkronize ederek çözüldü (sadece kopyala ve yapıştır). –

+6

50/50 şansı ortadan kaldırmak için ... Senkronize etmek için C: \ Windows cookie dosyasını kopyalayın: C: \ Users \% USER% cookie – theKRAY

+1

https://www.rabbitmq.com/install-windows-manual. html, sorun da burada verilen iki çerez için yol ile açıklanmıştır. – William

4

Belgeleme diyor: 20.2 ile başlayan Erlang sürümlerinde

The cookie file used by the Windows service account and the user running CLI tools must be synchronised. RabbitMQ-Clustering Guide

, çerez dosya konumları şunlardır: Kullanıcı çalışan CLI araçları için

  • - genellikle C:\Users\%USERNAME%\.erlang.cookie kullanıcı %USERNAME%
  • için RabbitMQ için Windows hizmeti - %USERPROFILE%\.erlang.cookie (genellikle C:\WINDOWS\system32\config\systemprofile)

Erlang sürümlerinde 20.2'den önce (ör. 19.3 veya 20.1), çerez dosya konumları şunlardır: Kullanıcı çalışan CLI araçları için

  • - genellikle C:\Users\%USERNAME%\.erlang.cookie RabbitMQ Windows hizmeti için kullanıcı %USERNAME%
  • için - %WINDIR%\.erlang.cookie (genellikle C:\Windows\.erlang.cookie)
İlgili konular