• CentOS7安装部署Nacos


    CentOS7安装部署Nacos

    一、前言

    1.简介

    一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台

    2.环境

    • Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
    • JDK 版本:Java SE Development Kit 11.0.19
    • MySQL 版本:mysql80-community-release-el7-9
    • Nacos 版本:2.2.3

    Nacos 官网:https://nacos.io/zh-cn/index.html

    Nacos - github:https://github.com/alibaba/nacos/tags

    Nacos 鉴权:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

    Nacos 多数据源插件:https://nacos.io/zh-cn/docs/v2/plugin/datasource-plugin.html

    Nacos 集群部署说明 :https://nacos.io/zh-cn/docs/v2/guide/admin/cluster-mode-quick-start.html

    CentOS7安装部署Java11:https://blog.csdn.net/u011424614/article/details/132418561

    CentOS7安装部署MySQL80:https://blog.csdn.net/u011424614/article/details/132418916

    keepalived识别MGR主节点:https://blog.csdn.net/u011424614/article/details/133222266

    nginx入门和使用实践:https://blog.csdn.net/u011424614/article/details/107051875

    CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916

    二、正文

    1.部署服务器

    • Nacos 端口
    端口描述
    7848集群数据同步端口
    8848Web管理端访问端口
    9848客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
    9849服务端gRPC请求服务端端口,用于服务间同步等
    • 服务器
    机器名IP软件包
    sys-cluster-01192.168.249.131Nacos
    sys-cluster-02192.168.249.132Nacos
    sys-cluster-03192.168.249.133Nacos
    sys-cluster-04192.168.249.134MySQL

    2.基础环境

    1)主机名

    • 修改 4 台服务器的主机名
    # 131 执行
    hostnamectl set-hostname sys-cluster-01 --static
    hostnamectl set-hostname sys-cluster-01 --transient
    
    # 132 执行
    hostnamectl set-hostname sys-cluster-02 --static
    hostnamectl set-hostname sys-cluster-02 --transient
    
    # 133 执行
    hostnamectl set-hostname sys-cluster-03 --static
    hostnamectl set-hostname sys-cluster-03 --transient
    
    # 134 执行
    hostnamectl set-hostname sys-cluster-04 --static
    hostnamectl set-hostname sys-cluster-04 --transient
    
    # 查询状态
    hostnamectl status
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    2)Hosts文件

    • 修改 4 台服务器的 hosts 文件
    cat > /etc/hosts <
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3)关闭防火墙

    • 可禁用防火墙,或配置开放的端口,后者比较安全
    #--关闭防火墙
    systemctl stop firewalld.service
    #--开机禁用防火墙
    systemctl disable firewalld.service
    #--防火墙状态
    systemctl status firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4)JDK 安装部署

    在 4 台服务器上安装JDK

    5)MySQL 安装部署

    在 134 服务器上安装MySQL

    1. 安装目录:/usr/local/mysql
    2. 数据库文件目录,例如表结构和数据:/var/lib/mysql
    3. 日志文件目录:/var/log/mysql
    4. 配置文件目录:/etc/mysql
    5. 用户名:root 密码:Root@#123456

    3.外置数据源

    在 134 服务器上执行

    • 数据源选择
    1. 内置数据源:无需进行任何配置
    2. 外置数据源:生产使用建议至少主备模式,或者采用高可用数据库

    1)下载软件包

    • 创建安装目录,并下载
    mkdir /opt/nacos
    cd /opt/nacos
    
    # 下载
    wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz --no-check-certificate
    # 解压
    tar -xzf nacos-server-2.2.3.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2)导入数据

    • 登录 mysql 客户端,并执行 nacos 自带的 SQL 文件
    mysql -ruoot -p
    
    # 创建数据库
    CREATE DATABASE nacos_config;
    USE nacos_config;
    # 执行 sql 文件
    SOURCE /opt/nacos/nacos/conf/mysql-schema.sql
    # 查询
    show tables;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4.单机部署

    在 131 服务器上执行

    1)下载软件包

    • 创建安装目录,并下载
    mkdir /opt/nacos
    cd /opt/nacos
    
    # 下载
    wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz --no-check-certificate
    # 解压
    tar -xzf nacos-server-2.2.3.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2)修改配置文件

    • 编辑 application.properties 配置文件

    【Config Module Related Configurations】段:配置 MySQL 数据库

    【Access Control Related Configurations】段:开启鉴权

    1. nacos.core.auth.plugin.nacos.token.secret.key:使用 Base64 在线编码 进行密钥生成,至少 32 个字符
    vim /opt/nacos/nacos/conf/application.properties
    
    • 1
    • 内容
    ### If use MySQL as datasource:
    spring.datasource.platform=mysql
    
    ### Count of DB:
    db.num=1
    
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://sys-cluster-04:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=Root@#123456
    
    
    ### If turn on auth system:
    nacos.core.auth.enabled=true
    ### The two properties is the white list for auth and used by identity the request from other server.
    nacos.core.auth.server.identity.key=nacos
    nacos.core.auth.server.identity.value=nacos
    ### The default token (Base64 String):
    nacos.core.auth.plugin.nacos.token.secret.key=amxramxramtsamFkc2Zhc2RmYXNkZmE1NjQ1NmY0NWFzZDRmNjU0YXM1NmRmNDZhNXNk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    3)单机启动

    • 单机模式运行
    # 执行权限
    chmod +x /opt/nacos/nacos/bin/startup.sh
    chmod +x /opt/nacos/nacos/bin/shutdown.sh
    
    cd /opt/nacos/nacos/bin
    # 启动
    ./startup.sh -m standalone
    # 停止
    ./shutdown.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 日志输出
    # 实时输出
    tail -f /opt/nacos/nacos/logs/start.out
    # 静态输出
    cat /opt/nacos/nacos/logs/start.out
    
    • 1
    • 2
    • 3
    • 4
    • 浏览器访问:http://192.168.249.131:8848/nacos
    • 输入账号和密码:nacos / nacos

    4)自启动

    • 创建 nacos.service
    cat > /etc/systemd/system/nacos.service <
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 启动服务,并设置开机自启动
    systemctl daemon-reload
    systemctl start nacos.service
    systemctl enable nacos.service
    
    • 1
    • 2
    • 3
    • 查询 Nacos 进程状态
    systemctl status nacos.service
    
    • 1

    5.集群部署

    1)下载软件包

    在 131 服务器上执行

    • 创建安装目录,并下载
    mkdir /opt/nacos
    cd /opt/nacos
    
    # 下载
    wget https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz --no-check-certificate
    # 解压
    tar -xzf nacos-server-2.2.3.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2)修改配置文件

    在 131 服务器上执行

    (1)application.properties
    • 编辑 application.properties 配置文件

    【Config Module Related Configurations】段:配置 MySQL 数据库

    【Access Control Related Configurations】段:配置鉴权信息

    1. nacos.core.auth.plugin.nacos.token.secret.key:使用 Base64 在线编码 进行密钥生成,至少 32 个字符
    vim /opt/nacos/nacos/conf/application.properties
    
    • 1
    • 编辑内容
    ### If use MySQL as datasource:
    spring.datasource.platform=mysql
    
    ### Count of DB:
    db.num=1
    
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://sys-cluster-04:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=Root@#123456
    
    
    ### If turn on auth system:
    nacos.core.auth.enabled=true
    ### The two properties is the white list for auth and used by identity the request from other server.
    nacos.core.auth.server.identity.key=nacos
    nacos.core.auth.server.identity.value=nacos
    ### The default token (Base64 String):
    nacos.core.auth.plugin.nacos.token.secret.key=amxramxramtsamFkc2Zhc2RmYXNkZmE1NjQ1NmY0NWFzZDRmNjU0YXM1NmRmNDZhNXNk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    (2)cluster.conf
    • 拷贝并编辑 cluster.conf
    # 拷贝
    cp /opt/nacos/nacos/conf/cluster.conf.example /opt/nacos/nacos/conf/cluster.conf
    
    # 编辑
    vim /opt/nacos/nacos/conf/cluster.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 编辑内容,Nacos 集群的IP和端口列表
    #it is ip
    192.168.249.131:8848
    192.168.249.132:8848
    192.168.249.133:8848
    
    • 1
    • 2
    • 3
    • 4

    3)拷贝Nacos

    在 131 服务器上执行

    • 拷贝 Nacos 到其它服务器
    scp -r /opt/nacos root@192.168.249.132:/opt/nacos
    scp -r /opt/nacos root@192.168.249.133:/opt/nacos
    
    • 1
    • 2

    4)集群启动

    在 131、132、133 服务器上执行

    • 启动
    # 执行权限
    chmod +x /opt/nacos/nacos/bin/startup.sh
    chmod +x /opt/nacos/nacos/bin/shutdown.sh
    
    cd /opt/nacos/nacos/bin
    # 启动
    ./startup.sh
    # 停止
    ./shutdown.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 日志输出
    # 实时输出
    tail -f /opt/nacos/nacos/logs/start.out
    # 静态输出
    cat /opt/nacos/nacos/logs/start.out
    
    • 1
    • 2
    • 3
    • 4
    • 浏览器访问:
    1. http://192.168.249.131:8848/nacos
    2. http://192.168.249.132:8848/nacos
    3. http://192.168.249.133:8848/nacos
    • 输入账号和密码:nacos / nacos

    5)自启动

    在 131、132、133 服务器上执行

    • 创建 nacos.service
    cat > /etc/systemd/system/nacos.service <
systemctl daemon-reload
systemctl start nacos.service
systemctl enable nacos.service
  • 1
  • 2
  • 3
systemctl status nacos.service
  • 1

6)进阶部署

Nacos 集群部署说明 :https://nacos.io/zh-cn/docs/v2/guide/admin/cluster-mode-quick-start.html

三、其它

1.常用命令

命令说明
systemctl daemon-reload重新加载服务配置
systemctl start nacos.service启动服务
systemctl enable nacos.service开机自启动服务
systemctl status nacos.service查询服务状态
systemctl stop nacos.service停止服务
systemctl restart nacos.service重启服务
systemctl disable nacos.service禁用开机自启动服务
  • 相关阅读:
    152. 谈谈 SAP UI5 变量和方法的命名规范
    JavaScript 63 JavaScript 对象 63.5 JavaScript 对象访问器
    【无标题】
    [附源码]计算机毕业设计时间管理软件appSpringboot程序
    找不到vcomp100.dll,无法继续执行代码怎样修复
    java毕业设计——基于java+J2EE+sqlserver的在线考试系统设计与实现(毕业论文+程序源码)——在线考试系统
    mysql [Err] 1118 - Row size too large (> 8126).
    STM32 定时器1应用+PWM输入捕获输出设置
    Mybatis -- 使用
    Reflex WMS中阶系列7:已经完成拣货尚未Load的HD如果要取消拣货,该如何处理?
  • 原文地址:https://blog.csdn.net/u011424614/article/details/133579224