CentOS8搭建Nacos1.4.0集群

x33g5p2x  于2021-12-30 转载在 其他  
字(3.9k)|赞(0)|评价(0)|浏览(536)

序言

在生产环境中,一般使用Nacos保证高可用,这里部署三个节点Nacos,通过Nginx负载均衡,服务架构如下图

预备环境准备

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

  1. 使用Linux系统;
  2. 安装64 bit JDK 1.8+;
  3. 3个或3个以上Nacos节点才能构成集群。

下载安装包

  1. 下载最新版Nacos:https://github.com/alibaba/nacos/releases/tag/1.4.0
  2. 下载Nginx: http://nginx.org/en/download.html
  3. 准备三台Centos虚拟机,设置IP使彼此互通,关闭防火墙,安装JAVA1.8 环境

搭建Nacos集群

数据库配置

解压nacos-server-1.4.0.tar.gz安装包,在nacos\conf目录下找到nacos-mysql.sql文件

新建数据库nacos

执行nacos-mysql.sql文件里面的sql

在Linux中安装并启动Nacos服务

nacos-server-1.4.0.tar.gz安装包到指定目录并解压,我这里安装到/usr/local目录

tar -zxvf nacos-server-1.4.0.tar.gz
数据库与集群配置

修改nacos/conf/application.properties数据库配置,修改为自己的数据库url,用户名和密码

### 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.138.8:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

进入/usr/local/nacos/conf 中复制一份配置文件 cp cluster.conf.example cluster.conf

cd /usr/local/nacos/conf
cp cluster.conf.example cluster.conf

编辑 cluster.conf配置文件做如下修改

#it is ip
#example
192.168.138.8:8848
192.168.138.9:8848
192.168.138.10:8848
修改nacos 启动脚本

修改/usr/local/nacos/bin目录下的startup.sh

# 找到如下
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME

# 修改$HOME/jdk/java为自己的jdk安装目录
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/jdk1.8.0_191
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
注册Nacos服务,并设置为开机启动项
vim /etc/systemd/system/nacos.service

添加如下内容,/usr/local/nacos改为自己的nacos安装目录

[Unit]
Description=nacos
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nacos/bin/startup.sh
ExecStop=/usr/local/nacos/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

将Nacos服务设置为开机启动项

systemctl enable nacos

启动Nacos服务

systemctl start nacos

查看Nacos启动状态

ps -ef | grep nacos
systemctl status nacos

Nacos单机验证

在浏览器输入http://192.168.138.8:8848/nacos,用户名密码均为nacos,可以看到192.168.138.8虚拟机的Nacos已经启动成功

Nacos集群部署

192.168.138.9192.168.138.10服务器重新进行在Linux中安装并启动Nacos服务的操作,则完成Nacos集群

访问http://192.168.138.8:8848/nacoshttp://192.168.138.9:8848/nacoshttp://192.168.138.10:8848/nacos的集群管理->节点列表,显示都是如下

配置Nginx负载均衡

解压nginx

这里安装到192.168.138.8服务器的/usr/local目录

tar -zxvf nginx-1.18.0.tar.gz

需要安装gcc和make环境

yum install -y gcc-c++ make
安装第三方的开发包

1 PERE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。

nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库

yum install -y pcre pcre-devel

2 zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

3 openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,

并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel
安装与配置nginx

进入nginx-1.18.0目录

cd nginx-1.18.0

设置安装路径为/usr/local/nginx

./configure --prefix=/usr/local/nginx
make
make install

修改配置文件,配置文件在/usr/local/nginx/conf/nginx.conf,添加如下配置

upstream nacos {
    server 192.168.138.8:8848;
    server 192.168.138.9:8848;
    server 192.168.138.10:8848;
}

server {
    listen       8080;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        #root   html;
        #index  index.html index.htm;
        proxy_pass http://nacos;
    }
}
将nginx设置为开机启动项
vim /etc/systemd/system/nginx.service

添加如下内容,/usr/local/nginx改为自己的nginx安装目录

[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

将nginx服务设置为开机启动项

systemctl enable nginx

启动nginx服务

systemctl start nginx

查看nginx启动状态

ps -ef | grep nginx
systemctl status nginx
负载均衡集群验证

访问http://192.168.138.8:8080/nacos,也是可以看到nacos的三个集群节点,至此,nacos的集群已经搭建完成

相关文章