CentOS 7单机模拟Nacos集群详细步骤

目录

前言

1. 环境准备

1.1 Linux系统JDK 1.8安装与配置

 1.2 Linux系统Maven安装与配置

1.3 Linux系统安装Mysql5.7

2. 安装Nacos

2.1 下载源码或安装包

2.2 配置集群配置文件

3. MySQL数据库配置

3.1 建立nacos_conf数据库

3.2 执行nacos数据库文件

3.3 修改Nacos配置

4. Nginx的安装与配置

4.1 官网下载Nginx包

4.2 安装依赖环境

4.3 编译安装Nginx

4.4 配置Nginx

4.5 启动Nginx

5. 启动Nacos集群模式

6. 测试

7. 总结


前言

相比较 Nacos 的单机部署方式,当然在生产环境下必须要保证Nacos的高可用性,因此集群部署是很有必要的。

下图是官方推荐的一个集群部署架构图,通过域名+SLB来实现,在老版本的文档中SLB这里写的是VIP,在我的理解中VIP其实就是指负载均衡,可能因为VIP表达意思不明确,后期官方改成了SLB,意思表达的更加的明确一些,在这里我负载均衡使用的是Nginx,用它负载多个Nacos节点IP,然后直接通过域名来访问即可。

CentOS 7单机模拟Nacos集群详细步骤_第1张图片

集群部署架构图

1. 环境准备

从官方文档可看出Nacos集群部署环境需求为64位系统,包括Linux/Unix/Mac,官方更加推荐使用Linux系统,系统环境需要JDK 1.8+、Maven 3.2.x+和MySQL数据库。

1.1 Linux系统JDK 1.8安装与配置

1)卸载CentOS自带JDK

使用以下三条命令都可以查看是否已经安装JDK

yum list installed |grep java
whereis java
find / -name java

如下图可以看到我这里已经安装了JDK,因此卸载掉它。 

CentOS 7单机模拟Nacos集群详细步骤_第2张图片

使用以下命令卸载自带的JDK

yum -y remove java

2)安装JDK

JDK有两种安装方式,分别为yum安装和离线安装。其中yum安装是CentOS常用的安装方式,也是系统自带的安装方式。本次使用离线方式安装JDK,但是yum方式安装也会进行说明。

  • 方式一:yum方式安装JDK

使用如下命令查看能够安装的JDK版本:

yum -y list java*

选择自己想要安装的版本,然后使用以下命令安装,其中版本版本号替换成自己的。

yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 

安装完后使用如下命令查看JDK版本号,安装成功后能够看到对应的版本信息。

java -version
  • 方式二:离线方式安装JDK

 下载JDK

从官网下载需要的版本,下面分别是JDK最新版本下载地址以及JDK历史版本下载地址。这里下载的是JDK1.8版本,因此选择历史版本下载。

JDK最新版本下载地址

JDK历史版本下载地址

CentOS 7单机模拟Nacos集群详细步骤_第3张图片

CentOS 7单机模拟Nacos集群详细步骤_第4张图片

 注意:虽然可以在Linux系统中使用wget下载,但这里不建议使用,亲测使用wget下载的是未同意认证协议的版本,使用tar命令解压的时候会解压失败,如下图所示,直接在windows上下载后上传到Linux上即可。

解压JDK

将下载的JDK包上传到Linux的/usr/local/src目录下,然后解压缩到/usr/local目录下

tar -zxvf jdk-8u301-linux-x64.tar.gz -C /usr/local/

解压缩后的目录如下:

/usr/local/jdk1.8.0_301

配置环境变量

使用如下命令编辑文件:

vim /etc/profile

在文末添加如下配置:

export JAVA_HOME=/usr/local/jdk1.8.0_301
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 其中JAVA_HOME 是你的 JDK 安装目录,Linux 下用冒号“:”来分隔路径,$PATH、/ $CLASSPATH、$JAVA_HOME 是用来引用原来的环境变量的值,export 是把这三个变量导出为全局变量。

使用如下命令重新加载配置文件:

source /etc/profile

 之后可以输入以下命令查看安装的JDK版本:

java -version

结果如下图的话说明安装成功:

CentOS 7单机模拟Nacos集群详细步骤_第5张图片

 1.2 Linux系统Maven安装与配置

1) 在官网下载Maven包

官网下载地址

2)解压maven安装包

 将maven安装包上传到/usr/local/src目录下,然后使用如下命令解压缩到/usr/local目录下

tar -zxvf apache-maven-3.8.4-bin.tar.gz -C ..

3)配置maven环境变量

使用如下命令编辑文件

vim /etc/profile

 在文末添加如下配置

export MAVEN_HOME=/usr/local/apache-maven-3.8.4
export PATH=${MAVEN_HOME}/bin:${PATH}

使用如下命令重新加载配置文件

source /etc/profile

4)查看安装结果

使用如下命令查看maven安装结果

mvn -version

安装成功后结果如下图所示:

CentOS 7单机模拟Nacos集群详细步骤_第6张图片

5)修改成国内镜像地址 

使用如下命令修改settings.xml文件

vim /usr/local/apache-maven-3.8.4/conf/settings.xml

找到mirrors标签对,添加如下内容:

    
     alimaven
     aliyun maven
     http://maven.aliyun.com/nexus/content/groups/public/
     central
    

6)配置资源保存位置

在localRepository下面加入配置

/usr/local/apache-maven-3.8.4/repo

/usr/local/apache-maven-3.8.4下新建repo目录,用来保存maven下载的jar包

1.3 Linux系统安装Mysql5.7

1)删除CentOS7自带的mariadb数据库

使用如下命令删除CentOS7自带的mariadb数据库

rpm -e --nodeps mariadb-libs
rpm -e --nodeps marisa

2)下载mysql安装包

wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

CentOS 7单机模拟Nacos集群详细步骤_第7张图片

 3)解压MySQL安装包

tar -zxvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

4)安装MySQL

依次执行如下命令进行安装

rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

CentOS 7单机模拟Nacos集群详细步骤_第8张图片

 5)启动MySQL

执行如下命令启动MySQL

systemctl start mysqld

6)修改root用户登录密码

MySQL安装后会给root用户设置一个初始密码,可以查看MySQL日志文件来确定初始密码

cat /var/log/mysqld.log | grep password

 使用初始密码登录MySQL数据库,然后修改密码

CentOS 7单机模拟Nacos集群详细步骤_第9张图片

 登录后设置MySQL的安全策略为low

set global validate_password_policy=low;

MySQL的默认密码长度为8,若想改变默认密码长度,执行以下命令即可。

set global validate_password_length=<密码长度>;

然后使用如下命令修改root用户登录密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

2. 安装Nacos

2.1 下载源码或安装包

Nacos有两种方式可以获取

方式一:从Github上下载源码

unzip nacos-source.zip
cd nacos/
mvn -Prelease-nacos clean install -U  
cd nacos/distribution/target/nacos-server-1.3.0/nacos/bin

方式二:下载编译后压缩包

下载地址

unzip nacos-server-1.3.0.zip 或者 tar -xvf nacos-server-1.3.0.tar.gz
cd nacos/bin

2.2 配置集群配置文件

在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)

因为这里是单机模拟集群,因此需要创建三个或三个以上的Nacos文件夹来实现集群部署。

cluster.conf文件内容如下:

192.168.171.137:8848
192.168.171.137:8849
192.168.171.137:8850

cluster.conf配置

在创建的每个Nacos文件夹中修改application.properties文件,将端口号改成cluster.conf文件中对应的。

3. MySQL数据库配置

Nacos官方推荐生产使用建议至少主备模式,或者采用高可用数据库。这里简化为只使用一个数据库,建立数据库nacos_conf,然后加载nacos/conf/nacos-mysql.sql数据库文件

3.1 建立nacos_conf数据库

使用如下命令创建数据库

create database nacos_config character set utf8;

3.2 执行nacos数据库文件

使用如下命令执行nacos-mysql.sql数据库文件

source /usr/local/nacos/conf/nacos-mysql.sql

CentOS 7单机模拟Nacos集群详细步骤_第10张图片

3.3 修改Nacos配置

 修改nacos/conf/application.properties文件,修改内容如下:

### If use MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
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=root
db.password=root

4. Nginx的安装与配置

4.1 官网下载Nginx包

Nginx下载地址

推荐下载稳定版本的。

将下载的Nginx包上传到/usr/local/src目录下

4.2 安装依赖环境

1)安装gcc环境

yum install gcc-c++

2)安装PCRE库,用于解析正则表达式

yum install -y pcre pcre-devel

3)zlib压缩和解压缩依赖

yum install -y zlib zlib-devel

4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https

yum install -y openssl openssl-devel

4.3 编译安装Nginx

1)解压缩Nginx源码包

tar -zxvf nginx-1.20.2.tar.gz -C ..

2)编译Nginx源码

在nginx目录,输入如下命令进行配置

./configure

当然也可以自定义配置,命令参数如下表。 

命令 解释
--prefix 指定nginx安装目录
--pid-path 指向nginx的pid
--lock-path 锁定安装文件,防止被恶意篡改或误操作
--error-log-path 错误日志
--http-log-path 日志
--with-http_gzip_static_module 启用gzip模块,在线实时压缩输出数据流
--http-client-body-temp-path 设定客户端请求的临时目录
--http-proxy-temp-path 设定http代理临时目录
--http-fastcgi-temp-path 设定fastcgi临时目录
--http-uwsgi-temp-path 设定uwsgi临时目录
--http-scgi-temp-path 设定scgi临时目录

CentOS 7单机模拟Nacos集群详细步骤_第11张图片

 make编译&安装

输入如下命令进行编译和安装

make
make install

由配置结果可知,nginx安装目录为/usr/local/nginx目录,因此进入该目录进行nginx配置和启动。

4.4 配置Nginx

使用如下命令编辑nginx配置文件

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

配置内容如下:

    upstream nacos {
        server 192.168.171.137:8848;
        server 192.168.171.137:8849;
        server 192.168.171.137:8850;
    }

    server {
        listen       80;
        server_name  nacos.zp.com; # 域名

        location / {
            proxy_pass http://nacos;
        }
    }

4.5 启动Nginx

 在配置完nginx后使用如下命令重载nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

5. 启动Nacos集群模式

从官方文档中可以看到集群模式启动有两种方式。

使用内置数据源:

sh startup.sh -p embedded

使用外置数据源:

sh startup.sh

这里使用的是外置数据源,因此使用sh startup.sh命令启动Nacos集群。

启动信息可以/usr/local/nacos8848/logs/start.out文件中查看。

 如下图所示,可以看到nacos集群启动成功。

CentOS 7单机模拟Nacos集群详细步骤_第12张图片

6. 测试

在windows下访问http://192.168.171.137/nacos,但是发现无法访问,如下图所示。

CentOS 7单机模拟Nacos集群详细步骤_第13张图片

开始以为自己的配置问题,排查后发现配置没问题,最后发现Linux的80端口没有开放。

查询80端口是否开放

firewall-cmd --query-port=80/tcp

 查询结果如下图所示:

 开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

 重启防火墙

firewall-cmd --reload

之后就可以正常访问nacos了,用户名和密码都为nacos,如下图所示:

CentOS 7单机模拟Nacos集群详细步骤_第14张图片

7. 总结

        如果为开发环境只需要单节点配置即可,测试和生产环境的时候使用集群部署,这里只是介绍单机模拟集群部署的方式。

你可能感兴趣的:(centos,java)