Nacos:安装配置(二)
目录
4) 修改访问参数(/conf/application.properties)
一、概述
Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件。用来取代以前常用的注册中心(zookeeper , eureka等等),以及配置中心(spring cloud config等等)。Nacos是集成了注册中心和配置中心的功能,做到了二合一。
Nacos的全称是Dynamic Naming and Configuration Service,Nacos分别取自为Naming和Configuration的前两个字母,最后的s为Service。
Nacos 的官网地址为: https://nacos.io
官方下载地址: https://github.com/alibaba/nacos/releases
官方文档地址: https://nacos.io/zh-cn/docs/quick-start.html
二、Nacos 安装
A)Debian11
1)软件环境
Nacos 版本:2.1.0
操作系统:64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
Mysql:5.7
2)下载源码或者安装包
从最新稳定版本下载 nacos-server-$version.zip,建议采用迅雷下载,免费加速,速度嘎嘎猛
解压nacos-server-$version.zip,到自己安装文件夹目录下
3)mysql配置
1)安装数据库:版本要求:5.6.5+
2)新建数据库nacos,初始化mysql数据库,数据库初始化文件:(nacos安装目录 -> conf ->mysql-schema.sql)
说明:在执行此文件时,要求mysql的版本大于5.7版本(MariaDB最好10.5.11),否则会出现如下错误:
第二步:打开/n
3)修改conf/application.properties文件:增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
# 数据库实例数量
db.num=1
# 数据库连接信息,如果是 MySQL 8.0+ 版本需要添加 serverTimezone=Asia/Shanghai
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.6.13:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user=root
db.password=123456
4)启动服务器
Windows
运行以下命令以独立模式启动服务器。 或者,也可以双击startup.cmd来运行NacosServer
cd bin/
startup.cmd -m standalone
或双击运行 bin/startup.cmd
出现以下内容代表启动成功
注:如果双击运行startup.cmd无法启动,是由于启动默认集群模式,需要在startup.cmd里面添加上配置 SET MODE="standalone"。
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
B) Debian11
1) 安装JDK
安装JDK
Nacos依赖于JDK运行,索引Linux上也需要安装JDK才行。
上传jdk安装包:
上传到某个目录,例如:/usr/local/
然后解压缩:
tar -xvf jdk-8u144-linux-x64.tar.gz
然后重命名为java
配置环境变量:
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
设置环境变量:
source /etc/profile
2) 安装Maven
3) 安装Nacos2
下载该软件包 最新稳定版本 nacos-server-$version.tar.gz 上传至服务器
# 复制下载好的文件到该文件下
cd /usr/local && mkdir nacos && cd nacos
# 解压缩
tar -zxvf nacos-server-2.2.0.tar.gz
4) 修改访问参数(/conf/application.properties)
#*************** Spring Boot Related Configurations ***************#
### Default web context path:
server.servlet.contextPath=/nacos
### Default web server port:
server.port=8848
5) 修改数据源为MYSQL
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.6.13:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
6) 启动
进入 /nacos/bin,执行启动命令
./startup.sh -m standalone
7)关闭
bash /usr/local/nacos/nacos/bin/shutdown.sh
8)启动日志查看
cat /usr/local/nacos/nacos/logs/start.out
三、naocs管理中心
网址:http://192.168.91.128:8848/nacos
初始用户名/密码:nacos/nacos
四、nacos开机启动
windows
1)下载WinSW
插件下载地址:Releases · winsw/winsw · GitHub
2)拷贝exe文件
在nacos的bin目录下,将下载的winsw.exe拷贝到此目录下,并重命名为NacosWinService.exe。
3)新建xml文件
在nacos的bin目录下新建配置文件NacosWinService.xml,写入服务的相关配置:
<?xml version="1.0" encoding="UTF-8"?>
<service>
<!-- 唯一服务ID-->
<id>NacosWinService</id>
<!-- 显示服务的名称 -->
<name>NacosWinService</name>
<description>NacosWinService</description>
<!-- 可执行文件的命令 注意这里的路径改为你的nacos路径-->
<executable>D:\Soft\Tools\nacos-server-2.2.0\nacos\bin\startup.cmd</executable>
<arguments>-m standalone</arguments>
<!-- 日志路径 注意这里的路径改为你的nacos路径-->
<logpath>D:\Soft\Tools\nacos-server-2.2.0\nacos\bin\serviceLogs</logpath>
</service>
4)服务安装
以管理员权限cmd到nacos的bin目录,执行以下命令:
安装服务:NacosWinService.exe install
启动服务:net start NacosWinService
5)如果要停止服务
执行:net stop NacosWinService
6)如果要卸载服务
cmd到nacos的bin目录,执行NacosWinService.exe uninstall
Debain11
1) 开机自启
进入/lib/systemd/system目录,创建nacos.service文件
cd /lib/systemd/system && touch nacos.service
2)编辑nacos.service文件
vi nacos.service增加如下信息 (nacos路径替换成自己的路径即可)
[Unit]
Description=nacos
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone
ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh
ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3)保存后执行以下命令
重新加载服务--设置开机启动--查看设置是否成功--启动服务
#重新加载所有service服务 systemctl daemon-reload #开机启动nacos.service systemctl enable nacos.service #查看该service是否开机启用 systemctl is-enabled nacos.service #启动该服务 systemctl start nacos.service #重启服务 systemctl restart nacos.service
由于项目已经启动,就不再执行启动命令了
4)异常处理
a)有可能遇到以下错误
Job for nacos.service failed because the control process exited with error code. See "systemctl status nacos.service" and "journalctl -xe" for details.
b)查看该服务状态
systemctl status nacos.service
c)由报错可知是jdk没找到,路径为你的nacos安装路径
cd /usr/local/nacos/nacos/bin
vim startup.sh
将JAVA_HOME修改为jdk的路径,注释另外三行
d)重启nacos
systemctl start nacos.service
可能报错: nacos的startup.sh没有执行权限
执行如下命令(路径为你的nacos安装路径)
chmod 755 /usr/local/nacos/bin/startup.sh
五 集群模式
官网文档: 集群部署说明
- 将安装包复制多份
- 配置数据源、伪集群需要配置端口
- 将cluster.conf.example复制一份重命名cluster.conf(配置文件目录:nacos安装目录 -> conf)
- 打开配置文件cluster.conf
- 配置每个nacos服务的IP和端口
- nginx 作为负载均衡
CentOs7之Nacos2.0.3安装及集群配置_大能嘚吧嘚的博客-CSDN博客
集群部署架构图
1.下载
mkdir nacos
wget https://github.com/alibaba/nacos/releases/download/1.4.1/nacos-server-1.4.1.tar.gz
创建多个nacos server,重复三次
tar -zxvf nacos-server-1.4.1.tar.gz
mv nacos nacos8849
1)单机搭建伪集群,复制nacos安装包,修改为nacos8849,nacos8850,nacos8851
2)以nacos8849为例,进入nacos8849目录
2.1)修改 conf\application.properties
的配置,使用外置数据源 要使用mysql5.7+(包括)
#使用外置mysql数据源
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.user.0=root
db.password.0=root
2.2)将conf\cluster.conf.example改为cluster.conf,添加节点配置
# ip:port
192.168.65.220:8849
192.168.65.220:8850
192.168.65.220:8851
nacos8850,nacos8851 按同样的方式配置。
3)创建mysql数据库,sql文件位置:conf\nacos-mysql.sql
4) 如果出现内存不足:修改启动脚本(bin\startup.sh)的jvm参数
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256 -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m"
5) 分别启动nacos8849,nacos8850,nacos8851
以nacos8849为例,进入nacos8849目录,启动nacos
bin/startup.sh
6) 测试
登录 http://192.168.3.14:8849/nacos ,用户名和密码都是nacos
下载nginx
1.添加官方源仓库
yum install -y yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
2.安装openresty
yum install -y openresty
cd /usr/local/openresty/
7)官方推荐,nginx反向代理
192.168.56.220:8847/nacos/
upstream nacoscluster {
server 127.0.0.1:8849;
server 127.0.0.1:8850;
server 127.0.0.1:8851;
}
server {
listen 8847;
server_name localhost;
location /nacos/{
proxy_pass http://nacoscluster/nacos/;
}
}
访问: http://192.168.3.14:8847/nacos
如果是nginx2.x的版本
需要2个注意的:
- 1. 8849 不要在用了。 因为2之后 采用RPC长连接来保持心跳, 所以多了端口 。
-
- 1)nacos端口:8848-nacos默认端口;
- 2)raft协议端口:7848-raft port,即raft协议端口;
- 3)grpc协议两个端口:9848-grpc协议端口(nacos端口+1000) ,9849-grpc协议端口(nacos+1001) 此时8849偏移1000后会和这个端口冲突
- 2.GRPC添加代理也要增加nginx代理
如果是nginx2.2+的版本 需要再为GRPC添加代理
项目连接Nacos2.2.0集群报错 Client not connected, current status:STARTING 解决方案_coisini.cn的博客-CSDN博客
底部新增nacos的grpc协议配置!!!
# nacos的grpc协议配置
stream {
upstream nacoscluster-grpc{
# nacos2版本,grpc端口与要比主端口多1000,主端口为8140、8550、8960
server 192.168.20.128:9849 weight=1;
server 192.168.20.128:9850 weight=1;
server 192.168.20.128:9851 weight=1;
}
server{
# nacos2版本,grpc端口与要比主端口多1000,主端口为 8847
listen 9847;
proxy_pass nacoscluster-grpc;
}
}
1.3 prometheus+grafana监控Nacos(扩展)
Nacos 0.8.0版本完善了监控系统,支持通过暴露metrics数据接入第三方监控系统监控Nacos运行状态。
- 1. nacos暴露metrics数据
management.endpoints.web.exposure.include=*
测试: http://localhost:8848/nacos/actuator/prometheus
- 2. prometheus采集Nacos metrics数据
启动prometheus服务
prometheus.exe --config.file=prometheus.yml
测试:http://localhost:9090/graph
- 3. grafana展示metrics数据
Nacos的依赖父工程
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
客户端:
<!-- nacos客户端依赖包 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
更多推荐
所有评论(0)