日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nacos2.0.3集群搭建

發布時間:2024/1/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nacos2.0.3集群搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

集群搭建

前置條件

  • JDK 1.8
  • MySQL 5.7.29
  • Nacos 2.0.3

搭建過程

  • 將Nacos安裝包上傳至三個服務器,本次搭建使用三個端口來模擬三個不同的主機
  • 解壓: tar -zvxf nacos-server-2.0.3.tar.gz
  • Nacos持久化,首先確保服務器已經安裝MySQL(Nacos持久化要求MySQL版本在5.6.5以上),如果不持久化,會造成Nacos重啟后,配置文件丟失,無法持久化
  • 首先在MySQL中新建一個數據庫(nacos_config)

  • nacos的腳本存放位置: nacos/conf/nacos-mysql.sql

  • 將nacos腳本導入到新建的數據庫中,導入成功后如下。

  • 修改Nacos的配置文件,配置mysql持久化,位置位于nacos/conf/application.properties

  • 將數據連接改為mysql ,配置數據庫的連接驅動,賬號密碼等

    ### If use MySQL as datasource: spring.datasource.platform=mysql### Count of DB: db.num=1### Connect URL of DB: db.url.0=jdbc:mysql://你的數據庫ip:3306/nacos_dev?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user.0=用戶名 db.password.0=密碼
  • 配置cluster.conf
  • 確定好三個端口號(注意三個端口不要連著,下面會說原因)

  • 把conf文件下cluster.conf.example文件重命名,去掉.example cp cluster.conf.example cluster.conf

  • 修改文件內容,vim cluster.conf,注意:這個IP不能寫127.0.0.1,必須是Linux命令hostname -i能夠識別的IP

  • XX.XXX.XXX.XX:XXXX # 節點1 XX.XXX.XXX.XX:XXXX # 節點2 XX.XXX.XXX.XX:XXXX # 節點3
  • 將nacos復制三份,在nacos/conf/application.properties中修改端口號(端口號不要連著)

  • 啟動服務:三臺服務器依次啟動。

  • 進入nacos/bin
  • 執行 ./startup.sh
  • nginx 反向代理

    • nacos2.x有個大坑,現在即使是搭建nacos集群成功了,但是java程序注冊服務進nacos集群中,啟動時報錯Connection is unregistered.或Client not connected,current status:STARTING.
    • 原因如下:一個nacos啟動默認端口是8848,那么nacos同時也會啟動9848這個grpc端口。 grpc端口 (9848)= 啟動端口(8848) + 1000,同理我nacos集群啟動了三個nacos 端口分別為8847,8852,8858,那么這三個nacos也會啟動 9847,9852,9858.,因為我們已經用nginx代理服務器的8848反向代理 三個nacos 端口分別為8847,8852,8858。但是我們還沒有 代理三個nacos端口9847,9852,9858.
    • 我采用的解決辦法是,用nginx代理他的grpc端口,但是因為Nginx對于gRPC不適合長連接的操作。所以更好的解決方法為:用nginx來帶來nacos的8848端口,用haproxy來代理9848的grpc端口。本文沒有實現,想實現可以參考https://blog.csdn.net/qq_39009944/article/details/123634837?spm=1001.2014.3001.5502

    # nacos服務器grpc相關地址和端口,需要nginx已經有stream模塊 stream {upstream nacos-server-grpc {server 127.0.0.1:9847;server 127.0.0.1:9852;server 127.0.0.1:9858;}server {listen 9888;proxy_pass nacos-server-grpc;} }http {upstream cluster {server 127.0.0.1:8847;server 127.0.0.1:8852;server 127.0.0.1:8858;}server {listen 8888;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {#root html;#index index.html index.htm;proxy_pass http://cluster;}}

    Nginx 相關命令:
    啟動nginx命令(指定配置文件啟動)
    nginx/sbin/nginx -c /nginx/conf/nginx.conf
    關閉
    nginx/sbin/nginx -s stop
    重啟
    nginx/sbin/nginx -s reload

    啟動效果

    問題總結

    集群配置連續端口時端口占用問題


    順序啟動8848則連帶啟動9848與9849端口。再啟動8849則需連帶啟動9849與9850,9849端口沖突。

    解決未授權訪問漏洞

    修改application.properties配置項

    ### If turn on auth system: nacos.core.auth.enabled=true

    • 這樣修改后項目連接中需要增加訪問的賬號密碼

    總結

    以上是生活随笔為你收集整理的Nacos2.0.3集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。