爆炸之linux-nacos2.0系列集群安装部署

一、环境配置

1、新建磁盘分区

fdisk /dev/vdb 

2、创建文件系统

mkfs.xfs /dev/vdb1

3、创建挂载点: 在 / 目录下创建一个新的目录作为挂载点。/afc 目录

mkdir /afc

4、挂载磁盘: 使用 mount 命令将磁盘挂载到新创建的目录。

mount /dev/vdb /afc

5、编辑 /etc/fstab 文件实现系统启动时自动挂载。

/dev/vdb1       /data       xfs    defaults 1 1

6、将 /afc 目录的所有权和组设置为 afc。 afc 是用户组和用户的名称

chown afc.afc /afc

上述操作方便管理,如果不是项目要求,自己搭建玩玩,可以不用操作

二、下载安装包

您可以从 最新稳定版本 下载 nacos-server-$version.zip 包 或 nacos-server-$version.tar.gz

选择你想要的版本安装,本次是nacos-server-2.2.1

三、nacos所需要的条件配置

nacos官网,本次是安装的2.xxx的版本

https://nacos.io/docs/v2/guide/admin/cluster-mode-quick-start/

下列是必须要满足的条件

请确保是在环境中安装使用:

  1. 64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
  2. 64 bit JDK 1.8+;下载. 配置。
  3. Maven 3.2.x+;下载. 配置。
  4. 3个或3个以上Nacos节点才能构成集群。
  5. 数据库5.7+。

四、安装所需要得条件配置

1、jdk安装的是:1.8.0_411

详细的教程 : https://blog.csdn.net/qq_54202620/article/details/137926105

2、maven安装的是:3.9.6

详细的教程: https://blog.csdn.net/qq_54202620/article/details/137926433

3、mysql安装的是 : mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

详细的教程:https://blog.csdn.net/qq_54202620/article/details/137926771

五、正式进入nacos步骤

5.1 创建nacos的数据库

1、创建数据库

  • 进入nacos放的目录下

    cd /conf
    

在这里插入图片描述

  • 登录数据库

    mysql -uroot -p
    
    • 输入设置好的密码进入数据库
    use mysql;
    #创建nacos要用到的数据库,这个会在application.properties这个配置文件中用到
    create database nacos;
    #查看是否创建成功
    show databases;
    

    在这里插入图片描述

  • 生效表创建sql(刚刚是切换的这个目录下的mysql-schema.sql)

    use nacos;
    source mysql-schema.sql;
    show tables;
    #看到下面的图片代表创建成功
    

在这里插入图片描述

2、给数据库设置权限

# 1、登录数据库
#执行以下命令,记得修改密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
#然后刷新权限
FLUSH PRIVILEGES;

5.2 修改application配置文件

删除下面配置文件前面的#

注意:

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?  #这个nacos就是你创建的用来生效 mysql-schema.sql的库名
db.user.0=root
db.password.0=Abcdefg@123  #这两个改成你的用户名和密码
server.error.include-message=ALWAYS
### Default web server port:
server.port=8849    #端口可以自己修改,也可不休改

#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
# nacos.inetutils.prefer-hostname-over-ip=false

### Specify local server's IP:
# nacos.inetutils.ip-address=


#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
spring.datasource.platform=mysql               #这个要使用数据库就得放开
# spring.sql.init.platform=mysql

### Count of DB:
db.num=1               #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.0=root
db.password.0=Abcdefg@123

### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20

在这里插入图片描述

5.3 避坑小指南

我在启动的过程成报错信息:
在这里插入图片描述

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

Caused by: java.lang.IllegalArgumentException: the length of secret key must great than or equal 32 bytes; And the secret key must be encoded by base64.Please see https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

我们转到错误中的网址:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

这是nacos官方文档关于配置属性的说明,对应下载的nacos文件位置为:nacos–>conf–>application.properties

重点是字段

nacos.core.auth.plugin.nacos.token.secret.key

在这里插入图片描述

再结合官方文档发现,在2.2.0.1版本之后,该字段默认为空,我们要手动赋值,不然就会无法启动

如果是自己的nacos,不关心安全,可以在配置文件中将该字段设置成:

SecretKey012345678901234567890123456789012345678901234567890123456789

在使用高版本nacos后,还有一个坑,nacos会默认使用集群方式启动,会启动失败,我们可以在nacos–>bin–>startup.cmd文件中将MODE属性改为 standalone

我们本来就以集群模式启动,无需在意

5.4 集群化配置

application配置完成后,修改cluster.conf配置文件

1、复制cluster.conf

cluster.conf这个文件本来是没有的,存在的形式是下图所示,所以要复制一份

cp cluster.conf.example cluster.conf

在这里插入图片描述

2、编辑cluster.conf

vim cluster.conf

#把下面的ip改成你用到的ip地址

在这里插入图片描述

5.5 修改启动文件

考虑的你所用的服务器性能,选择性修改启动文件

cd /root/nacos/bin
vim startup.sh
#将下面圈上的地方改成512

在这里插入图片描述

5.6 启动nacos

终于到了最后一步了,坚持就是胜利

cd /root/nacos/bin
sh startup.sh   #以集群方式启动
cat /root/nacos/logs/start.out   #查看启动日志
#如下显示成功

在这里插入图片描述

5.7 访问nacos

如果有防火墙记得放行端口哦

浏览器访问

http://8.149.128.250:8849/nacos

输入账号密码登录

nacos
nacos

访问成功查看节点,集群里面的全在,nice一台搞定

在这里插入图片描述

六、另外的集群里面的主机配置

6.1 前期准备

环境配置可照第一环境配置这个来配

如果网落连通的,使用scp把maven、mysql、jdk文件传到另外的两台机上

scp 压缩包名 username@ip:/root
#username:你登录的用户名
#你要传过去的ip
#冒号后面是你要接受的路径

6.2 安装jdk 、maven可照上面的来操作

6.3 修改application这个文件

最重要的一步,因为是复制过来的别的无需在再修改

只要修改数据库连接地址为你安装的数据库那台机的地址即可

修改

db.url.0=   #

在这里插入图片描述

6.4 启动nacos

终于到了最后一步了,坚持就是胜利

cd /root/nacos/bin
sh startup.sh   #以集群方式启动
cat /root/nacos/logs/start.out   #查看启动日志
#如下显示成功

在这里插入图片描述

6.5 访问nacos

如果有防火墙记得放行端口哦

浏览器访问

http://8.149.128.250:8849/nacos  #地址记得修改哦

输入账号密码登录

nacos
nacos

访问成功查看节点,集群里面的全在,nice又一台搞定

在这里插入图片描述

第三台一样的操作

七、nginx实现负载均衡

7.1 下载nginx安装包

Nginx的官方下载网站为http://nginx.org/en/download.html

7.2 环境准备

如果通过Nginx源码安装需要提前准备的内容:

GCC编译器

Nginx是使用C语言编写的程序,因此想要运行Nginx就需要安装一个编译工具。GCC就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了C语言。

使用命令yum install -y gcc来安装

安装成功后,可以通过gcc --version来查看gcc是否安装成功

PCRE

Nginx在编译过程中需要使用到PCRE库(perl Compatible Regular Expressoin 兼容正则表达式库),因为在Nginx的Rewrite模块和http核心模块都会使用到PCRE正则表达式语法。

可以使用命令yum install -y pcre pcre-devel来进行安装

安装成功后,可以通过rpm -qa pcre pcre-devel来查看是否安装成功

zlib

zlib库提供了开发人员的压缩算法,在Nginx的各个模块中需要使用gzip压缩,所以我们也需要提前安装其库及源代码zlib和zlib-devel

可以使用命令yum install -y zlib zlib-devel来进行安装

安装成功后,可以通过rpm -qa zlib zlib-devel来查看是否安装成功

OpenSSL

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。

SSL:Secure Sockets Layer安全套接协议的缩写,可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。在Nginx中,如果服务器需要提供安全网页时就需要用到OpenSSL库,所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。

可以使用命令yum install -y openssl openssl-devel来进行安装

安装成功后,可以通过rpm -qa openssl openssl-devel来查看是否安装成功

上述命令,一个个来的话比较麻烦,我们也可以通过一条命令来进行安装

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

进行全部安装。

7.3 Nginx的源码简单安装

(1)进入官网查找需要下载版本的链接地址,然后使用wget命令进行下载

wget http://nginx.org/download/nginx-1.16.1.tar.gz

(2)建议大家将下载的资源进行包管理

mkdir -p nginx/core
mv nginx-1.16.1.tar.gz nginx/core

(3)解压缩

tar -xzf nginx-1.16.1.tar.gz

(4)进入资源文件中,发现configure

./configure

(5)编译

make

(6)安装

make installll

(7)在安装目录下/usr/local/nginx下进入sbin然后在执行./nginx

如果80端口被占用,使用这个命令

 fuser -k 80/tcp

7.4 配置nginx.conf

1、创建nacos用户方便管理

useradd nacos

2、修改配置文件

vim /usr/local/nginx/conf/nginx.conf

下面就是配置文件了,对照配置文件自行修改就好

#user  nobody;
worker_processes  2;                                                  #删除前面的#
user nacos;                                                           #nacos用户

error_log  logs/error.log;                                            #错误日志
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;                                            #pid


events {
    worker_connections  1024;
    #设置Nginx网络连接序列化
    accept_mutex on;
                #设置Nginx的worker进程是否可以同时接收多个请求
    multi_accept on;
    use epoll;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #access_log  logs/access.log  main;
    log_format nacos '===>nacos access log';
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    include /home/nacos/conf.d/*.conf;
    server {
        listen       86;
        server_name  www.mynacos.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

 #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
                  
                         

在这里插入图片描述

3、修改负载核心文件

刚创建的用户就是用来放nacos的配置文件的

在上面的/usr/local/nginx/conf/nginx.conf中的include的作用就是用来把子配置文件包括进去能使用,这样做

可以防止业务多了搞混,这样能单独管理

cd /home/nacos
mkdir conf.d
vim nacos.conf
upstream nacos{
    server 118.178.138.175:8849;
    server 8.136.105.15:8849;
    server 8.149.128.250:8849;
}
server {
    listen 8849;
    server_name localhost;
    location /{
       proxy_pass http://nacos;
    }
}

7.5 启动

cd /usr/local/nginx/sbin/
./nginx
ps -ef|grep nginx

7.6 访问

ip:端口/nacos

在这里插入图片描述

访问成功

7.7 测试

新建一个配置测试:

在这里插入图片描述

在这里插入图片描述

登录数据库查看验证

mysql -uroot -p
show databases;
use nacos_config;
show tables;
select * from config_info;

文件同步了,成功:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2022年新华三杯决赛题目

2022年新华三杯决赛题目 拓扑图 请考生根据以上拓扑,自行在 HCL 中创建设备。 注意: 本拓扑图中的交换机与防火墙,所显示的接口标示比实际设备中的少了一位。如图中的 GE_0/1, 实际是 GE1/0/1。 配置需求 本网络模拟一个大型企业网络,需要使用 BGP/MPLS VPN 技术来隔离不同的 …

2024_GAMES101作业环境配置Mac(intel)_VSCode_Clion

目录 VSCodeClionCMakeList.txt VSCode brew install cmake 更换下载源为阿里云下载 opencv,不然会很慢 cd "$(brew --repo)" git remote -v cd "$(brew --repo)" git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git…

一举颠覆Transformer!最新Mamba结合方案刷新多个SOTA,单张GPU即可处理140k

还记得前段时间爆火的Jamba吗? Jamba是世界上第一个生产级的Mamba大模型,它将基于结构化状态空间模型 (SSM) 的 Mamba 模型与 transformer 架构相结合,取两种架构之长,达到模型质量和效率兼得的效果。 在吞吐量和效率等关键衡量指…

串联滞后校正及matlab实现

syms b_1 Z[]; P[0,-10,-5]; K1500; G_0zpk(Z,P,K); %G_0为校正前系统开环传递函数 [num,den]tfdata(G_0); %求解b,T [Gm,Pm,wg_0,wc_0]margin(G_0); %Pm为校正前的幅值裕度, gamma60; %确定校正后的相角裕度 Phi_c-6; %校正后的截止频率下Gc(s)的相角,一…

可视化看板有那么多应用场景,该如何快速搭建?可视化工具该如何选择?

在当今的信息化时代,数据已经成为了现代决策的核心。无论是企业战略规划、运营管理,还是个人生活决策,数据都扮演着至关重要的角色。随着数据分析技术和工具的不断进步,数据在决策中的作用将变得更加突出,对组织和个人…

IDEA中Docker相关操作的使用教程

一、引言 Docker作为当前最流行的容器化技术,极大地简化了应用的部署和管理。而IntelliJ IDEA作为一款强大的集成开发环境,也提供了对Docker的集成支持。本文将介绍如何在IDEA中配置和使用Docker,包括远程访问配置、服务连接、Dockerfile编写…

mysql基础4——增删改查表中的数据

添加数据 1)插入数据记录 insert into demo.test1 (barcode,goodsname,price) values (0001, book, 3); 2)插入查询结果 insert into table1 (字段名) select 字段名或值 from table2 where condition; //将表2中查询到的某条…

分享三个转换速度快、准确率高的视频转文字工具

想要直接将视频转换成文字,转换工具很重要!给大家分享三个转换速度快、准确率高的视频转文字工具,轻松完成转换。 1.网易见外 https://sight.youdao.com/ 网易家的智能转写翻译服务工作站,网页端就可以直接使用,支持视…

Cesium快速上手3-Billboard/Label/PointPrimitives图元使用讲解

Billboard&Cesium.BillboardCollection 面朝屏幕的图片,用于添加图标等集合 特点: 始终面朝屏幕,即使旋转也面朝屏幕注意创建的集群对象 Cesium.BillboardCollection 先看展示效果 function setBillboardProperties() {Sandcastle.declare(setBi…

【c++】vector模拟实现与深度剖析

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 vector涉及到许多细节问题,比如双层深拷贝,迭代器失效等,本篇文章我们通过模拟实现来深度理解这块的内容 目录 1.基本框架2.构造和销毁3.元素访问4.获取…

STM32-DMA(软件出发、硬件触发)

DMA --为cpu减负 DMA简介 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。两个DMA控制器有12个通道(DMA1有7个通道,DMA2…

广西桂林最大的模板厂——贵港市能强优品木业有限公司

贵港市能强优品木业有限公司是广西桂林地区最大的建筑模板厂家,拥有着25年的丰富生产经验。该公司以生产高品质的建筑覆膜板而闻名,其产品质量稳定,使用寿命长,深受广大客户的一致好评。 作为一家知名的建筑模板生产厂家&#xff…

Idea:通义千问插件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、通义千问大模型 二、程序编写助手 三、Idea安装通义千问插件 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、通义千问大模型…

为什么感觉 C/C++ 不火了?

所谓火不火的,说白了就是用的人数的多少。哪个东西使用的人或者说围观的人多了,自然就被认为是火了。 编程语言层级从低级语言到高级语言熟悉的人数从来都是一个金字塔模型:在开始前我有一些资料,是我根据网友给的问题精心整理了…

MySQL常用命令和函数的讲解以及表之间的联结

Mysql的中一些语句的用法: 有表: CREATE TABLE book (id int(20) NOT NULL,book_name varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 书名,press varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NUL…

数据结构之二叉搜索树底层实现洞若观火!

目录 题外话 正题 二叉搜索树 底层实现 二叉搜索树查找操作 查找操作思路 查找代码实现详解 二叉搜索树插入操作 插入操作思路 插入代码详解 二叉搜索树删除操作 删除操作思路 删除代码详解 小结 题外话 我的一切都是党给的,都是人民给的,都是家人们给的!! 十分感…

IDEA使用中, 设置平展软件包。使用IDEA遇到的问题:src里为什么创建包为什么不在包里面

使用IDEA遇到的问题:src里为什么创建包为什么不在包里面 如下图所示 : 点击齿轮设置 如何搞回来? 看下面的Flatten Packages(平展软件包)取消掉。

C++学习之C++11标准

目录 一,列表初始化 二,initializer_list 三,auto与decltype 1)auto 2)decltype 四,nullptr 五,范围for 六,新加容器 1)array 2)forward_list 3&a…

Zabbix 监控系统:监控Windows端

目录 前言 1、zabbix Windows客户端安装包下载 2、安装zabbix Windows客户端 3、 查看zabbix.Agent是否正在运行 4、Zabbix Web 界面配置 5、模拟故障(关闭Windows 10机器) 6、Zabbix Web 界面验证故障信息 前言 Zabbix是一种开源的网络监控系统…

小扎万字深度访谈:最强开源大模型Llama 3发布,Meta的AGI路径和开源哲学

今天Meta发布了史上最强开源大模型Llama 3,一口气发布了 8B 和 70B 2个预训练和指令微调模型,对比同级别的参数模型,性能上均达到了最佳。 此外,Meta还发布了基于Llama 3的AI助手Meta AI,可以在Facebook、Instagram、W…