正文
简介
Nacos是阿里巴巴开源的一套服务注册发现的应用
使用简单灵活, 是spring Cloud Alibaba的组成部分
现在拆分微服务的部署情况下,极大的需求nacos服务作为支撑
单点情况下存在宕机的危险, 所以最近为了进行测试验证.
所以准备启用一套集群版本的nacos集群进行测试兼容性验证
注意为了方便灵活,本次使用一台虚拟机进行集群的验证.
仅是验证集群的兼容性之的能力,而不是验证集群的高可用.
第一步: 资源下载
2022-12时最新版本的Nacos是2.2的版本
https://github.com/alibaba/nacos
可以直接从github上面下载对应的tar包.
注意里面不带jdk, 需要使用环境单独的jdk进行相应的处理.
第二步: 数据库初始化
创建一个mysql的数据库.
mysql -uroot -p
登录
create database nacos ;
设置对应的数据库用户密码等:
create user 'nacos'@'%' identified with mysql_native_password by 'Testxxxxxxxx';
grant all on nacos.* to 'nacos'@'%' ;
然后执行相关的命令:
mysql -unacos -p -Dnacos </nacoscluster/nacosxxxx/conf/mysql-schema.sql
创建对应的数据库
第三步: 参数文件修改
注意主要修改两个配置文件:
位置: /nacos/conf
第一个:
复制cluster.conf.example 改为 cluster.conf
修改最后的IP列表
127.0.0.1:8845
127.0.0.1:8847
127.0.0.1:8849
# 注意最后要修改成外部IP地址 127 好像不行.
第二个:
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.0=nacos
db.password.0=Testxxxxx
# 注意需要修改掉注释
# 注意需要严格数据库实例的用户密码等信息.
第四步: 编写nginx的配置
worker_processes 2;
user root ;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
gzip on;
access_log off;
client_max_body_size 3072m;
client_header_buffer_size 64k;
large_client_header_buffers 4 64k;
client_body_buffer_size 100m;
gzip_buffers 16 8k;
proxy_buffer_size 1024k;
proxy_buffers 4 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
keepalive_timeout 6000;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
proxy_connect_timeout 600s;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
server_tokens off;
upstream nacos{
ip_hash;
server 127.0.0.1:8845 ;
server 127.0.0.1:8847 ;
server 127.0.0.1:8849 ;
}
server {
listen 8848;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://nacos ;
}
}
}
第五步: 编写启动脚本
ps -ef |grep nacos |awk '{print $2}'|xargs kill -9
sleep 3
dir=`pwd`
cd $dir/nacos8845/bin
nohup ./startup.sh &
cd $dir/nacos8847/bin
nohup ./startup.sh &
cd $dir/nacos8849/bin
nohup ./startup.sh &
lsof -i:8848 |awk '{print $2}'|xargs kill -9
sleep 3
cd $dir/nginx
./nginx -c $dir/nginx/nacos.conf
第六步: 进行应用连接验证
需要springboot的 application.yaml配置文件进行处理.