首页 > 其他分享 >nacos 单机3节点 集群env

nacos 单机3节点 集群env

时间:2023-08-15 17:03:03浏览次数:32  
标签:OPT bin JAVA supervisord 单机 nacos env opt

 

集群中包含 3 个 Nacos Server 节点,两个 Proxy 主备节点,Mysql 数据库主备

这里仅记录Nacos的安装

Nacos节点服务器
节点

IP

端口

Nacos1

172.17.10.21

8858 (默认 8848)

Nacos1

172.17.10.22

8858 (默认 8848)

Nacos1

172.17.10.23

8858 (默认 8848)

Nacos 集群配置安装
JAVA环境安装:
#安装JDK8
yum install java-1.8.0-openjdk*

#配置环境
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin

#环境生效
source /etc/profile

创建数据库并导入表:
#创建数据库
CREATE DATABASE nacos DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
use nacos;
#导入数据表
source /opt/nacos/conf/nacos-mysql.sql

#授权用户
CREATE USER 'nacos'@'172.17.%' IDENTIFIED BY 'nacospassword';
GRANT ALL ON nacos.* TO 'nacos'@'172.17.%';
配置集群配置文件:
cp /opt/nacos/conf/cluster.conf.example /opt/nacos/conf/cluster.conf
vim /opt/nacos/conf/cluster.conf
172.17.10.21:8858
172.17.10.22:8858
172.17.10.23:8858
应用、属性配置:
#忽略一些默认配置,如需配置其他参数可参开githup上的配置
vim /opt/nacos/conf/application.properties
server.port=8858
nacos.inetutils.ip-address=本地监听地址(更改为自己的IP),我的机器是2个网卡都有IP所以指定了监听IP

#*************** 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://172.17.10.45:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos
db.password.0=nacospassword
启动文件配置:
vim /opt/nacos/bin/startup.sh
# JVM Configuratio
if [[ "${MODE}" == "standalone" ]]; then
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
if [[ "${EMBEDDED_STORAGE}" == "embedded" ]]; then
JAVA_OPT="${JAVA_OPT} -DembeddedStorage=true"
fi
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"

fi
同步nacos配置
scp -r nacos 172.17.10.22:/opt/
scp -r nacos 172.17.10.23:/opt/
启动服务
[root@nacos1 bin]# ./startup.sh
[root@nacos2 bin]# ./startup.sh
[root@nacos3 bin]# ./startup.sh
默认的用户密码: nacos/nacos 访问地址:http://ip:8858

 

 

Supervisor管理Nacos服务
安装supervisor
yum -y install python3-pip
pip3 install supervisor

#验证安装结果
echo_supervisord_conf #输出配置信息则安装成功

#创建工作/配置目录
mkdir -p /etc/supervisor/conf.d
生成配置文件:

echo_supervisord_conf > /etc/supervisor/supervisord.conf
修改supervisor配置
[unix_http_server]
file=/var/run/supervisor.sock
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock

#解开注释行并配置files,其他参数 如 log pid 等配置可选修改自行修改为自己定义的目录
[include]
files = /etc/supervisor/conf.d/*
配置管理Nacos
[program:nacos-cluster] ;项目名称
command=sh bin/startup.sh ;项目启动命令
directory=/opt/nacos ;项目目录,启动前切换目录
numprocs=1
autostart=true
autorestart=true
startsecs=30
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=10
user=root ;这个用户需要更改为普通用户,nacos相关的目录的属主属组也需要指定普通用户
redirect_stderr=true
killasgroup=true
stopasgroup=true
stderr_logfile=/opt/nacos/logs/supervisor.err.log
stdout_logfile=/opt/nacos/logs/supervisor.out.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=5
stdout_capture_maxbytes=1MB
environment=JAVA_HOME=/usr/lib/jvm/java
更改nacos startup.sh
if [[ "$JAVA_OPT_EXT_FIX" == "" ]]; then
#nohup "$JAVA" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
"$JAVA" ${JAVA_OPT} nacos.nacos
else
#nohup "$JAVA" "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
"$JAVA" "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos
fi
启动supervisor
#先关闭个个节点的nacos
cd /opt/nacos/bin/ && sh shutdown.sh
#启动supervisor
supervisord -c /etc/supervisor/supervisord.conf
查看状态:
supervisorctl status
nacos-cluster RUNNING pid 16691, uptime 0:05:25

加入开机自启
vim /lib/systemd/system/supervisord.service
#配置信息
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl shutdown
ExecReload=/usr/local/bin/supervisorctl reload
killMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
[root@nacos1 bin]# systemctl enable supervisord
Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service.
[root@nacos1 bin]# systemctl start supervisord
[root@nacos1 bin]# systemctl status supervisord
● supervisord.service - Process Monitoring and Control Daemon
Loaded: loaded (/usr/lib/systemd/system/supervisord.service; enabled; vendor preset: disabled)
Active: active (running) since 一 2022-08-08 17:29:22 CST; 4s ago
配置Nginx代理:
# nacos proxy
upstream nacoscluster {
server 172.17.10.21:8858;
server 172.17.10.22:8858;
server 172.17.10.23:8858;
}

server {
# 监听端口
listen 8847;
server_name localhost;


# 路由匹配规则
location /nacos/ {
proxy_pass http://nacoscluster/nacos/;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect http:// $scheme://;
}
}

标签:OPT,bin,JAVA,supervisord,单机,nacos,env,opt
From: https://www.cnblogs.com/ruiy/p/17631796.html

相关文章

  • Nacos2 + Mysql8 作为数据源的建表语句
    在MySQL中创建nacos用户,MySQL创建名为Nacos的Schema,并授权nacos用户可以访问。语句如下:mysql>createuser'nacos'@'%'identifiedby'password';mysql>createschemanacos;mysql>grantALLonnacos.*to'nacos'@'%';或者直接新建一个n......
  • nacos集群部署
    准备nacos一般集群需要至少3个节点。我们先准备3台机器: 192.168.11.200、192.168.11.196、192.168.11.126nacos的默认服务端口是8848,但是由于我们的机器上还有其他nacos服务正在作用,所以,我们这里把端口改为8748,如下:192.168.11.200:8748192.168.11.196:8748192.168.11.......
  • 2-04-Nacos配置管理-配置热更新-not practice
    所谓的热更新共有两种实现方式1.@Value+@Refresh针对单一类的配置热更新2.@ConfigurationProperties+@Autowired,针对所有类的配置热更新......
  • 2-05-Nacos配置管理-多环境配置共享-not practice
    单环境配置文件-${spring.application.name}-${spring.profiles.active}.yaml多环境配置文件-${spring.application.name}.yaml配置优先级:${spring.application.name}-${spring.profiles.active}.yaml>-${spring.application.name}.yaml>本地.yaml怀疑-待测:远程的两个可能......
  • virtualenvwrapper 使用流程
    virtualenvwrapper使用流程virtualenvwrapper基于virtualenv,可以更方便的管理Python虚拟环境,virtualenvwrapper-win依赖于virtualenv,所以也要安装virtualenv。需要注意的是,virtualenvwrapper在Windows系统中只能通过cmd才能正常使用一、安装virtualenvwrapper-win......
  • springboot整合nacos和dubbo
    0.源码源码:gitee1.版本java:1.8.0_281nacos:2.1.22.创建项目创建一个简单的springboot或者maven项目,或者代码库(gitee/github/其他代码库管理平台)创建一个空白的拉下来,最后只保留一个pom.xml即可.2.1根项目依赖版本控制参考:版本说明其中有一句话Spring......
  • Nacos源码 (3) 注册中心
    本文将从一个服务注册示例入手,通过阅读客户端、服务端源码,分析服务注册、服务发现原理。使用的2.0.2的版本。客户端创建NacosNamingService对象NacosNamingServicenacosNamingService=newNacosNamingService(NACOS_HOST);NacosNamingService提供两个构造方法:publicNac......
  • 【原】无脑操作:基于CentOS 7.9搭建国产数据库 南大通用GBase 8a 单机环境
    CentOS7.9 环境的安装不再赘述,不清楚可以参看之前的文章:https://www.cnblogs.com/iflytek/p/14403664.html 1、准备GBase8a的安装包:GBase8a-NoLicense-Free-8.6.2_build43-R7-redhat7.3-x86_64.tar.bz2 2、创建gbase用户、并设置密码(密码规则:长度多于8位的字母+数字)use......
  • nacos 使用 MySQL8.x 出现 Nacos No DataSource set异常解决
    http://www.taodudu.cc/news/show-6345954.html?action=onClick nacos使用MySQL8.x出现NacosNoDataSourceset异常解决注:当前版本nacos2.1.0 1、nacos默认室mysql5.7当链接mysql8.x,会出现异常【NacosNoDataSourceset】解决:在nacos安装目录下新建plugins/mysql文......
  • 2-03-Nacos配置管理-微服务配置拉取
    增加nacos对应依赖增加bootstrap配置文件并迁移配置[应用名称-环境-文件后缀(用于组装出对应的dataID)以及nacos地址]清理application中重复的配置......