Spring Boot连接Redis哨兵集群的原理如下:
1 Spring Boot使用Jedis客户端连接Redis哨兵集群。Jedis是一个Java Redis客户端,它支持连接Redis哨兵集群。
2 Jedis客户端会向Redis哨兵集群发送SENTINEL get-master-addr-by-name命令,获取当前Redis主节点的IP地址和端口号。
3 Jedis客户端会使用获取到的IP地址和端口号连接Redis主节点,并发送PING命令测试连接是否正常。
4 如果连接正常,Jedis客户端会将连接信息保存在连接池中,以便后续使用。
5 如果连接失败,Jedis客户端会向Redis哨兵集群发送SENTINEL get-master-addr-by-name命令,获取新的Redis主节点的IP地址和端口号,然后重复步骤2-4。
6 如果Redis主节点发生故障,Redis哨兵会自动将从节点升级为主节点,并通知Jedis客户端更新连接信息。
总之,Spring Boot连接Redis哨兵集群的原理是通过Jedis客户端向Redis哨兵集群发送命令获取当前Redis主节点的IP地址和端口号,然后使用获取到的信息连接Redis主节点。如果连接失败,Jedis客户端会重新获取新的Redis主节点的IP地址和端口号,直到连接成功为止。如果Redis主节点发生故障,Redis哨兵会自动将从节点升级为主节点,并通知Jedis客户端更新连接信息。
1、修改docker服务器配置文件
vim /usr/lib/systemd/system/dockerservice
将ExecStart这一行后面加上 -H tcp://0000:2375 -H unix:///var/run/dockersock,改完后如下所示:
ExecStart=/usr/bin/dockerd -H tcp://0000:2375 -H unix:///var/run/dockersock
2、保存后退出,重新加载配置文件并重启docker
systemctl daemon-reload && systemctl restart docker
3、查看docker监听的端口是否已开启
netstat -anp|grep 2375
若无信息输出代表未开启,如上图代表已开启
4、查看远程API信息
curl 127001:2375/info
若无信息输出代表docker远程API开启失败,如上图代表已开启成功
5、在本机windows系统环境变量中新建DOCKER_HOST,值为tcp://xxxxxxxxxxxx:2375,(你改成你自己的docker服务器ip地址)
6、maven项目工程main目录下新增/docker/Dockerfile文件,同时需要将springboot配置文件中的IP改为docker服务器IP。
FROM java
VOLUME /tmp
ADD microservice-discovery-eureka-001-SNAPSHOTjar /appjar
EXPOSE 8082
ENTRYPOINT ["java","-Djavasecurityedg=file:/dev//urandom","-jar","/appjar"]
7、maven项目工程修改pom文件,build下新增插件:
<plugin>
<groupId>comspotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0413</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<imageName>eureka</imageName>
<dockerDirectory>${projectbasedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${projectbuilddirectory}</directory>
<include>${projectbuildfinalName}jar</include>
</resource>
</resources>
</configuration>
</plugin>
8、执行指令打包镜像推送到docker服务器
mvn clean package docker:build
eclipse中maven继承没有索引:
原因:应该是maven自动下载index组件的功能没有开启,查看
这一步很重要:
"Window"
--> "Preferences" and choose Maven in the left side勾选Download repository index updates on
startup
解决:
"Window" ---> "Show View" ---> "Maven Repositories" ---> "Global
Repositories"
选择 "central" click right and "Update Index"解决问题。
问题产生如下:
因为单位使用了过滤,访问Internet时,超过10M的内容就拒绝。
因为maven插件在初始时,需要下载Maven的index文件,这个文件比较大,有38M多,下载不成功。
所以造成使用Maven添加依赖项时(Add Dependency)时,没有提示项目可用,并且在Console中,输出:
Unable to update index for central|>
决办法,手动下载索引文件,本地模拟部署中央仓库,更新索引后,关闭本地模拟部署中央仓库
1、首先手动去官网下载这两个文件,
>
[html] view plain copy
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network
|
<proxy>
<id>optional</id>
<active>true</active>
<protocol>>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxyhostnet</host>
<port>80</port>
<nonProxyHosts>localnet|somehostcom</nonProxyHosts>
</proxy>
-->
<proxy>
<id>optional</id>
<active>true</active>
<protocol>>
<host>localhost</host>
<port>8080</port>
</proxy>
</proxies>
4、在Eclipse中,更新setting文件,打开 Maven Repositories 面板,在 Global Repositories --> central 项上,点右键,Rebuild Index 即可。
注意: 如果发现索引没有更新,请检查是否开启了启动eclipse自动更新索引。
"Window" ---> "Show View" ---> "Maven Repositories" ---> "Global
Repositories"
选择 "central" click right and "Update Index"解决问题。
然后再次Rebuild Index 或者重启eclipse。
5、移除之前在 hosts 文件中添加的内容。
6、(可选)把Properties中Maven项的 Download repository index updates on starup 选项去除。
需要手动安装IKAnalyzer jar包到本地maven仓库
1进入到你的本地仓库,手动创建一个文件夹repository/com/lucene/
2把ikAnalyzer-2012FF_u1jar包放到文件夹下
3命令窗口执行:
mvn install:install-file -Dfile=D:\SSHTools\repository_sshzip\repository_ssh\com\lucene\IKAnalyzer2012FF_u1jar -DgroupId=comlucene -DartifactId=ikAnalyzer -Dversion=2012FF_u1 -Dpackaging=jar -DgeneratePom=true
4在你的pomxml中导入
<dependency>
<groupId>comlucene</groupId>
<artifactId>ikAnalyzer</artifactId>
<version>RELEASE</version>
</dependency>
最后就ok了
tomcat 启动maven项目失败
maven的日志在哪里看_听说你还不会在服务器上部署项目?看这一篇文章就够了

weixin_39664995
关注
1点赞·1792人阅读
作为一名资深(fu xiu)的程序猿来说,一直不想向IDEA低头可能是我对MyEclipse最大的尊重。最近利用SSM框架搭建了一个项目后台。但是由于开发人员并不能处于同一个局域网中,于是将后台需要部署到公网服务器中。但是与普通的javaweb项目不同的是该项目是一个基于maven的多模块工程。其实刚开始笔者一直在担心不知如何部署,在网上搜到的资料也是零星半点。通过网上的一些思路,加上自己半天的摸索,终于将后台成功部署到服务器上。下面就具体讲解一下如何部署maven多模块工程到公网服务器上。PS:笔者服务器选用某云服务器(服务器只要是公网运行的就可以了!)
1、对maven项目进行打包,文件格式为war包
我们在使用SSM框架进行构建项目的时候, 父工程的打包方式是pom,common工程的打包方式是jar,主要的项目工程是我们的聚合工程,打包方式是pom, 聚合工程中又包括dao、pojo、interface、service、web工程,其中前四个打包方式都为jar,web工程的打包方式为war,那么我们的思路就很清晰了——就是将web工程打包出来。下图给出项目文件的整体架构图。
项目结构图
对父工程、common工程、项目工程文件进行安装,安装方法就是对工程进行右键---> Run as ---> Maven install, *** 作过程如下图所示:
安装maven项目
如果项目没有同步更新的话,在这一步可以对项目行update,具体 *** 作过程可以见下图。
更新maven项目
安装成功后在console框中可以看到安装成功之后的war包的路径,如下图所示。
war包所在文件夹
从计算机中打开这个路径,就会看到一个web工程的war包,我们可以记住这个路径,然后登陆上我们的云服务器。项目需要部署到tomcat容器中,因此需要在服务器上安装tomcat容器,运行tomcat的前提还是需要保证服务器上具有jdk环境。因此还需要在服务器上安装jdk,安装jdk以及tomcat容器的步骤实质非常简单,配置环境变量的步骤稍稍有些复杂,如果有不清楚的读者还不清楚怎么安装,可以自行百度或者评论留言,如果有必要我也会一步一步地将安装过程整理成一个帖子发出来。
打包后的war文件
在此假设我们的服务器已经有了jdk环境以及tomcat容器。将我们上步的war包通过文件上传工具上传到我们的服务器环境,然后进入服务器中的tomcat安装包中。
tomcat安装包
将上传到服务器的war包复制到tomcat的webapps目录下(使用cp命令进行复制),复制之后的结果如下图所示:
复制成功自动解压文件
我们退回到启动bin目录下,也可以直接输入命令(这种需要我们对tomcat的安装包目录比较熟悉后使用),启动之后我们可以查看tomcat的启动日志
//启动tomcat的命令 进入bin目录下 运行startupsh文件(假设我们目前在webapps目录下)/bin/startupsh//查看tomcat启动日志的命令(假设在webapps目录下)tail -f /logs/catalinaout
登录后复制
看到如下的结果说明我们的tomcat启动成功:
tomcat启动成功
在浏览器中验证服务是否正常启动后台,在地址栏中输"公网ip:端口号(默认8080,可以自行设置端口80)/ 工程名/ controller文件下请求的路径",成功如下图所示。写到这里,说明我们的后台服务已经能够正常启动,相对于一个前后端分离的项目,日后我们只需对后台进行维护和添加相应的服务,前端可以根据自己的需求进行请求服务,不受距离限制,保证网络即可。在整个配置过程中笔者还遇到一些其他的问题,但都不是很难受的问题,只要我们认真看启动日志,就能够解决一多半的问题。在此期间我遇到一个无法连接jdbc的问题,问题描述很清晰:"can‘t not connect the jdbc"。遇到这种问题首先很容易想到是不是网络问题,但是对于本项目而言,数据库是使用的公网的oracle数据库,同一个服务器上的应该不存在这种问题,想想既然会在同一台机器那么我们是不是可以使用localhost或者127001这种连接地址进行连接数据库(因为数据库相对于服务器来说应该说是本地环境),但是试了一下发现还是不可以,但是我觉得我想的道理应该没错,可能受于云服务器的安全限制。于是我又改回来原来的ip。使用本地服务器连接公网数据库,发现还是同样的错误,于是我就想到了公网的数据库很有可能没有跑起来,再然后我去服务器上查看oracle的进程以及端口都没有开启监听,使用navicat for oracle连接数据库都显示没有开启监听问题,这种更加确定了问题的所在--数据库没有启动。于是在服务器上又开始开启数据库,由于第一次在云服务器上 *** 作oracle数据库显然也是遇到了许多困难,对一些命令不熟悉不知道如何开启监听,也害怕哪个命令会搞坏这个东西,但最终还是摸索开启了数据库(如果大家这部分还有疑问的话可以评论留言,我有空还是会把这部分的经验步骤写出来,虽然不可能面面俱到的讲解,但起码我们有了解决问题的能力!),最终数据库连接成功。至此mavne多模块项目也就成功部署到了云服务器上!
浏览器验证成功
如果这篇经验贴对您有帮助或者有点启发,那么笔者写这么多的内容也算没有白费,请您一定不吝点赞或者评论,有问题我们可以一起解决!
maven的日志在哪里看
myeclipse部署tomcat
tomcat 启动maven项目失败
tomcat 部署war 访问路径去掉war包名
微服务项目怎么部署到服务器上
怎么把部署到服务器上
二手进口功放机,正品保证!
精选推荐
广告

如何将项目部署到服务器上(全套教程)
4934阅读·4评论·5点赞
2022年7月31日
JavaWeb - Maven基础
86阅读·0评论·1点赞
2019年10月8日
linux 执行maven项目jar包,并指定日志路径
597阅读·0评论·0点赞
2022年10月2日
maven项目打包部署到虚拟机测试和生产环境上及查看日志 *** 作
2826阅读·0评论·0点赞
2018年4月27日
Maven项目配置Log日志
2551阅读·0评论·1点赞
2019年8月8日
maven的日志在哪里看_SpringBoot统一日志处理原理
1541阅读·0评论·0点赞
2020年11月20日
功放机什么牌子好 功放机选购攻略分享

精选推荐
广告
maven的log日志文件的配置
10W阅读·6评论·1点赞
2019年4月7日
Maven错误日志:Maven简介、使用过程、注意事项、错误解决方案
232阅读·0评论·0点赞
2022年5月4日
Maven 项目添加Log日志
5225阅读·0评论·1点赞
2018年11月29日
maven 调试日志的命令
199阅读·0评论·1点赞
2022年9月6日
maven的日志在哪里看_日志管理领域研究现状(2)
256阅读·0评论·0点赞
2020年11月5日
maven的日志在哪里看_搭建私有Sentry日志收集系统并集成到springboot
182阅读·0评论·0点赞
2020年10月18日
idea maven项目日志配置
3714阅读·0评论·0点赞
2017年7月14日
logback修改日志内容_巧用maven profile动态修改logback日志目录
323阅读·0评论·0点赞
2020年11月28日
idea中查看maven信息
2252阅读·0评论·0点赞
2021年8月27日
log4j配置
92阅读·0评论·0点赞
2020年9月15日
maven工程引入日志
398阅读·0评论·0点赞
2021年7月5日
eclipse中maven项目配置日志输出
8985阅读·0评论·3点赞
2016年11月22日
maven插件日志保存处理
650阅读·0评论·1点赞
2019年2月20日
maven学习日志之一 Maven概念
1302阅读·0评论·0点赞
2016年8月17日
去首页
看看更多热门内容
以上就是关于springboo连接redis哨兵集群原理全部的内容,包括:springboo连接redis哨兵集群原理、dockermaven插件可以windows打包吗、eclipse中maven继承怎么没有索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)