Nacos集群

2021年7月1日19:17:00 发表评论
摘要

【心语】时间就像一张网,你撒在哪里,你的收获就在哪里。

简介
Nacos集群模式支持三种方式部署
。单机模式 – 用于测试和单机使用
。集群模式-用于生产环境,确保高可用

多集群模式-用于多数据中心场景
本文使用linux centos7 系统部署集群模式(cluster),虚拟机使用(VMware)
说明:Nacos 集群添加退出集群,直接修改配置文件即可,服务无需重启
环境准备

系统版本 JDK版本 Nacos版本
CentOS Linux release 7.6 jdk1.8.0_181 nacos-server-1.2.1.tar.gz
IP地址_Nacos1 IP地址_Nacos2 IP地址_Nacos3
192.168.5.67 192.168.5.94 192.168.595

安装JDK(三台机子统一执行
[root@MQ1 ~]# wget -c http://mirrors.rootpei.com/jdk/jdk-8u121-linux-x64.tar.gz
[root@MQ1 ~]# tar xf jdk-8u121-linux-x64.tar.gz -C /usr/local/
[root@localhost ~]# vim /etc/profile

#JAVA
#指定java的家目录
export JAVA_HOME=/usr/local/jdk1.8.0_121
#指定应用java的环境变量
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
#指定java命令的环境变量任意地方都可以使用
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

[root@localhost ~]# source /etc/profile
[root@localhost ~]# java –version
Nacos集群
#JDK安装完毕

  • 安装数据库版本要求在5.7以上
  • 下载boost库5.7版本以上必须安装
    [root@localhost ~]# wget –c
    http://mirrors.rootpei.com/mysql/boost_1_59_0.tar.gz
    [root@localhost ~]# tar xf boost_1_59_0.tar.gz -C /usr/local/
  • 下载安装扩展包
    [root@localhost local]# yum -y install ncurses-devel perl perl-devel gcc gcc-c++ cmake make openssl-devel openssl
  • 建立Mysql 用户
    [root@localhost local]# useradd -s /sbin/nologin mysql
  • 下载MySQL源码包
    [root@localhost ~]# wget -c
    http://mirrors.rootpei.com/mysql/mysql-5.7.18.tar.gz
    [root@localhost ~]# tar xf mysql-5.7.18.tar.gz
  • 编译安装

    [root@localhost ~]# cd mysql-5.7.18
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    -DMYSQL_DATADIR=/data/mysql \
    -DSYSCONFDIR=/etc \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DDOWNLOAD_BOOST=1 \
    -DWITH_BOOST=/usr/local/boost_1_59_0 \
    -DENABLED_LOCAL_INFILE=1 \
    -DMYSQL_TCP_PORT=3306 \
    -DWITH_READLINE=1 \
    -DMYSQL_USER=mysql \
    -DWITH_SSL=yes

Nacos集群
说明:Build files have been written to:/root/mysql-5.7.18 提示说明编译完成

  • 安装
    [root@localhost mysql-5.7.18]# make -j4 && make install -j4
    Nacos集群
  • 创建Mysql数据存储目录
    [root@localhost ~]# mkdir -p /data/mysql
    [root@localhost ~]# chown -R mysql.mysql /data/mysql
  • 初始化数据库(生成空密码,生成随机密码参数 -- initialize)
    [root@localhost ~]# cd /usr/local/mysql/bin/
    [root@localhost bin]# ./mysqld --initialize-insecure --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql
    Nacos集群
    无报错就是成功!
  • 编辑Mysql数据库配置文件

    [root@localhost bin]# vim /etc/my.cnf
    [mysqld]
    #数据存储目录
    datadir = /data/mysql
    #socket通信文件
    socket = /tmp/mysql.sock
    #使用mysql用户启动
    user = mysql
    #MYSQL服务运行的端口号
    port = 3306
    #开启bin-log日志
    log-bin = mysql-bin
    #MYSQL服务ID号
    server-id = 1
    #定义error错误文件
    log-error = /var/log/mysqld.log
    #PID文件路径
    pid-file = mysqld.pid
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    #设置字符集为utf8
    character-set-server = utf8
    [client]
    default-character-set = utf8
    port = 3306
    socket = /tmp/mysql.sock
    [mysql]default-character-set = utf8

    将此配置文件写入保存即可!

  • 配置成系统服务
    [root@localhost bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    [root@localhost bin]# ln -s /usr/local/mysql/bin/* /usr/sbin/ \\软连接mysql命令
  • 重启Mysql 添加开机自启
    [root@localhost bin]# service mysqld restart
    Nacos集群
    [root@localhost bin]# chkconfig --add mysqld
    [root@localhost bin]# chkconfig mysqld on
    [root@localhost bin]# chkconfig --list |grep mysql
    Nacos集群
    部署完成!!
  • 创建Nacos数据库
    mysql> create database nacos_config;
  • 导入Nacos必须的数据库表并配置
    找到Nacso安装目录下提供的数据库脚本文件
    [root@MQ1 conf]# cd /usr/local/nacos/conf/
    Nacos集群
  • 导入到数据库
    mysql> use nacos_config;
    mysql> source /usr/local/nacos/conf/nacos-mysql.sql;
    Nacos集群
    Nacos集群
    导入完成
  • 数据库授权一个账号密码访问nacos
    mysql> grant all privileges on nacos_config.* to nacos@'%'identified by '123456';
    mysql> flush privileges;
    Nacos集群
  • 安装nacos在单台启动Nacos
    [root@localhost ~]# wget -c http://mirrors.rootpei.com/nacos/nacos-server-1.2.1.tar.gz
    [root@localhost ~]# tar xf nacos-server-1.2.1.tar.gz -C /usr/local/
  • 配置修改配置文件连接数据库
    [root@MQ1 conf]# cd /usr/local/nacos/conf/
    [root@MQ1 conf]# vim application.properties
    Nacos集群
    [root@MQ3 ~]# cd /usr/local/nacos/bin/
    [root@MQ3 bin]# ./startup.sh -m standalone
  • 同步三台服务器的配置文件
    [root@MQ3 conf]# scp -r application.properties root@192.168.45.122:/usr/local/nacos/conf
    [root@MQ3 conf]# scp -r application.properties root@192.168.44.133:/usr/local/nacos/conf
    Nacos集群
  • 配置集群模式
    [root@MQ1 conf]# cd /usr/local/nacos/conf/
    [root@MQ3 conf]# vim cluster.conf
    Nacos集群
  • 同步集群文件
    [root@MQ3 conf]# scp -r cluster.conf root@192.168.44.133:/usr/local/nacos/conf/
    [root@MQ3 conf]# scp -r cluster.conf root@192.168.45.122:/usr/local/nacos/conf/
  • 启动nacos
    [root@localhost ~]# cd /usr/local/nacos/bin/
    [root@localhost bin]# ./startup.sh
  • 任意一台登录查看
    http://192.168.45.122:8848/nacos/
    默认账号:nacos 密码:nacos
    Nacos集群
  • 使用Nginx配置集群负载均衡
    Nacos集群
    #使用如下地址可以访问
    http://192.168.44.133:5678/nacos
    Nacos集群
  • 配置nacos开机自启动
    [root@MQ1 ~]# cd /lib/systemd/system
    [root@MQ1 system]# vim nacos.service

    [Unit]
    Description=nacos service
    After=network.target
    [Service]
    Type=forking
    Environment="JAVA_HOME=/usr/local/jdk1.8.0_121/" #设置变量
    ExecStart=/usr/local/nacos/bin/startup.sh
    ExecReload=/usr/local/nacos/bin/shutdown.sh
    ExecStop=/usr/local/nacos/bin/shutdown.sh
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target

Nacos集群
[root@MQ1 system]# systemctl daemon-reload
[root@MQ1 system]# systemctl enable nacos
[root@MQ1 system]# systemctl start nacos
备注:先停掉nacos 在使用systemctl管理启动!

  • 微信公众号
  • 这是我的微信公众号扫一扫
  • weinxin
  • 我的QQ技术群
  • 我的QQ技术群扫一扫
  • weinxin
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: