VM虚拟机上CentOs7 安装单节点nacos和nacos集群

@TODO

nacos在VM centOS7 中安装

单节点

准备

  1. nacos-server-2.0.4.tar.gz 安装包
  2. mysql-8.0.28-el7-x86_64.tar.gz 安装包
  3. java 8 + 环境

安装java环境

具体详见 centerOs7安装相关的应用脚本

安装mysql

具体详见 centerOs7安装相关的应用脚本

nacos 单节点安装

  1. /usr/local/ 下创建 nacos 文件夹。

  2. 将安装包 **nacos-server-2.0.4.tar.gz ** 上传到虚拟机的 /usr/local/nacos/ 目录下。

  3. 使用以下命令解压上传的压缩包

    tar-zxvf /usr/local/nacos/nacos-server-2.0.4.tar.gz
    
  4. 登录到MySQL中,并在MySQL中创建一个名为 nacos-config 的数据库,执行以下sql语句创建nacos的数据库。

    create database nacos-mysql;
    use nacos-mysql;
    source /usr/local/nacos/nacos/conf/nacos-mysql.sql;
    exit;
    

    注意:nacos的数据库脚本存放地址在 /usr/local/nacos/nacos/conf/ 目录下 ,如果不在,则将source的路径改成对应nacos-mysql.sql所在的路径

  5. 进入 /usr/local/nacos/nacos/conf/ 修改application.properties 文件中nacos的默认配置。

    找到以下对应位置,并修改mysql的配置

    #*************** Config Module Related Configurations ***************#
    ### 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_config?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=root
    
    # 数据库连接池的配置
    ### Connection pool configuration: hikariCP
    db.pool.config.connectionTimeout=30000
    db.pool.config.validationTimeout=10000
    db.pool.config.maximumPoolSize=20
    db.pool.config.minimumIdle=2
    
    

    如下图:
    在这里插入图片描述

  6. 单节点方式启动nacos, 进入**/usr/local/nacos/nacos/bin** 目录后,使用以下命令:

    sh startup.sh -m standalone &
    
  7. 防火墙放通 8848 和 9848 两个端口,其他的端口建议开放3306 等常用的端口,我的端口开放如下:

    端口开放脚本具体详见 centerOs7安装相关的应用脚本
    在这里插入图片描述

  8. 配置开机自启nacos 。创建自启文件

    vim /lib/systemd/system/nacos.service
    
  9. 在文件中填入以下内容

    [Unit]
     
    Description=nacos
     
    After=network.target
     
    [Service]
     
    Type=forking
     
    ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone
     
    ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh
     
    ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
     
    PrivateTmp=true
     
    [Install]
     
    WantedBy=multi-user.target
    
  10. 加载server

    systemctl daemon-reload
    
  11. 开机启动

    systemctl enable nacos.service
    
  12. 查看开机启用是否设置成功

    systemctl is-enabled nacos.service
    
  13. 查看nacos自启状态

    systemctl status nacos.service
    

验证

登录nacos管理界面

在浏览器上访问:http://虚拟机IP地址:8848/nacos/index.html#/login

初始账号密码都是:nacos

集群

将安装了单节点nacos的虚拟机克隆3台。

将这三台克隆的nacos自启脚本修改为集群启动方式。修改/lib/systemd/system/nacos.service 。

即单节点的第九步。改成如下:

[Unit]
 
Description=nacos
 
After=network.target
 
[Service]
 
Type=forking
 
ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m cluster
 
ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh
 
ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh
 
PrivateTmp=true
 
[Install]
 
WantedBy=multi-user.target

进入 /usr/local/nacos/nacos/conf/ 中,复制一份cluster.conf.example 集群配置文件,重命名为cluster.conf

cluster.conf 中添加3台虚拟机对应nacos的IP:端口。

例如我的三台虚拟机的nacos的IP端口如下表:

ip端口
192.168.83.1568848
192.168.83.1578848
192.168.83.1588848

如下图:

在这里插入图片描述

当三台虚拟机中的配置端口完成后启动nacos

以集群的方式启动nacos

sh /usr/local/nacos/nacos/bin/startup.sh -m cluster

以集群的方式启动nacos

sh /usr/local/nacos/nacos/bin/startup.sh -m cluster

启动后访问其中一个节点的管理界面,看到如下则说明集群创建成功:

在这里插入图片描述

整理了一个启动脚本

#!/bin/bash
systemctl start firewalld.service
firewall-cmd --state  #查看防火墙firewall运行状态
firewall-cmd --add-port=3306/tcp
firewall-cmd --add-port=8848/tcp
firewall-cmd --add-port=9848/tcp
firewall-cmd --add-port=7848/tcp
firewall-cmd --add-port=22/tcp
firewall-cmd --add-port=80/tcp
firewall-cmd --list-all

echo '开始纠正服务器时间:'
# 安装ntp
sudo yum -y install ntp
# 将服务器的时区设置为上海
timedatectl set-timezone Asia/Shanghai

read -p '是否使用网络上的时间校准服务器【服务器地址:pool.ntp.org】?(是:y  否:n):' types
if [ 'y' == ${types} ] 
then
	ntpdate pool.ntp.org
	echo "系统当前时间:"
	date "+%Y-%m-%d %H:%M:%S"
else
	read -p '请输入校准时间服务器的IP地址:' timeIp
	if [ -z ${timeIp}]
   	then
       	echo '未输入校准时间服务器的IP地址'
       	exit 1001
    fi
	
	ntpdate ${timeIp}
	
	echo "系统当前时间:"
	date "+%Y-%m-%d %H:%M:%S"
fi
echo '时间纠正完毕'

read -p '请选择启动nacos的方式:1.单节点启动   2.集群启动; 	请输入:' startType
rm -rf /lib/systemd/system/nacos.service

touch /lib/systemd/system/nacos.service

if [ 1 ==  ${startType} ]
then
	echo "[Unit]">>/lib/systemd/system/nacos.service
        echo "Description=nacos">>/lib/systemd/system/nacos.service
        echo "After=network.target">>/lib/systemd/system/nacos.service
        echo "[Service]">>/lib/systemd/system/nacos.service
        echo "Type=forking">>/lib/systemd/system/nacos.service
        echo "ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m standalone">>/lib/systemd/system/nacos.service
        echo "ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
        echo "ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
        echo "PrivateTmp=true">>/lib/systemd/system/nacos.service
        echo "[Install]">>/lib/systemd/system/nacos.service
        echo "WantedBy=multi-user.target">>/lib/systemd/system/nacos.service

	systemctl daemon-reload	
	systemctl enable nacos.service
	systemctl is-enabled nacos.service
	systemctl status nacos.service

	sh /usr/local/nacos/nacos/bin/startup.sh -m standalone &
	echo '单节点启动nacos: sh /usr/local/nacos/nacos/bin/startup.sh -m standalone &'
else
	echo "[Unit]">>/lib/systemd/system/nacos.service
	echo "Description=nacos">>/lib/systemd/system/nacos.service
	echo "After=network.target">>/lib/systemd/system/nacos.service
	echo "[Service]">>/lib/systemd/system/nacos.service
	echo "Type=forking">>/lib/systemd/system/nacos.service
	echo "ExecStart=/usr/local/nacos/nacos/bin/startup.sh -m cluster">>/lib/systemd/system/nacos.service
	echo "ExecReload=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
	echo "ExecStop=/usr/local/nacos/nacos/bin/shutdown.sh">>/lib/systemd/system/nacos.service
	echo "PrivateTmp=true">>/lib/systemd/system/nacos.service
	echo "[Install]">>/lib/systemd/system/nacos.service
	echo "WantedBy=multi-user.target">>/lib/systemd/system/nacos.service

	systemctl daemon-reload
	systemctl enable nacos.service
	systemctl is-enabled nacos.service
	systemctl status nacos.service


	sh /usr/local/nacos/nacos/bin/startup.sh -m cluster
	echo '集群启动nacos: sh /usr/local/nacos/nacos/bin/startup.sh -m cluster'

fi
#cd  /usr/local/nacos/nacos/bin/
#systemctl status nacos.service


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张帅三代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值