CentOS环境下Nacos2.3集成PostgreSQL


title: CentOS环境下Nacos2.3集成PostgreSQL
date: 2023-12-21 19:15:00
categories: Nacos
description: CentOS环境下Nacos2.3集成PostgreSQL

1. 目录

NACOS

  • 1. 目录
  • 2. 简介
  • 3. 安装部署
    • 3.1. 部署模式
    • 3.2. 环境准备
    • 3.3. 下载安装文件
    • 3.4. PostgreSQL插件
      • 3.4.1. 下载地址
      • 3.4.2. 结构
      • 3.4.3. 编译
      • 3.4.4. 初始化SQL
  • 4. 修改配置
  • 5. 启动服务
  • 6. 配置开机自启
    • 6.1. 添加nacos.service文件
    • 6.2. 加入Nacos服务
    • 6.3. 设置开机自启
    • 6.4. 启动/停止
  • 7. 可能存在问题

2. 简介

Nacos 是阿里巴巴最新开源的项目,核心定位是 一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台Nacos 提供一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

项目地址:https://github.com/alibaba/nacos/releases。

Nacos 提供四个主要功能:

  • 服务发现和服务运行状况检查

Nacos 使服务易于注册并通过DNS或HTTP接口发现其他服务。 Nacos 还提供服务的实时运行状况检查,以防止向不正常的主机或服务实例发送请求

  • 动态配置管理

动态配置服务使您可以在所有环境中以集中和动态的方式管理所有服务的配置。 Nacos 消除了在更新配置时重新部署应用程序和服务的需求,这使配置更改更加有效和敏捷。

  • 动态DNS服务

Nacos 支持加权路由,使您更轻松地在数据中心内的生产环境中实施中间层负载平衡,灵活的路由策略,流控制和简单的DNS解析服务。它可帮助您轻松实现基于DNS的服务发现,并防止应用程序耦合到特定于供应商的服务发现API。

  • 服务和元数据管理

Nacos提供了一个易于使用的服务仪表板,可帮助您管理服务元数据,配置,kubernetes DNS,服务运行状况和指标统计信息。

3. 安装部署

3.1. 部署模式

  • 单机模式 - 用于测试和单机试用。
  • 集群模式 - 用于生产环境,确保高可用。
  • 多集群模式 - 用于多数据中心场景。

3.2. 环境准备

  • JDK17+
  • PostgreSQL 16.1

3.3. 下载安装文件

从官方网站下载最新安装 latest stable release。

这里以nacos-server-x.x.x.tar.gz作为演示版本。

下载完之后,解压文件,这块就没什么好说的,具体在什么目录下,自行定义。为了安全需要,还是创建一个用户nacos用于启停nacos服务。


[root@localhost nacos]$ pwd
/data/nacos

3.4. PostgreSQL插件

3.4.1. 下载地址

https://github.com/wuchubuzai2018/nacos-datasource-extend-plugins.git

3.4.2. 结构

下载来时的是源码,文件结构如下:


nacos-datasource-plugin-ext|---nacos-all-datasource-plugin-ext|---nacos-datasource-plugin-ext-base              ---------|---nacos-postgresql-datasource-plugin-ext|---src|---resources|---schema|---nacos-pg.sql
3.4.3. 编译

下载完毕,编译成功后,nacos-postgresql-datasource-plugin-ext.jar 下生成的 Jar,拷贝至 NACOS_HOMEplugins 文件夹下。

3.4.4. 初始化SQL

PostgrelSQL初始化脚本在 nacos-postgresql-datasource-plugin-ext 路径下 src/resources/schema 下。

4. 修改配置

配置文件也在naocs安装文件夹conf下,文件名称application.properties,配置文件中提供修改默认端口、访问路径的属性等,我这为演示需要,只添加了数据库配置项,仅供参考。


pring.datasource.platform=postgresqldb.num=1
db.url.0=jdbc:postgresql://127.0.0.1:15433/postgres?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java
db.user=postgres
db.password=password
db.pool.config.driverClassName=org.postgresql.Driver

5. 启动服务

独立模式服务运行比较简单,直接指定-m模式命令后的参数启动即可。

[naocs@localhost bin]$ sh startup.sh -m standalone

Windows平台中可以双击 startup.cmd 以运行 NacosServer

cmd startup.cmd -m standalone

后台启动日

浏览器访问地址:http://ip:port:8848/nacos

输入默认账号密码:nacos/nacos,即可看到

启动后效果

单机独立模式启动成功!!!

在实际生产环境中 Nacos 肯定都是集群模式,一般而言,集群模式至少3个节点。

集群配置文件在安装文件夹confcluster.conf ,将每个 nacos 节点按照IP:PORT格式配置即可,按行分割。

//IP:PORT
192.168.9.121:8848
192.168.9.122:8848
192.168.9.122:8848

启动命令sh startup.sh,不带任何参数。

使用 Nacos 集群需要利用负载均衡来代理每个节点,额外的配置非本篇重点介绍,大家自行完成。

6. 配置开机自启

6.1. 添加nacos.service文件

/lib/systemd/system/ 路径下,添加 nacos.service 文件。


[Unit]
Description=nacos
After=network.target[Service]
Type=forking
ExecStart=/data/nacos/nacos//bin/startup.sh -m standalone
ExecReload=/data/nacos/nacos/bin/shutdown.sh
ExecStop=/data/nacos/nacos//bin/shutdown.sh
PrivateTmp=true[Install] 
WantedBy=multi-user.target

6.2. 加入Nacos服务


systemctl daemon-reload

6.3. 设置开机自启


systemctl enable nacos.service

6.4. 启动/停止


systemctl start nacos.servicesystemctl stop nacos.service

7. 可能存在问题

启动过程中可能存在错误,Nacos 是有 JAVA 开发而成,在启动的时候需要 JDK 版本,在系统环境中已经配置 JAVA_HOME ,在 service 脚本中,会从 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin 这些路径中寻找 javac,需要将我们自己的 JAVA 目录软链接到 /usr/bin/java 即可

20231225100055

所以需要建立软连接


ln -s /data/jdk/jdk17/bin/javac /usr/bin/javacchmod +x /data/jdk/jdk17/bin/javac

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/298400.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Podman配置mongodb

文章目录 查询镜像拉取镜像查看镜像运行容器创建root用户 查询镜像 podman search mongo拉取镜像 podman pull docker.io/library/mongo查看镜像 podman images运行容器 podman run -d -p 27017:27017 --namemongodb-test docker.io/library/mongo创建root用户 podman exe…

太牛叉了!国产 AI 智能体惊艳问世,全面致敬 FastGPT!

太震撼了!太厉害了!昆仑万维正式发布了「天工 SkyAgents」平台,助力大模型走入千家万户。你听听,这个名字一听就有一种巧夺天工的感觉,技艺那是相当的高超。 这个平台基于昆仑万维「天工大模型」打造,具备…

[Angular] 笔记 8:list/detail 页面以及@Input

1. list 页面 list/detail 是重要的 UI 设计模式。 vscode terminal 运行如下命令生成 detail 组件: PS D:\Angular\my-app> ng generate component pokemon-base/pokemon-detail --modulepokemon-base/pokemon-base.module.ts CREATE src/app/pokemon-base/p…

蓝桥杯c/c++程序设计——数位排序

数位排序【第十三届】【省赛】【C组】 题目描述 小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。 当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。 例如&#xff0…

whistle网络监控 fiddler的开源替代

github源码:https://github.com/avwo/whistle 官网说明:http://wproxy.org/whistle/ windows/mac一键安装 先安装nodejs 然后运行命令 npm i -g whistle && w2 start --init启动 w2 start停止 w2 stop注意停止后要手动关闭代理服务器设置 w…

一个利用摸鱼时间背单词的软件

大家好,我是 Java陈序员。 最近进入了考试季,各种考试,英语四六级、考研、期末考等。不知道大家的英语四六级成绩怎么样呢? 记得大学时,英语四级都是靠高中学习积累的老本才勉强过关。 而六级则是考了多次&#xff…

Yolov5水果分类识别+pyqt交互式界面

Yolov5 Fruits Detector Yolov5 是一种先进的目标检测算法,可以应用于水果分类识别任务。结合 PyQT 框架,可以创建一个交互式界面,使用户能够方便地上传图片并获取水果分类结果。以下将详细阐述 Yolov5 水果分类识别和 PyQT 交互式界面的实现…

助欣科技携手鼎捷雅典娜,重磅打造“车间智报工”云端新应用

在专注于制造业整体信息化解决方案并积极进行软件开发的同时,助欣科技也思考着一项重要议题:如何在数智化转型大视野中聚焦行业痛点?关于这个问题,助欣科技给出了自己的答案——车间智报工。 行业放大镜:聚焦中小型制造…

阿里云服务器本地localhost换成本地的IP地址后不能访问的原因

阿里云服务器本地localhost换成本地的IP地址后不能访问的原因 问题在安装以及配置都没有问题的情况下我使用localhost:5001(127.0.0.1:5001)都可以正常使用,但是我是用本机Ip地址的时候发现无法打开网页以上这个问题出现在我阿里云的服务器上…

Java_Stream流

一、JDK8新特性(Stream流) 接下来学习一个全新的知识,叫做Stream流(也叫Stream API)。它是从JDK8以后才有的一个新特性,是专业用于对集合或者数组进行便捷操作的。有多方便呢?我们用一个案例体…

vue3组件通信(父给子传参,子调用父的方法,父调用子的方法,顶层组件给底层组件传参,底层组件调用顶层组件的方法)

目录 1.父传子(父给子传参) 2.子传父(子调用父的方法) 3.父调用子的方法 4.顶层给底层传参,底层调用顶层的方法 5.模板引用 1.父传子(父给子传参) ①.步骤 父组件中给子组件通过绑定属性…

48V转12V 300mA降压芯片,60V耐压、0.6A稳压芯片带ECO模式-AH590L

AH590L是一种48V转12V 300mA降压芯片,具有60V耐压、0.6A稳压电流的特点,并且还带有ECO模式,是一种理想的开关电源解决方案。 AH590L是PWM模式 DC/DC降压转换器。TEL:l86*4884*3702*宽输入电压范围4至60V适用于工业领域的广泛应用…