工欲善其事之Nacos环境搭建

Nacos中的几个名词

Nacos 是Dynamic Naming and Configuration Service的缩写。一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心。

对于Nacos配置管理,通过Namespace、Group、Data ID 能够定位到一个配置集

配置集 Data ID

在系统中,一个配置文件通常就是一个配置集,一个配置集可以包含了系统的各种配置信息,如一个配置集可能包含了数据库等配置项。每个配置集都可以定义一个有意义的名称

配置项:配置集中包含的一个个配置内容就是配置项。它代表一个具体的可配置的参数与其值域,通常以 key=value 的形 式存在。例如我们常配置系统的日志输出级别(logLevel=INFO|WARN|ERROR) 就是一个配置项。

配置分组(Group)

配置分组是对配置集进行分组,通过一个有意义的字符串来标识,不同的配置分组下可以有相同的配置集。配置分组的名称默认是DEFAULT_GROUP

命名空间(Namespace)

命名空间可用于进行不同环境的配置隔离。如隔离开发、测试和生产环境。不同的命名空间下可以存在相同名称的配置分组(Group)或配置集(Data ID)

通常情况下 命名空间+dataId+group可以为唯一确认一个配置文件

Nacos的安装
Nacos单机环境搭建

从GitHub上下载源码

git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  
ls -al distribution/target/

// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin

进入nacos对应版本下 执行命令

cd nacos-server-1.2.1/nacos/bin
-- standalone代表单机模式
sh startup.sh -m standalone

nacos启动默认端口是8848, 上下文是/nacos 默认用户名密码是nacos/nacos

在浏览器访问即可进入nacos管理界面,如

http://localhost:8848/nacos

关闭nacos服务器命令

sh $Nacos_HOME/bin/shutdown.sh

Nacos集群搭建

这里以三个Nacos节点来搭建集群

1、我们可以复制之前已经解压好的nacos文件夹,分别命名为nacos、nacos1、nacos2

2、在所有nacos目录的conf目录下都有cluster.conf.example,将其命名为cluster.conf,并配置每个节点的ip:port

127.0.0.1:8848
127.0.0.1:8849
127.0.0.1:8850

3、以集群模式启动

在每个$NACOS_HOME/bin下执行命令

./startup.sh -m cluster

4、启动成功后,可在127.0.0.1:8848、127.0.0.1:8849、127.0.0.1:8850任一节点访问nacos

持久化nacos配置数据

默认情况下 Nacos中的配置数据是存放在基于内存的detby数据库的,为了防止服务器宕机后数据丢失,因此需要将配置数据持久化至数据库。

而Nacos是支持MySQL数据库的,具体配置如下:

1、新建数据库,比如数据库名称是nacos,导入数据库的初始化文件,文件是$NACOS_HOME/conf/nacos-mysql.sql

2、修改$NACOS_HOME/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://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

3、随后重启nacos服务器即可

安装中遇到的问题

问题:mac升级到bigsur后,nacos中startup.sh启动失败,查看nacos中start.out日志记录发现如下报错

nohup: /Library/Internet: No such file or directory

解答:这个问题其实跟mac环境有关,mac自带有一个jdk,如下所示有两个,第一个就是系统自带的而第二个是自己安装的jdk

/usr/libexec/java_home -v
-- 系统自带
java_home: option requires an argument -- v
-- 自己安装的
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

问题的关键就在于nacos所匹配到的jdk为系统自带的,也就是上面第一个,而它的路径Internet Plug-Ins中存在一个空格,这个空格会导致shell脚本失效。目前看应该和bigsur有关。

解决方式是在startup.sh中手动指定自己的JAVA_HOME

比如将

export JAVA_HOME
export JAVA="$JAVA_HOME/bin/java"

改为

export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
export JAVA="$JAVA_HOME/bin/java"

然后重新执行启动命令即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值