CentOS8搭建Nacos1.4.0集群

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

序言

在生产环境中,一般使用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目录

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

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

  1. ### If use MySQL as datasource:
  2. spring.datasource.platform=mysql
  3. ### Count of DB:
  4. db.num=1
  5. ### Connect URL of DB:
  6. 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
  7. db.user=root
  8. db.password=root

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

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

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

  1. #it is ip
  2. #example
  3. 192.168.138.8:8848
  4. 192.168.138.9:8848
  5. 192.168.138.10:8848
修改nacos 启动脚本

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

  1. # 找到如下
  2. [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
  3. [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
  4. [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
  5. [ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
  6. # 修改$HOME/jdk/java为自己的jdk安装目录
  7. [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/jdk1.8.0_191
  8. [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
  9. [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
  10. [ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
注册Nacos服务,并设置为开机启动项
  1. vim /etc/systemd/system/nacos.service

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

  1. [Unit]
  2. Description=nacos
  3. After=network.target
  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/local/nacos/bin/startup.sh
  7. ExecStop=/usr/local/nacos/bin/shutdown.sh
  8. PrivateTmp=true
  9. [Install]
  10. WantedBy=multi-user.target

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

  1. systemctl enable nacos

启动Nacos服务

  1. systemctl start nacos

查看Nacos启动状态

  1. ps -ef | grep nacos
  2. 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目录

  1. tar -zxvf nginx-1.18.0.tar.gz

需要安装gcc和make环境

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

1 PERE

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

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

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

  1. yum install -y pcre pcre-devel

2 zlib

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

  1. yum install -y zlib zlib-devel

3 openssl

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

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

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

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

进入nginx-1.18.0目录

  1. cd nginx-1.18.0

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

  1. ./configure --prefix=/usr/local/nginx
  2. make
  3. make install

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

  1. upstream nacos {
  2. server 192.168.138.8:8848;
  3. server 192.168.138.9:8848;
  4. server 192.168.138.10:8848;
  5. }
  6. server {
  7. listen 8080;
  8. server_name localhost;
  9. #charset koi8-r;
  10. #access_log logs/host.access.log main;
  11. location / {
  12. #root html;
  13. #index index.html index.htm;
  14. proxy_pass http://nacos;
  15. }
  16. }
将nginx设置为开机启动项
  1. vim /etc/systemd/system/nginx.service

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

  1. [Unit]
  2. Description=nginx
  3. After=network.target
  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/local/nginx/sbin/nginx
  7. ExecReload=/usr/local/nginx/sbin/nginx -s reload
  8. ExecStop=/usr/local/nginx/sbin/nginx -s stop
  9. PrivateTmp=true
  10. [Install]
  11. WantedBy=multi-user.target

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

  1. systemctl enable nginx

启动nginx服务

  1. systemctl start nginx

查看nginx启动状态

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

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

相关文章