<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                RabbitMQ是一套開源的消息隊列服務軟件,是由LShift提供的一個Advanced Message Queuing Protcol(AMQP)的開源實現,由于高性能、健壯以及可sheng 1)每個節點都安裝erlang ``` yum install -y erlang ```` 2)每個節點都安裝RabbitMQ ``` yum -y install rabbitmq-server ``` 3)每個節點都啟動rabbitmq及設置開機啟動 ``` systemctl enable rabbitmq-server.service systemctl restart rabbitmq-server.service systemctl status rabbitmq-server.service systemctl list-unit-files | grep rabbitmq-server.service ``` 4)創建openstack,注意將yjscloud替換為自己的合適密碼 ``` rabbitmqctl add_user openstack yjscloud #新增用戶、設置密碼 ``` 5)將openstack用戶賦予權限 ``` rabbitmqctl set_permissions openstack ".*" ".*" ".*" rabbitmqctl set_user_tags openstack administrator rabbitmqctl list_users ``` 6)看下監聽端口 rabbitmq用的是5672端口 ``` netstat -ntlp | grep 5672 ``` 7)查看RabbitMQ插件 ``` /usr/lib/rabbitmq/bin/rabbitmq-plugins list ``` 8)每個節點都打開RabbitMQ相關插件 ``` /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management mochiweb webmachine rabbitmq_web_dispath amqp_client rabbitmq_management_agent systemctl restart rabbitmq-server ``` 9)查看rabbitmq狀態 瀏覽器輸入192.168.0.150:15672 用戶口令密碼是 openstank/yjscloud登陸之后查看整個管理頁面,可以看到節點上rabbitmq的運行狀態和負載有關情況 ![8-1-10](http://pded8ke3e.bkt.clouddn.com/8-1-10.jpg) 10)RabbitMQ集群配置 ``` cat /var/lib/rabbitmq/.erlang.cookie # 到每個節點查看cookie ``` 在controller1上操作: ``` scp /var/lib/rabbitmq/.erlang.cookie controller2:/var/lib/rabbitmq/.erlang.cookie scp /var/lib/rabbitmq/.erlang.cookie controller3:/var/lib/rabbitmq/.erlang.cookie ``` 在controller2上操作: ``` systemctl restart rabbitmq-server rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@controller1 rabbitmqctl start_app ``` 在controller3上操作: ``` systemctl restart rabbitmq-server rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@controller1 rabbitmqctl start_app ``` 11)驗證效果 (1)通過此命令去查看集群中的所有節點 ``` rabbitmqctl cluster_status ``` ![8-1-11](http://pded8ke3e.bkt.clouddn.com/8-1-11.jpg) (2)通過瀏覽器訪問10.1.1.150:15672、10.1.1.151:15672、10.1.1.152:15672 ![8-1-12](http://pded8ke3e.bkt.clouddn.com/8-1-12.jpg) 12)集群管理 如果遇到rabbitmq腦裂情況,按以下步驟操作,重新設置集群: 登錄沒有加入集群的節點: ``` rabbitmqctl stop_app rabbitmqctl restart rabbitmqctl start_app ``` 登錄以一個節點: ``` rabbitmqctl forget_cluster_node rabbit@controller1 rabbitmqctl forget_cluster_node rabbit@controller2 ``` 最后再重新執行添加集群操作即可! 如果某個節點下面路徑/var/lib/rabbitmq有多余的文件,請全部刪除掉! 13)RabbitMQ優化 RabbitMQ一般優化的地方比較少,對rabbitmq的優化總結了下面幾點: (1)盡可能的把RabbitMQ部署在單獨的服務器中,因為使用專用節點,RabbitMQ服務能盡全部的享受cpu資源,這樣性能更高。 (2)讓RabbitMQ跑在HiPE模式下 RabbitMQ是用Erlang語言編寫的,而開發HiPE能讓Erlang預編譯運行,這樣性能可以提升30%以上。但是開啟HiPE模式會讓RabbitMQ第一次啟動很慢,大概需要2分鐘;另外就是如果啟用了HiPE,RabbitMQ的調試可能變得很難,因為HiPE可以破壞回溯,使它們不可讀。 ? enable HiPE方法:`vim /etc/rabbitmq/rabbitmq.config` 去掉`(hipe_compile,ture)`?前面注析即可,然后重啟rabbitmq服務(重啟的過程中,你會發現啟動過程很慢) ``` scp -p /etc/rabbitmq/rabbitmq.configcontroller2:/etc/rabbitmq/rabbitmq.config scp -p /etc/rabbitmq/rabbitmq.configcontroller3:/etc/rabbitmq/rabbitmq.config ``` (3)不要對RP隊列使用隊列鏡像 研究表明,在3節點集群上啟用隊列鏡像會使消息吞吐量下降兩倍。另一方面,RPC消息變短丟失,它只導致當前正在進行的操作失敗,因此沒有鏡像的整體RPC隊列似乎是一個很好的權衡。不過也是所有的消息隊列都不啟用鏡像,Ceilometer隊列可以啟用隊列鏡像,因此Ceilometer的消息必須保留;但是如果你的環境裝了Ceilometer組件,最好是給Ceilometer單獨一個rabbitmq集群,因為在通常情況下,Ceilometer不會產生大量的消息隊列,但是,如果Ceilometer卡住有問題,那么關于Ceilometer的隊列就會很多溢出,這會造成RabbitMQ集群的奔潰,這樣必然導致其他的openstack服務中斷。 (4)減少發送的指標數量或者頻率 在openstack環境下運行RabbitMQ的另一個最佳實踐是減少發送的指標數量和/或其頻率。減少了相關指標數量和/或其頻率,也自然減少了消息在RabbitMQ服務中堆積的機會,這樣RabbitMQ就可以把更多的資源用來處理更重要的openstack服務隊列,以間接的提高rabbitmq性能。一般Ceilometer和MondoDB的消息隊列可以盡量的挪開。 (5)增加rabbitmq socket最大打開數 `vim /etc/sysctl.conf `最下面添加:`fs.file-max = 1000000` `sysctl -p` 執行生效 設置ulimit最大打開數 `vim /etc/security/limits.conf` 添加: ``` * soft nofile 655350 * hard nofile 655350 ``` 設置systemctl管理的服務文件最大打開數為1024000 ``` vim /etc/systemd/system.conf ``` 添加: ``` DefaultLimitNOFILE=1024000 DefaultLimitNPROC=1024000 ``` 修改后服務器都重啟下,重啟完畢查看值是否更好,運行ulimit -Hn查看 修改后,登錄rabbitmq web插件可以看到最大文件打開數和socket數都變大了,默認值是最大文件數是1024和socket數是829
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看