nacos单机,集群安装部署

nacos单机启动

准备

  • 下载nacos安装包

    下载地址

  • 准备centos环境 (本次测试使用docker)

PS C:UsersAdministrator> docker run -tid --name centos_nacos -p 8849:8848 --privileged=true centos:latest /sbin/init
  • 如果使用shell工具进行连接,增加 -p22:22 参数
  • 将安装包移动到镜像当中 /opt 目录下
#nacos
PS C:UsersAdministrator> docker cp C:UsersAdministratorDownloads
acos-server-1.4.0.tar.gz centos_nacos:/opt
#jdk
PS C:UsersAdministrator> docker cp C:UsersAdministratorDownloadsjdk-8u192-linux-x64.tar.gz centos_nacos:/opt

安装依赖环境

  • 安装mysql(mysql不作为本文重点,直接使用mysql镜像,或者使用本地已有mysql)
PS C:UsersAdministrator> docker pull mysql
PS C:UsersAdministrator> docker run -itd --name mysql_nacos -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
  • 进入到容器中,创建安装用户
PS C:UsersAdministrator> docker exec -it centos_nacos /bin/bash
[root@c6fb781df367 /]# useradd nacos
[root@c6fb781df367 /]# chown -R nacos /opt
[root@c6fb781df367 /]# su nacos
[nacos@c6fb781df367 /]$ cd /opt/
  • 安装jdk
[nacos@133f13e75eb1 opt]$ tar -zxvf jdk-8u192-linux-x64.tar.gz -C /opt && mv jdk1.8.0_192 jdk1.8 
[nacos@133f13e75eb1 opt]$ echo 'export JAVA_HOME=/opt/jdk1.8' >>  ~/.bashrc
[nacos@133f13e75eb1 opt]$ echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> ~/.bashrc
[nacos@133f13e75eb1 opt]$ echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
[nacos@133f13e75eb1 jdk1.8]$ chmod +x ~/.bashrc
[nacos@133f13e75eb1 opt]$ source ~/.bashrc

安装nacos

  • 解压安装
[nacos@133f13e75eb1 opt]$ tar -zxvf nacos-server-1.4.0.tar.gz -C /opt
  • 创建数据库(初始化)
create database nacos_test default character set utf8mb4 collate 
utf8mb4_general_ci;create user 'nacos'@'%' identified by '123456';grant all privileges on nacos_test.* to 'nacos'@'%';use nacos_test;
  • 创建nacos表结构 (执行/opt/nacos/conf/nacos-mysql.sql 脚本)
[nacos@133f13e75eb1 conf]$ ls -l /opt/nacos/conf/
total 68
-rw-r--r-- 1 nacos nacos  6511 Nov  2 11:07 application.properties
-rw-r--r-- 1 nacos nacos  6511 Nov  2 11:07 application.properties.example
-rw-r--r-- 1 nacos nacos   670 Oct 29 02:41 cluster.conf.example
-rw-r--r-- 1 nacos nacos 25715 Nov  2 11:07 nacos-logback.xml
-rw-r--r-- 1 nacos nacos 10660 Oct 29 02:41 nacos-mysql.sql
-rw-r--r-- 1 nacos nacos  8073 Oct 29 02:41 schema.sql

配置文件修改

  • 修改 /opt/nacos/conf/application.properties
  • 以下数据库连接信息为本地mysql信息,修改为本地配置(这里使用docker)
  • 数据库连接用户密码为上一步初始化数据库设置
[nacos@c6fb781df367 conf]$ cp /opt/nacos/conf/application.properties.example /opt/nacos/conf/application.properties

#修改如下涉及到的配置
[nacos@c6fb781df367 conf]$ vi /opt/nacos/conf/application.properties
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://172.16.1.236:3307/nacos_test?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=nacos
db.password=123456
  • 修改nacos启动模式为单机
sed -i "s/export MODE="cluster"/export MODE="standalone"/g" /opt/nacos/bin/startup.sh

验证

  • 启动
/opt/nacos/bin/startup.sh
  • 浏览器访问 (localhost:8849)这里8849为docker映射端口

  • 默认用户密码为nacos nacos

nacos集群搭建

准备

  • 准备三个docker容器,端口映射如下
port
8849:8848
8850:8848
8851:8848
  • 执行语句
PS C:UsersAdministrator> docker run -tid --name centos_nacos -p 8849:8848 --privileged=true centos:latest /sbin/init
PS C:UsersAdministrator> docker run -tid --name centos_nacos2 -p 8850:8848 --privileged=true centos:latest /sbin/init
PS C:UsersAdministrator> docker run -tid --name centos_nacos3 -p 8851:8848 --privileged=true centos:latest /sbin/init

配置修改(分别在三个机器上面进行配置修改)

  • 首先在三个容器中按照nacos单机启动准备好所需数据。
  • 修改启动模式为集群模式(默认为集群模式,不用修改)
sed -i "s/export MODE="standalone"/export MODE="cluster"/g" /opt/nacos/bin/startup.sh
  • 修改/opt/nacos/config/cluster.conf文件
[nacos@133f13e75eb1 conf]$ mv /opt/nacos/conf/cluster.conf.example /opt/nacos/conf/cluster.conf

#这里使用映射端口没有成功,所以使用了容器ip,可以安装 yum install -y net-tools 通过ifconfig命令查看
[nacos@133f13e75eb1 conf]$ vi /opt/nacos/conf/cluster.conf
172.17.0.5:8848
172.17.0.7:8848
172.17.0.8:8848

验证

  • 分别启动
/opt/nacos/bin/startup.sh
  • 访问 localhost:8849/nacos

原文地址:https://www.cnblogs.com/liwangcai/p/14072928.html