centos7 安裝RabbitMQ3.6.15 以及各種報錯


成功圖鎮樓

各個版本之間的差異不大,安裝前要確保rabbitmq 的版本和 elang的版本一致。預防各種錯亂。

注意點:(重要!!重要!!)

* 同時安裝的時候最好確保rabbitmq和erlang放在通過目錄下面。

* 我安裝的路徑是在:/usr/local/

* rabbitMQ3.6.15對應的erlang的版本是20.3

1、安裝Erlang環境

  [root@izwz9cwq2lgbd7zagmw4ynz local]#  yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto  // 安裝依賴文件

  [root@izwz9cwq2lgbd7zagmw4ynz local]#  wget -c http://erlang.org/download/otp_src_20.3.tar.gz // 安裝erlang

  [root@izwz9cwq2lgbd7zagmw4ynz local]#  tar -zxvf otp_src_20.3.tar.gz // 解壓

  [root@izwz9cwq2lgbd7zagmw4ynz local]#  cd otp_src_20.3/

  // 編譯安裝 ,編譯后放在/usr/local/erlang目錄里面

  [root@izwz9cwq2lgbd7zagmw4ynz otp_src_20.3]#  ./configure --prefix=/usr/local/erlang

  [root@izwz9cwq2lgbd7zagmw4ynz otp_src_20.3]#  make && make install

  [root@izwz9cwq2lgbd7zagmw4ynz erlang]#  cd /usr/local/erlang/bin/

  [root@izwz9cwq2lgbd7zagmw4ynz bin]#  ./erl

出現這個畫面表示安裝成功。命令:q(). 退出erl

  以上步驟基本不會出現問題。

  配置環境變量(ps:這個跟java的環境變量配置是差不多的)

  [root@izwz9cwq2lgbd7zagmw4ynz bin]# vim /etc/profile

  在末尾加入這么一行即可:export PATH=$PATH:/usr/local/erlang/bin 

  更新配置文件:[root@izwz9cwq2lgbd7zagmw4ynz bin]# source /etc/profile

  更新之后在任意地方輸入erl能進入命令行, 那么就說明配置成功了。

 

2、現在開始安裝RabbitMQ

  先退回local目錄 cd /usr/local/

  [root@izwz9cwq2lgbd7zagmw4ynz local]# wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz

  [root@izwz9cwq2lgbd7zagmw4ynz local]# xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz 

 

  [root@izwz9cwq2lgbd7zagmw4ynz local]# tar -xvf rabbitmq-server-generic-unix-3.6.15.tar

  配置rabbitmq的環境變量(這個跟上面的erlang配置以及java的環境變量差不多)

    [root@izwz9cwq2lgbd7zagmw4ynz local]# vim /etc/profile

    在末尾加入以下配置:export PATH=$PATH:/usr/local/rabbitmq_server-3.6.15/sbin

    更新配置文件:[root@izwz9cwq2lgbd7zagmw4ynz local]# source /etc/profile

以上操作基本安裝完成。現在開啟rabbitmq

rabbitmq-server

顯示如上圖。表示安裝成功。(這也是報錯最多的地方。文章末尾有各種報錯)

3、啟動網頁管理插件:

  [root@izwz9cwq2lgbd7zagmw4ynz local]# rabbitmq-plugins enable rabbitmq_management

  開啟之后通過curl訪問本地,如圖

  

如上圖所示表示安裝成功,可以通過本地訪問。但此時通過ip還無法訪問。下面開啟遠程訪問

4、開啟遠程訪問

    添加用戶:rabbitmqctl add_user CRX CRXCRX111  //CRX 是用戶名, CRXCRX111是用戶密碼

    添加權限:rabbitmqctl set_permissions -p "/" CRX ".*" ".*" ".*"

    修改用戶角色:rabbitmqctl set_user_tags CRX administrator

    然后就可以遠程訪問了,然后可直接配置用戶權限等信息

以上是全部內容 安裝rabbitmq以及erlang。

 

---------------------------------------------------------------------------------------------------------------

下面開始錯誤信息

1。運行 rabbitmq-server 或者 rabbitmq-server -detached 的時候。這兩個命令都是啟動rabbitmq 一個是直接運行。一個是后台守護進程運行。

發現:在rabbitmq-server模式啟動下報錯:init terminating in do_boot : undef

問題:絕大部分是因為rabbitmq和erlang的版本不一致。或者 rabbitmq和lerlang安裝的文件路徑不統一。如果按照我的步驟安裝應該不會出現此類問題

解決:不一致時重新安裝erlang。換個版本。把原來的/usr/local/erlang文件刪掉。不統一就把把文件都放在統一的目錄。我的目錄是放在/usr/local/下面

2。rabbitmq-server -detached 報錯 

Warning: PID file not written; -detached was passed.
ERROR: node with name "rabbit" already running on "izwz9cwq2lgbd7zagmw4ynz"

解決:依次執行命令

# ps aux|grep epmd

# ps aux|grep erl

kill -9 17330 進程號各個機子不一樣。kill掉最長的那條。然后再執行 rabbitmq-server

安裝完成后的 rabbitmqctl status

 

參考:https://blog.51cto.com/lookingdream/2110776    我就是照着這哥們的教程安裝的。有個坑的地方是 erlang的版本是20.2 導致我一運行不了。改成20.3之后完美運行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM