首页 > 其他分享 >nacos集群部署

nacos集群部署

时间:2023-08-14 22:44:42浏览次数:37  
标签:8748 部署 nacos 192.168 server -- 集群

准备nacos

一般集群需要至少3个节点。我们先准备3台机器: 192.168.11.200、192.168.11.196、192.168.11.126

nacos 的默认服务端口是 8848 ,但是由于 我们的机器上还有其他nacos 服务正在作用,所以, 我们这里把端口改为 8748, 如下:

192.168.11.200:8748
192.168.11.196:8748
192.168.11.126:8748

我们需要nacos-server 的安装包, 1.0.0.zip 版本并没有 集群的展示功能, 我们这里使用 nacos-server-1.1.0.zip, 这个也是最新的 nacos server 安装包。 (从github 上下载非常耗时, 最好把这个安装包 共享起来)

安装目录是 /app, 没有的话, 需要自己创建。 将nacos-server-1.1.0.zip 上传到 /app 目录, 然后进入cd /app,

 

执行下面的 shell (需要3个节点上都要执行!!):

unzip nacos-server-1.1.0.zip  -d nacos-cluster  && cd nacos-cluster/nacos  && cp conf/cluster.conf.example  conf/cluster.conf  && 

echo "192.168.11.200:8748
192.168.11.196:8748
192.168.11.126:8748" >  conf/cluster.conf  && sed -i s/server\.port=8848/server\.port=8748/  conf/application.properties  && echo "

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://192.168.11.200:3316/test3?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456"  >> conf/application.properties  && sh bin/startup.sh

上面的脚本,需要按照情况修改, 主要是其中的 端口、 数据库配置。  上面的脚本 包括了 启动 nacos。 

 

如果 3个节点都能正常访问了,那么就表明集群部署基本正常了,如果有问题, 那么可以查看nacos 的日志, 位于  logs目录, 主要 是下面几个日志文件:

/app/nacos-cluster/nacos/start.out
/app/nacos-cluster/nacos/nacos.out
/app/nacos-cluster/nacos/naming-raft.out

 

观察集群

3个节点都正常启动之后, 可以分别登录 各个web 界面查看 集群的节点、健康状态:

最开始的时候, 所有节点都没有启动, 集群任期 应该都是0 

如果我们只启动一个节点,那么它的状态会是 candidate:

处于candidate 状态的 集群会一直进行选举, 从而任期也会一直增加:

最先启动的节点, 一般就是 leader , 但这个时候还只是 准leader,需要至少多数节点都启动了, 才能做一个决断。

Nacos + Docker 集群

nacos 官方 https://hub.docker.com/r/nacos/nacos-server  有提供docker 的镜像:nacos/nacos-server,我们拿来用即可:

docker run --name nacos  --net=host --env MODE=cluster --env NACOS_SERVERS="192.168.11.126:8748 192.168.11.196:8748 192.168.11.200:8748" --env MYSQL_DATABASE_NUM=1 --env MYSQL_MASTER_SERVICE_HOST=192.168.11.200 --env MYSQL_MASTER_SERVICE_PORT=3316 --env MYSQL_MASTER_SERVICE_DB_NAME=test3 --env MYSQL_MASTER_SERVICE_USER=root --env MYSQL_MASTER_SERVICE_PASSWORD=123456 --env NACOS_SERVER_PORT=8848 -d -p 8748:8848 nacos/nacos-server

 

上面的语句即启动了 docker nacos ,同时通过env 设置了所有的相关的参数 比如数据库、端口等。 特别需要注意的是, 网络模式是 host,也就是使用直接宿主机的网络, 这个是最简单的nacos +docker 集群,否则我们可能需要做比较多的docker网络配置。 另外注意,  --net=host 应该放在命令的前面, 不能放最后, 否则不会生效。

 

NACOS_SERVERS 是所有的节点+端口 配置,目前只能写死, nacos 不提供自动扩容等功能。

 

如果配置有误,我们只能删除nacos 容器,重新配置 : docker stop nacos && docker rm nacos 。

 

3个节点都执行上面的命令之后,我们的nacos 集群就做好了!

 

通过Nginx配置真正的集群

上面的集群,虽然可用, 但仍不是真正的集群, 我们一般不会这么用。官方推荐,nacos集群一般有3种方式:

http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。

http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。

http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式

 

域名的方式比较麻烦,暂不考虑。vip 的方式也稍稍麻烦。 这里我使用 nginx 的方式。 nginx 做集群很简单, 只要 nginx.conf 做如下的配置就好了:

upstream nacos_server {
server 192.168.11.200:8748;
server 192.168.11.196:8748;
server 192.168.11.126:8748;
}

server {
listen 8648;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://nacos_server;
index index.html index.htm;
}
}

其他注意事项

nacos 默认是需要登录, 有些麻烦,开发测试的时候,我们可以把它关闭,怎么办呢? 修改 conf/application.properties 的相关配置即可:

### turn off security
spring.security.enabled=false
management.security=false
security.basic.enabled=false
nacos.security.ignore.urls=/**

#nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**

 

另外,我们发现 nacos 的日志实在增长太快, 可以tomcat.accesslog 关闭: 

server.tomcat.accesslog.enabled=true – 改为false 

 

另外,我们可以把 日志级别调整一下,修改 conf/nacos-logback.xml 即可。

标签:8748,部署,nacos,192.168,server,--,集群
From: https://www.cnblogs.com/henryZ15/p/17629988.html

相关文章

  • 关于VSAN集群主机报"检测到物理网卡错误率较高"告警处理过程
       VSAN集群主机报"检测到物理网卡错误率较高"告警:    1、使用命令检测物理网卡的丢包情况:esxclinetworknicstatsget-nvmnicX。也可以通过主机->监控->VSAN->性能->物理适配器->选择物理适配器观察丢包率和吞吐量情况。     例如:NICstatisticsforvmnic0 ......
  • 2-04-Nacos配置管理-配置热更新-not practice
    所谓的热更新共有两种实现方式1.@Value+@Refresh针对单一类的配置热更新2.@ConfigurationProperties+@Autowired,针对所有类的配置热更新......
  • 2-05-Nacos配置管理-多环境配置共享-not practice
    单环境配置文件-${spring.application.name}-${spring.profiles.active}.yaml多环境配置文件-${spring.application.name}.yaml配置优先级:${spring.application.name}-${spring.profiles.active}.yaml>-${spring.application.name}.yaml>本地.yaml怀疑-待测:远程的两个可能......
  • springboot整合nacos和dubbo
    0.源码源码:gitee1.版本java:1.8.0_281nacos:2.1.22.创建项目创建一个简单的springboot或者maven项目,或者代码库(gitee/github/其他代码库管理平台)创建一个空白的拉下来,最后只保留一个pom.xml即可.2.1根项目依赖版本控制参考:版本说明其中有一句话Spring......
  • 利用K8S CronJob来实现etcd集群的自动备份
    前言:利用k8sCronJob来实现etcd集群的自动备份,并通过sftp传输到本k8s集群外的服务器上,进行存储。实验步骤:基本环境情况:服务器角色IP系统ETCD版本K8S集群操作服务器192.168.1.136Centos7.93.4.9存储服务器192.168.1.105Centos7.9-创建Dockerfile镜像:[root@k8s-master1~]#mkdir/s......
  • CentOS7 上安装部署chatglm2-6b
          按照说明文档,先按照了最新版本的Python,官网下载了最新的版本3.11后,一顿操作感觉分分钟就安装完了。但是继续安装chatglm2-6b所需的依赖包时,就遇到了N多坑点,为了解决这些坑点,耗时真的很长(按周计算的那种)。如果是CPU服务器,则至少需要30G内存。      ......
  • Linux的Nginx安装部署
    简介Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。Nginx在WEB开发领域,基本上也是必备组件之一了。安装Nginx......
  • mcafee审计安装部署
    环境:OS:Centos7mysql:5.7.29 1.下载https://github.com/mcafee/mysql-audit找到与mysql版本匹配的版本下载我这里下载的是audit-plugin-mysql-5.7-1.1.7-913-linux-x86_64.zip该版本支持的mysql如下MySQL64 8.0.22,9.0.21,8.0.20,8.0.19,8.0.18,8.0.17,8.0.16,8.0.1......
  • Linux的Tomcat安装部署
    简介Tomcat是由Apache开发的一个Servlet容器,实现了对Servlet和JSP的支持,并提供了作为web服务器的一些特有功能,如Tomcat管理和控制平台,安全域管理和Tomcat阀等。简单说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务。即让用......
  • 记录一次调查OpenEuler上部署K8s,CoreDNS组件一直 CrashLoopBackOff ,describe 时 Back
    详细过程不赘述了。百度了很多办法都不可用,然后尝试重装k8s好多次也不管用。 最后解决。kubectleditdeploymentcoredns-nkube-systemapiVersion:apps/v1kind:Deploymentmetadata:annotations:deployment.kubernetes.io/revision:"2"creationTimestamp......