02_Nacos Server环境搭建
单机模式:
官方文档: https://nacos.io/zh-cn/docs/deployment.html
下载安装包
下载地址:https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz
解压,进入nacos目录,单机模式启动nacos:
#单机模式启动nacos
bin/startup.sh ‐m standalone
也可以修改默认启动方式:
访问nacos的管理端:http://192.168.65.103:8848/nacos ,默认的用户名密码是 nacos/nacos
集群模式:
官网文档: https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
环境准备:
需要在linux机器中安装JDK,下载linux的jdk安装包,请自行下载。
使用windows自带的ssh工具:
windows手动安装ssh工具:
Win10桌面->右键菜单->显示设置->左上角,主页->应用->可选功能
安装的路径是:C:\Windows\System32\OpenSSH其中,里面有默认是配置文件C:\Windows\System32\OpenSSH\sshd_config_default拷贝sshd_config_default,重命名为sshd_config,修改以下两个参数:PermitRootLogin yes
PasswordAuthentication yes
将该安装路径添加到系统环境变量中:
使用管理员身份打开cmd窗口,开启sshd
net start sshd
验证ssh服务是否安装成功:
在linux机器中jdk环境:
连接远程服务器命令:
# ssh 用户名@ip:远程登录服务器 ssh root@192.168.3.100
上传本地文件到服务器命令:
scp 本地文件路径 用户名@ip:上传路径
scp E:\jdk-8u171-linux-x64.tar.gz root@192.168.3.100:/opt
创建jdk的安装目录[-p]表示若不存在就创建目录确保目录存在:
mkdir -p /usr/local/jvm
解压jdk-8u171-linux-x64.tar.gz安装包并copy到目录/usr/local/jvm下:
cd /etc/opt tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/jvm
将jdk添加到环境变量:
vim /etc/profile
在最前面添加:
export JAVA_HOME=/usr/local/jvm/jdk1.8.0_171 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
执行profile文件使其生效:
source /etc/profile
检查新安装的jdk是否安装成功:
java -version
nacos集群搭建:
官网文档: https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
准备三台centos7服务器:
192.168.3.100 192.168.3.101 192.168.3.102
注意:在单台服务器上搭建伪集群不能使用连续端口号(比如8848,8849,8850), 因为使用8848(grpc会占用9848,9849),8849(grpc会占用9849,9850),会导致端口冲突。
原因:Nacos2.x版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成。
如默认情况下,指定服务端8848端口会占用以下端口:
9848端口:客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849端口:服务端gRPC请求服务端端口,用于服务间同步等
将下载的nacos安装包上传到服务器:
scp D:\IdeaProjects\SpringCloudAlibaba\nacos-server-2.1.0.tar.gz root@192.168.3.100:/opt
创建nacos安装路径:
mkdir -p /usr/local/nacos
将nacos解压到指定目录文件:
tar -zxvf nacos-server-2.1.0.tar.gz -C /usr/local/nacos
mysql中创建nacos数据库,数据库脚本在下载的nacos安装包下:
D:\IdeaProjects\SpringCloudAlibaba\nacos\conf\nacos-mysql.sql
修改conf/application.properties的配置,使用外置数据源:
#*************** 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://192.168.3.174:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=123
将conf/cluster.conf.example改为cluster.conf,添加节点配置:
mv conf/cluster.conf.example conf/cluster.conf vim conf/cluster.conf # ip:port 192.168.3.100:8848 192.168.3.101:8848 192.168.3.102:8848
分别启动三个节点上的nacos,进入nacos目录,启动nacos:
#启动nacos
bin/startup.sh
下载日志文件到本地查看查看nacos启动日志:
scp root@192.168.3.102:/usr/local/nacos/nacos/logs/nacos.log D:\nacos.log
访问nacos管理界面http://192.168.3.102:8848/nacos用户名和密码都是nacos:
过程中可能会遇到的问题:
mysql数据库连接不上:
# 安装telnet模块 尝试数据库是否可以连接 yum install telnet telnet-server -y telnet 192.168.3.174 3306
表示mysql连接没问题,5秒内无操作所有自动关闭了连接。
windows下开放本地数据库3306端口号,参考文章:
https://blog.csdn.net/weixin_43296313/article/details/127996612
赋予mysql数据库远程连接授权:
mysql -uroot -p
登录到数据库,并赋予权限:
USE mysql; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; FLUSH PRIVILEGES;
查看数据库Host栏是否有%表示任意host可连接:
SELECT user,host,password FROM mysql.user;
需注意的问题:
尽量不要使用localhost或127.0.0.1,若有该方面要求,针对多网卡环境,nacos可以指定网卡或ip:
#多网卡选择 #ip‐address参数可以直接设置nacos的ip #该参数设置后,将会使用这个IP去cluster.conf里进行匹配,请确保这个IP的值在cluster.conf里是存在的 nacos.inetutils.ip‐address=192.168.3.102 #use‐only‐site‐local‐interfaces参数可以让nacos使用局域网ip,这个在nacos部署的机器有多网卡时很有用,可以让nacos选择局域网网卡 nacos.inetutils.use‐only‐site‐local‐interfaces=true #ignored‐interfaces支持网卡数组,可以让nacos忽略多个网卡 nacos.inetutils.ignored‐interfaces[0]=eth0 nacos.inetutils.ignored‐interfaces[1]=eth1 #preferred‐networks参数可以让nacos优先选择匹配的ip,支持正则匹配和前缀匹配 nacos.inetutils.preferred‐networks[0]=30.5.124.
如果内存不够,可以调整jvm参数:
#修改启动脚本
vim bin\startup.sh
修改JVM启动参数:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"